zoukankan      html  css  js  c++  java
  • KNN

    KNN算法也成为k-邻近算法,其是一种通过测量特征值之间的距离来进行的分类算法。

    KNN的工作原理:存在一个样本数 据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据 与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的 特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们 只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数。 最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。 

    需要特征是离散的,可以被表示为向量。

    步骤:

    1. 解析数据
    2. 分析数据,提取特征,去除异常数据
    3. 归一化数据,由于数据值域越大,越能影响结果,默认情况下我们需要让各特征具有一样的权重,所以需要将他们归一到相同的范围内。
      newValue=(oldValue-min)/(max-min)
    4. 测试算法

    KNN算法没有训练的过程,对于一个新的数据,直接在已有数据集中进行比较。可以用k-d Tree进行加速,不过当维度上万的时候,k-d Tree的计算成本也许会超过直接枚举。

  • 相关阅读:
    禁止ios10双指缩放
    使用uglifyjs压缩JS
    数组深拷贝的方法
    websocket具体如何使用
    订单支付倒计时-剩余时间xx小时xx分xx秒
    css--内凹圆角
    jQuery 演变史
    手机新闻网页
    [译文]此像素非彼像素,非彼像素
    函数有一个特殊的属性 prototype!
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/10096714.html
Copyright © 2011-2022 走看看