当前位置:首页>python>Python-20-K近邻模型(物以类聚)

Python-20-K近邻模型(物以类聚)

  • 2026-10-11 07:44:25
Python-20-K近邻模型(物以类聚)
K近邻模型,英文K-Nearest Neighbors。简称KNN模型。
作为机器的学习的模型之一,也是需要训练数据,然后再测试数据,它的数据“训练方式”跟其它模型不一样。
这个模型是将数据直接全部按特征保存起来。

KNN可视化(2个特征,2个结果)
假设这个数据的结果有两种类别1和0,它有两个特征值1和2(。KNN模型是直接将这组数据(如下图)保存起来了。使用这个模型进行预测是将新数据输入下图中的一点,但是它的类别的未知的,是我们所求的。
KNN的准确的翻译是K个最近的邻居。对于数据来说,你是谁,是由与你最近的K个人决定的,我们一般取K为单数,避免在做做分类问题的时候达成平手。K 一般不超过 √N(样本为100个时,K取10个进行尝试)。
这个算法的思想是取样本点与已知分类的点之间的距离,我们可以用欧氏距离,曼哈顿距离或者余弦相似度的方法,判断两者的相似性。
这里用的二维的散点图来进行理解KNN模型的思想,看最近邻居的情况来判断自己的情况。在实际的过程KNN输入的特征数超过3维,这么高纬度的图表不好可视化,这也是KNN的优势所在。
例子:
如果是用KNN做分类的问题,取最近的5个邻居的结果作为测试数据的判断标准,5个点中有3个列别1和2个是类别0,根据少数服从多数,这个新的样本点的数据为列别1.
如果是用KNN做预测型分析,同样也是参考最近的5个最近的邻居的数据(10,20,50,25,22),则新的样本的的数值为(10+20+50+25+22)/5=25.4。
总结:
这个模型的思路很有意思,我们的生活不也是这样么,我们由特种特征组成,不断地更新自己的状态,与我们相似的人在不停地变换。
需要进行表示列别的时候,少数服从多数。需要分配利益的时候,你大概率拿到的是平均值,这样不会有啥意见。
这哪是算法,这是智慧。也提醒我们要主要选择自己最亲近的人,要不可能会被平均地太厉害,或者带到沟里去。

Day 20
#Python, #数据挖掘,#KNN
好的算法是让计算机将生活的知识表达出来,提取规律。

最新文章

随机文章