07-《机器学习及实战》学习之K近邻分类模型

k近邻分类模型:无参数,计算每个对每个训练样本采取遍历的方法与测试样本逐一计算相似度、排序并且选择K个临近训练样本的标记进而做出分类决策。

比如说20个西瓜,拿出3个做训练样本。从另外17个测试样本西瓜中选择一个标记点,从这个标记点向外第一次取5个算上标记值就是六个如果这个六个其中4个西瓜和训练样本中的A西瓜更像,就做一次总结,以此类推。也就是说这个分类方法会逐渐的缩小类别范围,尽可能的分类到最小的那个标记点范围K值之内。

K近邻分类器在对鸢尾花(iris)数据上的类别预测:

# -*- coding: UTF-8 -*-
#从sklearn.datasets 里面导入iris的数据加载器
from sklearn.datasets import load_iris
#使用数据加载器读取数据并且存入变量iris
iris=load_iris()
#查验数据规模
iris.data.shape
#查看数据说明。
print iris.DESCR

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.25,random_state=33)

print X_train,',,,,',X_test
print '—--------'
print y_train,',,,,',y_test

#从sklearn.preprocessing里面导入数据标准化模块
from sklearn.preprocessing import StandardScaler

#从sklearn.neighbors里面导入

from sklearn.neighbors import KNeighborsClassifier

#对训练和测试的特征数据导入数据标准化模板
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)

#使用K临近分类器对测试数据进行类别预测,预测结果储存在变量y_predict中。
knc=KNeighborsClassifier()
knc.fit(X_train,y_train)
y_predict=knc.predict(X_test)

#对K近邻分类器在鸢尾花数据上的 预测性能进行评估

#使用模型自带的评估函数进行准确性评估

print 'The accuracy of K-Nearest Neighbors Classifier is:\
',knc.score(X_test,y_test)

#依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析

from sklearn.metrics import classification_report
print classification_report(y_test,y_predict,target_names=iris.target_names)  

鸣谢《机器学习及实战》编者范淼、李超等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千码君2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值