KNN算法

发布于:2022-12-23 ⋅ 阅读:(510) ⋅ 点赞:(0)

一. KNN算法

1. 算法的原理–分类算法

邻居是什么样性质,类别,影响你,之所以成为了邻居,必然共性

image.png

  • 问题,请问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=1n(xiyi)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

    image.png

    • 这个距离表示远近方法
    • p = 1 曼哈顿距离
    • p = 2 欧式距离
    • 红色的线就是曼哈顿距离
    • 蓝色和黄色等价曼哈顿距离
    • 绿色线就是欧式距离
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到