参考文档
http://sklearn.apachecn.org/cn/0.19.0/modules/neighbors.html
最近邻属于机器学习中的分类,分类是由每个点的最近邻的简单多数投票中计算得到的。最近邻不会去构造一个泛化的内部模型,而是简单地存储训练数据的实例。
示例:
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
#k近邻分类(k表示以最近的几个邻居作为分类的指标)
#KNN表示了物以类聚人以群居的基本思考方法,最近的k个邻居是什么类别,预测样本就会被化为该类别
def knn_predict_rev(point):
# http://sklearn.apachecn.org/cn/0.19.0/modules/neighbors.html
#数据理解为二维坐标上的6个点
X = np.array([[1.0,2.0],[1,1.5],[0.5,1.5],[3.0,3.0],[3.0,3.5],[2.8,3.1]])
#6个点的类别,按顺序和X依次对应,[1.0,2.0]的类别是0,以此类推
Y = np.array([0,0,0,1,1,1])
#n_neighbors就是KNN中的k
knn = KNeighborsClassifier(n_neighbors=3)
#训练
knn.fit(X,Y)
print(knn.predict(np.array([[2.0,3.0]])))
if __name__ == '__main__':
knn_predict_rev('11')