python-k近邻分类器-KNN

  1. K近邻分类器,通过计算待分类数据点,与已有数据集点的所有数据点的距离。取距离最小的前K个点,根据“少数服从多数”的原则,将这个数据点划分为出现次数最多的那个类别。
  2. sklean库s,可以使用sklean.neighbors.KNeighborsClassiffier创建k近邻分类器
  3. 主要参数:
  • n_neighbors:指定K的大小(默认为5)
  •  weights:设置选中k个点对分类结果影响的权重(默认为uniform,可以选择disance代表越近的点权重越高,或者传入自己编写的以距离为参数的权重计算函数)。
  •   algorithm:设置用于计算临近点的方法,因为当数据量很大的情况下,计算当前点和所有点的距离 在选择出最近的k的各点,这个计算量很大,所以选项中有ball_tree,kd_tree, brute,分别代表不同的寻找邻居的优化算法,默认为为auto,根据训练数据自动选择。

from sklearn.neighbors import  KNeighborsClassifier
x=[[0],[1],[2],[3]]#数据x和对应的标签y
y=[0,0,1,1]

neigh=KNeighborsClassifier(n_neighbors=3)
neigh.fit(x,y)

print(neigh.predict([[1.1]]))

#k的取值:大或者小都可能不能达到期望结果。一般情况会倾向于选择较小值,然后通过交叉验证选取最优值。

 

你可能感兴趣的:(机器学习)