博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习练习(一)-使用jupyter notebook
阅读量:7232 次
发布时间:2019-06-29

本文共 1645 字,大约阅读时间需要 5 分钟。

  一个简单的分类机器学习练习,基于sklearn。sklearn是Python中的一个机器学习模块。它其中有数据。非常方便我们用它来训练机器学习的模型,和验证我们的想法。(官方网站:https://scikit-learn.org/stable/)

使用jupyter notebook呢,能更清晰地帮我们看到每一步都做了什么并且其中功能方便能让我们随时记录下自己的想法。

  首先第一步就是导入我们所需要的模块。这里有Python基础的同学应该都明白,导入模块以后我们才能继续下面的工作。

  

#导入所需要的模块import numpy as npfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.neighbors import KNeighborsClassifier #使用分类模块

然后我们把我们的数据定义一下。首先是将花的数据集载入,然后将花的数据定义为flower_x,花的结果,也就是目的,定义为flower_y

flower=datasets.load_iris()flower_X=yuan.dataflower_y=yuan.target

看一下数据的基本信息

print(yuan_X[:4,:])#看一下数据的基本信息[[5.1 3.5 1.4 0.2] [4.9 3.  1.4 0.2] [4.7 3.2 1.3 0.2] [4.6 3.1 1.5 0.2]]

这些信息是描述花的数据信息,我们的分类就是要通过这些信息的输入,让我们的机器学习模型可以自动的把这些不同数据的花分类。

print(yuan_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]

这里就会看到花是被分成三类的。

下面我们将数据集分为训练集与测试集来使用。一部分用于训练模型,一部分用于测试模型,验证结果。

X_train,X_test,y_train,y_test = train_test_split(yuan_X,yuan_y,test_size=0.3)#把测试集与数据集按照3:7的形式分裂

 knn = KNeighborsClassifier()

 knn.fit(X_train,y_train)#用训练集来训练模型

 

下面我们来测试一下结果对比

print(knn.predict(X_test))#根据模型输出用测试集的结果[0 0 0 2 1 0 0 0 0 0 0 2 1 0 2 0 2 2 0 2 2 0 0 1 2 1 1 0 1 2 2 1 0 2 1 1 1 2 1 2 2 0 0 2 2]

实际的数据结果

print(y_test)#把真实的测试集拿出来做比较[0 0 0 2 1 0 0 0 0 0 0 2 1 0 2 0 2 2 0 2 2 0 0 1 2 1 1 0 1 2 2 1 0 2 1 1 1 2 1 2 2 0 0 2 2]

由此可以见到,我们的模型预测还是十分准确的,这就是一个简单的花的分类问题,也是一个简单的机器学习应用。

 

转载于:https://www.cnblogs.com/dzswise/p/10171687.html

你可能感兴趣的文章
Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)【转】...
查看>>
ubantu系统安装ssh
查看>>
js实现对上传图片的路径转成base64编码,并且对图片进行压缩,实现预览功能...
查看>>
LeetCode OJ:Multiply Strings (字符串乘法)
查看>>
LeetCode OJ:Search in Rotated Sorted Array(翻转排序数组的查找)
查看>>
VLC打开.264文件
查看>>
常用的一些webService
查看>>
Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)
查看>>
Mybatis注意点之#与$区别
查看>>
IP地址分类(A类 B类 C类 D类 E类)
查看>>
RedirectResult,RedirectToRoute
查看>>
解决spark-shell输出日志过多的问题
查看>>
npm包管理工具
查看>>
[洛谷P3168][CQOI2015]任务查询系统
查看>>
鼠标放上去图片切换效果
查看>>
String Method的字符串变换的一个例子
查看>>
浅谈for...in与for....of
查看>>
无效报表文件路径
查看>>
MySQL使用存储过程,光标的使用的简单示例
查看>>
php.ini在php脚本文件中的配置
查看>>