机器学习——KNN算法总结

from sklearn import datasets  #导入内置数据集模块
from sklearn.neighbors import KNeighborsClassifier
 #导入sklearn.neighbors模块中KNN类
import numpy as np 
from sklearn import preprocessing#对数据进行归一化处理`
from sklearn.model_selection import train_test_split
iris=datasets.load_iris() #导入鸢尾花的数据集
iris_x=iris.data   
#样本数据150*4二维数据,代表150个样本每个样本4个属性分别
为花瓣和花萼的长、宽
iris_y=iris.target 
 #长150的以为数组,样本数据的标签
iris_x = preprocessing.scale(iris_x)# 对数据进行归一化处理
iris=np.array(iris)#将数组转换为向量
indices = np.random.permutation(len(iris_x)) 
#permutation接收一个数作为参数(150),产生一个0-149一维数组,
只不过是随机打乱的,当然她也可以接收一个一维数组作为参数,
结果是直接对这个数组打乱
ris_x_train,
iris_x_test ,
iris_y_train,
iris_y_test  = train_test_split(iris_x,iris_y,test_size = 0.2)#对原始数据集进行分割
knn = KNeighborsClassifier(10) #定义一个knn分类器对象
knn.fit(iris_x_train, iris_y_train)  #调用该对象的训练方法,主要接收两个参数:训练数据集及其样本标签,训练模型
iris_y_predict = knn.predict(iris_x_test)  #调用该对象的测试方法,主要接收一个参数:测试数据集
knn.score(iris_x_test,iris_y_test)#KNN自带的评分函数
from sklearn.metrics import mean_squared_error
import math
meanSquaredError=mean_squared_error(iris_y_predict, iris_y_test)
#均方误差
print("MSE:", meanSquaredError)
rootMeanSquaredError = math.sqrt(meanSquaredError)
#均方根误差
print("RMSE:", rootMeanSquaredError)

(120, 4) (120,) (30, 4) (30,)#数据集的分割

0.9666666666666667#模型的评分

MSE: 0.03333333333333333

RMSE: 0.18257418583505536

本文分享自微信公众号 - XSYMamba(xx441438)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java小白

Activiti工作流引擎数据库表

Acitiviti数据库中表的命名都是以ACT_开头的。第二部分是一个两个字符用例表的标识。此用例大体与服务API是匹配的。

9420
来自专栏运维经验分享

Mongodb日志切割

依据客户端查询来设计集合的片键及索引,最近几天突然需要查询历史数据进行分析,我们的有些集合count达到亿条以上,每个文档几百个字段。突如其来的查询...

25770
来自专栏运维经验分享

MongoDB 日志切换(Rotate Log Files)实战

d) logRotate.sh //写到计划任务crontab即可(需要expect软件包)

12830
来自专栏运维经验分享

MongoDB时区问题

利用MongoTemplate类更新mongodb集合中的指定日期字段时,用mongodb可视化工具Robo3t查看所更新的字段,发现数据库中显示时间当前时间(...

44440
来自专栏运维经验分享

mongo的身份验证和授权

刚装好的mongo,准备登陆进去测一把的,结果就给我报这个错,鄙人是新手,还不太清楚这个,现学一下~

16030
来自专栏运维经验分享

CentOS7下mongodb忘记密码后重置密码 原

通过ps -ef|grep mongod找到mongodb的配置文件mongod.conf

10730
来自专栏运维经验分享

MongoDB 日志太大怎么办 清理? 原

MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬。

20920
来自专栏运维经验分享

MongoDB 用户名密码登录

1.9 2017.01.07 23:44* 字数 1014 阅读 58236评论 4喜欢 37

81430
来自专栏bisal的个人杂货铺

几种关系型数据库的介绍

在我学生时代,当时流行的数据库就这么几种,Oracle、SQL Server、DB2,像MySQL这些,都还很小众。

15010
来自专栏运维经验分享

MongoDB日志切换(RotateLogFiles)实战

MongoDB 日志切换(Rotate Log Files)实战 1. 在mongo shell下,执行logRotate命令: useadmindb.runC...

13830

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励