关于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位不同,预测得很好,机器学习只能大概模拟出数据,不能完全还原真实数据

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sol-itude

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

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

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

打赏作者

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

抵扣说明:

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

余额充值