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

  • 相关阅读:
    python冲刺(5)列表声称式
    python冲刺(4)切片 等
    python冲刺(3)函数 等
    python冲刺(2)
    python冲刺(1)
    redis初步(1)
    php连接Oracle的时候遇到的编码集问题
    redis初步
    php 命名空间
    指向字符数组的指针与指向整型数组的指针
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/10096714.html
Copyright © 2011-2022 走看看