📅  最后修改于: 2023-12-03 15:17:11.238000             🧑  作者: Mango
K最近邻居(K-Nearest Neighbors,简称KNN)是一种常用的机器学习算法,它被广泛使用于分类和回归问题中。
在分类问题中,KNN的作用是根据已知的样本数据,对新输入的样本进行分类。算法的基本思想是:给定一个新的样本,KNN算法会在已有的样本数据中,找到与该样本最相似的K个样本,然后将新样本分类为这K个样本中出现最多的类别。
在回归问题中,KNN的作用是预测连续性变量。算法的基本思想是:给定一个新的样本,KNN算法会在已有的样本数据中,找到与该样本最相似的K个样本,然后将新样本预测为这K个样本的平均值。
from sklearn.neighbors import KNeighborsClassifier
# KNN分类
X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y)
print(neigh.predict([[1.1]])) # 输出:[0]
# KNN回归
from sklearn.neighbors import KNeighborsRegressor
X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
neigh = KNeighborsRegressor(n_neighbors=3)
neigh.fit(X, y)
print(neigh.predict([[1.5]])) # 输出:[0.66666667]
在使用KNN算法时,一般需要设置以下参数:
KNN算法广泛应用于各种分类和回归任务中,常用于如下领域:
KNN算法的优点包括:
KNN算法的缺点包括: