前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习——KNN算法总结

机器学习——KNN算法总结

作者头像
用户5745385
发布2019-07-04 11:45:38
5810
发布2019-07-04 11:45:38
举报
文章被收录于专栏:XSYMambaXSYMamba
代码语言:javascript
复制
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
代码语言:javascript
复制
iris=datasets.load_iris() #导入鸢尾花的数据集
iris_x=iris.data   
#样本数据150*4二维数据,代表150个样本每个样本4个属性分别
为花瓣和花萼的长、宽
iris_y=iris.target 
 #长150的以为数组,样本数据的标签
代码语言:javascript
复制
iris_x = preprocessing.scale(iris_x)# 对数据进行归一化处理
iris=np.array(iris)#将数组转换为向量
indices = np.random.permutation(len(iris_x)) 
#permutation接收一个数作为参数(150),产生一个0-149一维数组,
只不过是随机打乱的,当然她也可以接收一个一维数组作为参数,
结果是直接对这个数组打乱
代码语言:javascript
复制
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分类器对象
代码语言:javascript
复制
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自带的评分函数
代码语言:javascript
复制
from sklearn.metrics import mean_squared_error
import math
代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 XSYMamba 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档