机器学习练习(一)-使用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]
由此可以见到,我们的模型预测还是十分准确的,这就是一个简单的花的分类问题,也是一个简单的机器学习应用。
机器学习练习(一)-使用jupyter notebook的更多相关文章
- 【机器学习实践】解决Jupyter Notebook中不能正常显示中文标签及负号的方法
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams[' ...
- Jupyter Notebook 导出PDF与Latex中文支持
Jupyter Notebook 最近搞机器学习用到了Jupyter Notebook. 作为一个实时记事本,有时需要将内容导出为PDF. 但是,Jupyter Notebook自带的File -&g ...
- 机器学习:Jupyter Notebook中numpy的使用
一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...
- 机器学习(三) Jupyter Notebook, numpy和matplotlib的详细使用 (上)
工欲善其事,必先利其器.在本章,我们将学习和机器学习相关的基础工具的使用:Jupyter Notebook, numpy和matplotlib.大多数教程在讲解机器学习的时候,大量使用这些工具,却不对 ...
- 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍
安装过程: 1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...
- 机器学习环境配置系列六之jupyter notebook远程访问
jupyter运行后只能在本机运行,如果部署在服务器上,大家都希望可以远程录入地址进行访问,这篇文章就是解决这个远程访问的问题.几个基本的命令就可以搞定,然后就可以愉快的玩耍了. 1.安装jupyte ...
- 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...
- pyspark 中启动 jupyter notebook
还是打算选择python学习spark编程 因为java写函数式比较复杂,scala学习曲线比较陡峭,而且sbt和eclipse和maven的结合实在是让人崩溃,经常找不到主类去执行 python以前 ...
- 详解 jupyter notebook 集成 spark 环境安装
来自: 代码大湿 代码大湿 1 相关介绍 jupyter notebook是一个Web应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字.用途包括:数据的清洗和转换.数值模拟.统 ...
随机推荐
- JS JSON序列化 Ajax form表单
# JS序列化 a = {"k1":"v1"} #序列化为字符串 类似python json.dumps(a) b = JSON.stringify(a) &q ...
- Leetcode题解之Container With Most Water
1.题目描述 2.题目分析 首先,这个题可以使用暴力解法,时间复杂度是O(n^2),这个显然是最容易的做法,但是效率不够高,题目提供了一种解法,使用两个指针,一个从头向尾部,另外一个从尾部向头部,每一 ...
- NodeJS做中转服务器,转发接口
搬家后的博客地址:http://www.cnblogs.com/shihaibin821/p/7683752.html
- mysql数据库的常用命令总结及具体操作步骤
从头复习一下数据库的语法 use database; --- 使用数据库 show databases/tables --- 查看所有的数据库/表 desc table; --- 查看表的结构 cr ...
- flask的orm操作
django是有orm操作的 可想而知 那么flask也是有orm操作的,其实flask的orm操作的使用和djnago的是差不多的 django的orm操作进行条件筛选的时候后面跟着的是objec ...
- iOS设计模式 - 享元
iOS设计模式 - 享元 原理图 说明 享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件:它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件.通常物件中的部分 ...
- 浅析NSTextContainer
浅析NSTextContainer TextKit中的NSTextContainer有点晦涩难懂,如果想用TextKit实现文本分页的效果,你是必须要使用NSTextContainer的...... ...
- 关于UIScrollView有些你很难知晓的崩溃情形
关于UIScrollView有些你很难知晓的崩溃情形 为了实现以下的功能(按钮之间的切换效果): 简短的代码如下: // // RootViewController.m // BUG // // Co ...
- Linxu系统修改文件描述符
修改系统文件描述符 文件描述符:无符号整数(0-65535),进程使用它来标示打开的文件 /etc/security/limits.conf:可以修改CPU,堆栈, 1.查看最大的标示符 u ...
- 重置 Winsock:初始化计算机网络环境
初始化网络环境,以解决由于软件冲突.病毒原因造成的参数错误问题(复杂网络环境下慎用).批处理代码: netsh winhttp reset proxy netsh winhttp reset trac ...