栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

机器学习入门(五)用KNN模型,预测某一点的类别----K最近邻算法处理多元分类任务

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

机器学习入门(五)用KNN模型,预测某一点的类别----K最近邻算法处理多元分类任务

机器学习入门(五)用KNN模型,预测某一点的类别----K最近邻算法处理多元分类任务
作者:冯德平(山野雪人)

这是本人学习《深入浅出Python机器学习》(参见3.2.2 K最近邻算法处理多元分类任务)后写的一篇文章,本文用KNN建立模型,并对给出的一个点(-1.4,-1.8),给出了如何求出这个点的分类的计算实例。

from sklearn.datasets import make_blobs
#导入画图工具
import matplotlib.pyplot as plt
import numpy as np
from sklearn.neighbors import KNeighborsClassifier

#生成样本数为5 0 0,分类数为5的数据集
data2 =make_blobs(n_samples=480,centers=6,random_state=7)
#print(data2)
X2,y2 = data2
#print(X2,y2)

#用散点图将数据集进行可视化
plt.scatter(X2[:,0],X2 [:,1] , c=y2, cmap=plt.cm.spring,edgecolor ='k')
plt.show()   #绘图1

#拟合数据:
clf = KNeighborsClassifier()
clf.fit(X2,y2)
#有一个点(-1.4,-1.8),预测这点应该分在哪一类:
print('新数据点的分类是',clf.predict(np.c_[(-1.4,-1.8)]))   #预测数据

#绘图:
x_min,x_max =X2[:,0].min()-1,X2[:,0].max () + 1
y_min,y_max =X2[:,1].min()-1,X2[:,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.Spectral)    # 原文用的Pastell是错误的,而应该用Spectral
plt.scatter(X2[:,0],X2[:,1], c=y2,cmap=plt.cm.spring,edgecolor = 'k')
plt.scatter(-1.4,-1.8 , marker ='*',c ='red',s=200)   #绘出要预测的点
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt. title ("K最近邻算法处理多元分类任务")
plt.show()      #绘图2

‘’’
运行结果:
新数据点的分类是 [4]

‘’’

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号