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的计算成本也许会超过直接枚举。

  • 相关阅读:
    C#+API实现指定窗体激活
    DEVC++学习之(一)
    javascript 实现原生下载的各种情况
    IssueVision 之WebService安全篇
    Add relationship to BS sample
    ExpandRelationWithCtxt 与 GetRelatedObjects 的区别
    C#调用javascript
    解禁网页限制
    Unix cc options vs gcc options
    IssueVision 之模式篇
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/10096714.html
Copyright © 2011-2022 走看看