机器学习——KNN

这篇博客介绍了KNN(K-最近邻)算法的详细步骤,包括数据集处理、分割、标准化和分类预测。讨论了k值选择的重要性,指出k值太小可能受异常点影响,太大则会受类别波动影响。此外,还提到了KNN算法的性能问题,如速度慢和时间复杂度高。尽管如此,KNN的优点在于无需参数估计和训练,易于理解和实现。文章最后提到了交叉验证用于提高模型评估的准确性,以及网格搜索作为调参的方法。
摘要由CSDN通过智能技术生成

相关参数: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、 性能问题:速度慢,时间复杂度高

优点:
无需参数估计,无需训练,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值