K最近邻算法学习(2)

本文探讨了K最近邻(KNN)算法在处理多元分类任务中的表现,通过实例展示KNN在5个类别数据集上的正确率为0.96,证明其在多类别问题中仍保持良好性能。同时,进行了KNN回归分析,通过调整n_neighbors参数为2,观察到模型评分提升,准确率增加,模型效果显著改善。
摘要由CSDN通过智能技术生成

KNN算法处理多元分类任务

下面来测试KNN算法在类型有多个的时候的性能,下面的测试是用有5个类别的数据集来测试的。

from sklearn.datasets import make_blobs
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
#构建数据集
data = make_blobs(n_samples=500,centers=5,random_state=8)
X,y = data
#训练模型
clf = KNeighborsClassifier()
clf.fit(X,y)
#画图
x_min,x_max = X[:,0].min()-1,X[:,0].max()+1
y_min,y_max = X[:,1].min()-1,X[:,1].max()+1
xx,yy = np.meshgrid(np.arange(x_min,x_max,.02),np.arange(y_min,y_max,.02))
Z = clf.predict(np.c_[xx.ravel(),yy.ravel()])
z = Z.reshape(xx.shape)
plt.pcolormesh(xx,yy,z,cmap=plt.cm.jet)
plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.spring,edgecolor='k')
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt.title("MutliClassifier:KNN")
plt.show()
#模型评估
print("\n\n")
print("===========&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值