相关参数:https://www.cnblogs.com/xiaotan-code/p/6680438.html
步骤:
1、 数据集处理
2、 分割数据集
3、 对数据集进行标准化
4、 算法进行分类预测
算法实现:
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
iris=datasets.load_iris()
X=iris.data
y=iris.target
x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.3)
knn=KNeighborsClassifier(n_neighbors=10,weights='distance')
knn.fit(x_train,y_train)
y_predict=knn.predict(x_test)
print("准确率:",knn.score(x_test,y_test))
问题:
1、 k值(交叉验证,调参)
太小,容易受异常点影响
太大,容易受k值数量类别波动
2、 性能问题:速度慢,时间复杂度高
优点:
无需参数估计,无需训练,