当前位置: 首页 > news >正文

机器学习练习(一)-使用jupyter notebook

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

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

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

  

#导入所需要的模块
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier #使用分类模块

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

flower=datasets.load_iris()
flower_X=yuan.data
flower_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

相关文章:

  • Mysql 批量写入数据,对于这类性能问题,你是如何优化的
  • spring mvc返回json字符串的方式
  • Linux 下的dd命令使用详解
  • ES 5 中 判断数组的方法
  • [HNOI2008]水平可见直线
  • 电商产品设计实战(二):电商整体产品架构
  • Integer类toString(int i,int radix)方法
  • 普通java工程的resources目录寻址
  • express.js的介绍及使用
  • Intel要在中国投35亿美金造这种闪存,3DxPoint技术牛在哪里?
  • MongoDB系统CentOS 7.1 crash的排障过程
  • MySQL建表语句转PostgreSQL建表语句全纪录
  • JAVA设计模式之观察者模式
  • 安装mongo,新建数据库,添加普通用户
  • 【EOS】Cleos基础
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • Android Studio:GIT提交项目到远程仓库
  • Brief introduction of how to 'Call, Apply and Bind'
  • Git学习与使用心得(1)—— 初始化
  • input实现文字超出省略号功能
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Laravel5.4 Queues队列学习
  • MaxCompute访问TableStore(OTS) 数据
  • node 版本过低
  • Python3爬取英雄联盟英雄皮肤大图
  • sessionStorage和localStorage
  • spring boot 整合mybatis 无法输出sql的问题
  • 普通函数和构造函数的区别
  • 提醒我喝水chrome插件开发指南
  • 小程序测试方案初探
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • "无招胜有招"nbsp;史上最全的互…
  • # centos7下FFmpeg环境部署记录
  • #NOIP 2014# day.2 T2 寻找道路
  • #Z0458. 树的中心2
  • (2022 CVPR) Unbiased Teacher v2
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (顺序)容器的好伴侣 --- 容器适配器
  • .a文件和.so文件
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .Net小白的大学四年,内含面经
  • ??myeclipse+tomcat
  • @Autowired多个相同类型bean装配问题
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [16/N]论得趣
  • [20190401]关于semtimedop函数调用.txt
  • [android] 切换界面的通用处理
  • [C++]unordered系列关联式容器
  • [cogs2652]秘术「天文密葬法」