一. KNN算法
1. 算法的原理–分类算法
邻居是什么样性质,类别,影响你,之所以成为了邻居,必然共性
- 问题,请问Xu这个点属于哪个类别呢?
- 三个类别:红色、绿色、蓝色
- 找Xu这个点的最近的5个邻居(5 == k,调大跳小)
- 从图中直观看到,4个最近邻居是红色,1个最近的邻居是绿色
- 人多力量大,投票决定,民主。4 > 1
- 对人而言,投票
- 对计算机而言,统计
- 0.8 > 0.2
- 从票数或者从概率上分类的话,得到这样的结论
- Xu属于红色的类别!
- KNN根据远近,进行类别划分的基本原理
KNN算法的理论基础就是:
- 欧式距离. d i s t a n c e A B = ∑ i = 1 n ( x i − y i ) 2 distance_{AB} = \sqrt{\sum_{i=1}^n(x_i - y_i)^2} distanceAB=i=1∑n(xi−yi)2
- 根据距离远近,选择邻居
- 物以类聚人以群分
2. KNN算法调用
from sklearn.neighbors import KNeighborsClassifier knn=KNeighborsClassifier(n_neighbors=5) knn.fit(X,y) knn.predict(X)
3. KNN超参数
邻居 n__neighbors=5
weights权重,话语权:uniform、distance
p = 1、2
- 这个距离表示远近方法
- p = 1 曼哈顿距离
- p = 2 欧式距离
- 红色的线就是曼哈顿距离
- 蓝色和黄色等价曼哈顿距离
- 绿色线就是欧式距离
本文含有隐藏内容,请 开通VIP 后查看