python最近邻分类器KNN算法

时间:2023-03-09 02:52:26
python最近邻分类器KNN算法

1. KNN算法

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。

K最近邻(k-Nearest Neighbor,KNN)分类算法的核心思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法可用于多分类,KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,作为预测值。

KNeighborsClassifier在scikit-learn 在sklearn.neighbors包之中。

KNeighborsClassifier使用很简单,三步:1)创建KNeighborsClassifier对象,2)调用fit函数,3)调用predict函数进行预测

from sklearn.neighbors import KNeighborsClassifier

X = [[0], [1], [2], [3], [4], [5], [6], [7], [8]]#data
y = [0, 0, 0, 1, 1, 1, 2, 2, 2]#target
neigh = KNeighborsClassifier(n_neighbors=3)#一,创建KNeighborsClassifier对象
neigh.fit(X, y)#二,调用fit函数,训练数据,建立模型

print(neigh.predict([[1.1]]))#三,调用predict函数进行预测
print(neigh.predict([[1.6]]))
print(neigh.predict([[5.2]]))
print(neigh.predict([[11]]))
print(neigh.predict([[2.6]]))