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

关于Scikit-learn机器学习的笔记——第一篇

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

关于Scikit-learn机器学习的笔记——第一篇

视频教程:【莫烦Python】Scikit-learn (sklearn) 优雅地学会机器学习

首先从安装sklearn入手,我用的是python3.7,需要安装numpy和scipy,安装之后,就可以用sklearn自带的数据了,就用它自带的鸢尾花了

程序示例(我是用Pycharm运行的):

import numpy as np
from sklearn import datasets##从sklearn数据库导入数据
from sklearn.model_selection import KFold
from sklearn.model_selection import train_test_split##从sklearn数据库导入函数
from sklearn.neighbors import KNeighborsClassifier##从sklearn数据库导入算法,K邻近分类

iris=datasets.load_iris()##导入鸢尾花数据
iris_X=iris.data##花的属性存在data里面
iris_Y=iris.target##花的分类在target里面
print(iris_X[:2,:]) ##打印出iris的属性,2个

输出结果:

[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]]

有花的4种属性,可能是花的大小什么的,不是很懂。

再看看他的分类:

print(iris_Y)##花的分类

输出结果:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]

0代表一类,1代表一类,2代表一类

我们要去学习花的四个属性搭配上他的类别,会预测出新的东西

这个函数分出了我们的用于学习的data和测试的data,测试数据比例占30%,训练数据占70%,这些数据被分成两部分的好处是他们不会互相影响

 X_train,X_test,Y_train,Y_test=train_test_split(iris_X,iris_Y,test_size=0.3)##train_data:所要划分的样本特征集 train_target:所要划分的样本结果 test_size:样本占比,如果是整数的话就是样本的数量
 print(Y_train)#看看他的类别

输出结果:

[2 1 1 1 0 0 1 0 2 1 1 2 0 0 0 1 0 1 0 2 1 1 0 2 2 2 1 0 2 1 1 2 1 1 1 2 0
 1 2 0 0 1 1 0 0 2 2 2 1 2 0 2 1 0 1 0 1 0 2 2 1 0 0 1 0 0 0 1 1 0 2 2 0 1
 0 2 1 1 2 2 2 2 0 2 1 0 0 0 1 2 0 1 1 2 2 1 2 2 1 2 2 2 0 2 0]

这里的数据是被打乱的,可以在机器学习过程中不会有排列在一起的影响

利用K邻近算法进行机器学习
下面进行分类:

knn=KNeighborsClassifier()##机器学习命令
knn.fit(X_train,Y_train)##这个函数帮助我们完成学习的步骤,所有training在这一步进行
print(knn.predict(X_test))##机器预测测试数据结果,这里的knn已经训练完了
print(Y_test)##之前的真实数据

输出结果:

[2 1 0 0 0 0 2 0 2 1 0 2 2 0 0 1 0 1 2 0 1 2 2 0 0 1 2 0 1 1 2 0 1 2 1 2 0
 2 2 0 0 1 0 2 2]
[2 1 0 0 0 0 1 0 2 1 0 2 2 0 0 1 0 1 2 0 1 2 2 0 0 1 2 0 1 1 2 0 1 2 1 2 0
 2 2 0 0 1 0 2 2]

结果出现1-2位不同,预测得很好,机器学习只能大概模拟出数据,不能完全还原真实数据

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

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

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