I . K-NN 简介



K-NN 简介 :


① 全称 : K-NN 全称是 K-Nearest Neighbors , 即 K 最近邻 算法 ;

② 定义 : 给定查询点 pp , 找出离pp 最近的 KK 个点 , 找出所有的 qkq_k 点 , qkq_k 点的要求是 点到 pp 的距离 小于其第 kk 个邻居的距离 ;

③ 理解方式 : pp 点为圆心画圆 , 数一下圆内 , 和圆的边上的点是由有 KK 个 , 如果个数不足 KK 个 , 扩大半径 , 直到圆边上和园内的点的个数大于等于 KK 为止 ;

④ 图示 : 红色的点是 pp 点 , 绿色的点是 pp 点的 99 个最近的邻居 , 圆上的绿点是第 99 个最近的邻居 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )



II . K-NN 分类



K-NN 分类 :


① 已知条件 : 假设给定查询点 pp , 已经直到其 KK 个最近邻居 ;

② 分类内容 : K-NN 的目的是为了给查询点 pp 进行分类 ;

③ 数据集样本抽象成点 : 将训练集的数据样本 , 当做 nn 维空间中的的点 ;

④ 预测分类 : 给定一个未知样本 pp , 要给该位置样本分类 , 首先以该未知样本作为查询点 , 以 pp 点为中心 , 找到该样本的点在 nn 维空间中的 KK 个近邻 , 将这 KK 个近邻按照某个属性的值进行分组 , 该未知样本 pp 被分到样本最多的那个组 ;



III . K-NN 分类实例



为下面的红色点进行分类 : 有两种分类 , 绿色点的分类是 AA , 和 紫色点的分类是 BB , 为红点进行分类 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )


1-NN 分类 : 此时 AA 类别有 11 个 , BB 类别有 00 个 , 红色点被分为 AA 类别 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )


3-NN 分类 : 此时 AA 类别有 11 个 , BB 类别有 22 个 , 红色点被分为 BB 类别 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )


9-NN 分类 : 此时 AA 类别有 55 个 , BB 类别有 22 个 , 红色点被分为 AA 类别 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )


15-NN 分类 : 此时 AA 类别有 55 个 , BB 类别有 99 个 , 红色点被分为 BB 类别 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )


K-NN 分类 准确度 : 数据量越大 , 准确度越高 ; K-NN 的思想是与周围的大多数样本保持一致 ;

【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )



IV . K-NN 分类 准确性评估方法



K-NN 分类准确性评估方法 : 保持法 , kk-交叉确认法 , 这两种方法是常用的 K-NN 评估分类准确率的方法 ;



V . 保持法



1 . 保持法 :


① 训练集测试集划分 : 将数据集样本随机分成两个独立的数据集 , 分别是用于训练学习的训练集 , 和用于验证测试的测试集 ;

② 训练集测试集 样本比例 : 数据集划分比例 , 通常是 , 训练集 23\dfrac{2}{3} , 测试集 13\dfrac{1}{3} ;

③ 随机划分 : 划分一定要保证随机性 , 划分时不能有任何偏好 ;


2 . 随机选样法 : 执行 KK 次保持法 , 得到 KK 个准确率 , 总体的准确率取这 KK 次准确率的平均值 ;


3 . 随机选样法本质 : 保持法的另一种形式 , 相当于使用多次保持法 ;



VI . kk-交叉确认法



1 . kk-交叉确认法 : 首先要划分数据集 , 然后进行 kk 次训练测试 , 最后计算出准确率 ;


2 . 划分数据集 : 将数据集样本划分成 kk 个独立的子集 , 分别是 {S1,S2,,Sk}\{ S_1 , S_2 , \cdots , S_k \} , 每个子集的样本个数尽量相同 ;


3 . 训练测试 :


① 训练测试次数 : 训练 kk 次 , 测试 kk 次 , 每次训练都要对应一次测试 ;

② 训练测试过程 : ii 次训练 , 使用 SiS_i 作为测试集 , 其余 (k1)(k-1) 个子集作为训练集 ;


4 . 训练测试 示例 : 训练 kk 次 ;


11 次训练 , 使用 S1S_1 作为测试集 , 其余 (k1)(k-1) 个子集作为训练集 ;
22 次训练 , 使用 S2S_2 作为测试集 , 其余 (k1)(k-1) 个子集作为训练集 ;
\vdots
kk 次训练 , 使用 SkS_k 作为测试集 , 其余 (k1)(k-1) 个子集作为训练集 ;


5 . 准确率结果 :


① 单次训练测试结果 : kk 次测试训练 , 每次使用 SiS_i 作为测试集 , 测试的子集中有分类正确的 , 有分类错误的 ;

② 总体准确率 : kk 次测试后 , 相当于将整个数据集的子集 {S1,S2,,Sk}\{ S_1 , S_2 , \cdots , S_k \} 都当做测试集测试了一遍 , 将整体的数据集的样本分类正确的样本个数 YY , 除以整体的样本个数 TT , 即可得到 kk-交叉确认 准确率结果 YT\dfrac{Y}{T} ;



VII . K-NN 分类结果评价指标



K-NN 分类结果评价指标 : ① 准确率 , ② 召回率 ;



VIII . 分类 判定 二维表



1 . 分类 判定二维表 : 这里引入二维表 , 这个二维表表示 人 和 机器 , 对样本的判定情况 ;


人判断正确 人判断错误
机器判断正确 a b
机器判断错误 c d

2 . 样本分类正确性分析 :


① 样本分类的三种认知 : 样本实际的分类 , 人认为的分类 , 机器认为的分类 ;

② 样本的实际分类 : 样本的实际分类是 AA ;

③ 人的判断 : 人认为该样本分类是 AA , 说明人判定正确 , 人如果认为该样本分类为 BB , 说明人判断错误 ;

④ 机器的判断 : 机器认为该样本分类是 AA , 说明机器判定正确 ; 机器如果认为该样本分类为 BB , 说明机器判断错误 ;


3 . 表内数据含义 : 表格中的 a,b,c,da , b , c , d 值表示样本的个数 ; :


aa 含义 : 表示 人判断正确 , 机器判断正确 的样本个数 ; 数据集中人和机器同时分类正确的样本个数 ;

bb 含义 : 表示 人判断错误 , 机器判断正确 的样本个数 ; 数据集中人分类错误 , 机器分类正确的样本个数 ;

cc 含义 : 表示 人判断正确 , 机器判断错误 的样本个数 ; 数据集中人分类正确 , 机器分类错误的样本个数 ;

dd 含义 : 表示 人判断错误 , 机器判断错误 的样本个数 ; 数据集中人和机器同时分类错误的样本个数 ;



IX . 准确率



1 . 准确率计算公式 :


P=aa+bP = \frac{a}{a + b}


(a+b)(a + b) 是 机器 分类正确 的样本的总数 ;

aa 是人和机器都认为正确的样本个数;


2 . 准确率理解 : 机器分类正确的样本中 , 哪些是真正正确的样本 ; (a+b)(a + b) 是机器认为正确的样本 , 其中只有 aa 个样本是真正正确的 ;



X . 召回率



1 . 召回率计算公式 :


R=aa+cR = \frac{a}{a + c}


(a+c)(a + c) 是 人认为 分类正确 的样本的总数 ;

aa 是人和机器都认为正确的样本个数;


2 . 召回率理解 : 人认为分类正确的样本中 , 哪些是机器判定正确的 ; (a+c)(a + c) 是人认为正确的样本个数 , 机器认为正确的是 aa 个样本 ;



XI . 准确率与召回率关联



准确率 与 召回率 关系 : 这两个指标互相矛盾 ;


准确率 与 召回率 是互相影响的 , 准确率很高时 , 召回率很低 ;

准确率 100% 时 , 召回率很低 ; 召回率 100% 时 , 准确率很低 ;



XII . 准确率 与 召回率 综合考虑



1 . 准确率 与 召回率 综合考虑 :


F=1α1P+(1+α)1RF = \frac {1} { \alpha \dfrac{1}{P} + (1 + \alpha) \dfrac{1}{R} }


将准确率 与 召回率放在 上述公式中计算 , PP 是准确率 , RR 是召回率 ;

α\alpha 是一个系数 , 通常 α\alpha 取值 0.50.5 ;



2 . α\alpha 取值 0.50.5 时公式为 : 此时的度量指标叫做 F1F_1 值 , 这个值经常作为 K-NN分类结果的度量指标 , 即考虑了准确率 , 又考虑了召回率 ;


F1=2PRP+RF_1 = \frac{2PR}{P + R}

相关文章:

  • 2021-07-17
  • 2021-08-20
  • 2021-06-06
  • 2021-07-19
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
猜你喜欢
  • 2021-08-25
  • 2021-10-30
  • 2022-12-23
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
相关资源
相似解决方案