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



I . K-NN 简介


K-NN 简介 :


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

② 定义 : 给定查询点 p p p , 找出离 p p p 最近的 K K K 个点 , 找出所有的 q k q_k qk 点 , q k q_k qk 点的要求是 点到 p p p 的距离 小于其第 k k k 个邻居的距离 ;

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

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

在这里插入图片描述



II . K-NN 分类


K-NN 分类 :


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

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

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

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



III . K-NN 分类实例


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

在这里插入图片描述


1-NN 分类 : 此时 A A A 类别有 1 1 1 个 , B B B 类别有 0 0 0 个 , 红色点被分为 A A A 类别 ;

在这里插入图片描述


3-NN 分类 : 此时 A A A 类别有 1 1 1 个 , B B B 类别有 2 2 2 个 , 红色点被分为 B B B 类别 ;

在这里插入图片描述


9-NN 分类 : 此时 A A A 类别有 5 5 5 个 , B B B 类别有 2 2 2 个 , 红色点被分为 A A A 类别 ;

在这里插入图片描述


15-NN 分类 : 此时 A A A 类别有 5 5 5 个 , B B B 类别有 9 9 9 个 , 红色点被分为 B B B 类别 ;

在这里插入图片描述


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

在这里插入图片描述



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


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



V . 保持法


1 . 保持法 :


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

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

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


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


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



VI . k k k-交叉确认法


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


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


3 . 训练测试 :


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

② 训练测试过程 : i i i 次训练 , 使用 S i S_i Si 作为测试集 , 其余 ( k − 1 ) (k-1) (k1) 个子集作为训练集 ;


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


1 1 1 次训练 , 使用 S 1 S_1 S1 作为测试集 , 其余 ( k − 1 ) (k-1) (k1) 个子集作为训练集 ;
2 2 2 次训练 , 使用 S 2 S_2 S2 作为测试集 , 其余 ( k − 1 ) (k-1) (k1) 个子集作为训练集 ;
⋮ \vdots
k k k 次训练 , 使用 S k S_k Sk 作为测试集 , 其余 ( k − 1 ) (k-1) (k1) 个子集作为训练集 ;


5 . 准确率结果 :


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

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



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


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



VIII . 分类 判定 二维表


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


人判断正确人判断错误
机器判断正确ab
机器判断错误cd

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


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

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

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

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


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


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

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

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

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



IX . 准确率


1 . 准确率计算公式 :


P = a a + b P = \frac{a}{a + b} P=a+ba


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

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


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



X . 召回率


1 . 召回率计算公式 :


R = a a + c R = \frac{a}{a + c} R=a+ca


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

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


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



XI . 准确率与召回率关联


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


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

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



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


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


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


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

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



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


F 1 = 2 P R P + R F_1 = \frac{2PR}{P + R} F1=P+R2PR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值