一个简单的分类机器学习练习,基于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的更多相关文章

  1. 【机器学习实践】解决Jupyter Notebook中不能正常显示中文标签及负号的方法

    import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams[' ...

  2. Jupyter Notebook 导出PDF与Latex中文支持

    Jupyter Notebook 最近搞机器学习用到了Jupyter Notebook. 作为一个实时记事本,有时需要将内容导出为PDF. 但是,Jupyter Notebook自带的File -&g ...

  3. 机器学习:Jupyter Notebook中numpy的使用

    一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...

  4. 机器学习(三) Jupyter Notebook, numpy和matplotlib的详细使用 (上)

    工欲善其事,必先利其器.在本章,我们将学习和机器学习相关的基础工具的使用:Jupyter Notebook, numpy和matplotlib.大多数教程在讲解机器学习的时候,大量使用这些工具,却不对 ...

  5. 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍

    安装过程:  1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...

  6. 机器学习环境配置系列六之jupyter notebook远程访问

    jupyter运行后只能在本机运行,如果部署在服务器上,大家都希望可以远程录入地址进行访问,这篇文章就是解决这个远程访问的问题.几个基本的命令就可以搞定,然后就可以愉快的玩耍了. 1.安装jupyte ...

  7. 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)

    问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...

  8. pyspark 中启动 jupyter notebook

    还是打算选择python学习spark编程 因为java写函数式比较复杂,scala学习曲线比较陡峭,而且sbt和eclipse和maven的结合实在是让人崩溃,经常找不到主类去执行 python以前 ...

  9. 详解 jupyter notebook 集成 spark 环境安装

    来自: 代码大湿 代码大湿 1 相关介绍 jupyter notebook是一个Web应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字.用途包括:数据的清洗和转换.数值模拟.统 ...

随机推荐

  1. 例如android:layout_marginBottom的值为负数

    为什么有时候像android:layout_marginBottom等变量的赋值为负数? 例如如下代码: <?xml version="1.0" encoding=" ...

  2. 带你从零学ReactNative开发跨平台App开发(七)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  3. web应用服务端cache策略初探

    一般来说,网站随着访问量以及数据库的增大,访问速度将会越来越慢,如何优化这个响应速度,增大用户支持容量是网站从小到中,到大的必经之路. 你也可能听说过对于大型web站点一般严重依赖于cache来弹性放 ...

  4. Oracle EBS 获取完全的值集信息

    SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...

  5. 【Kettle】1、简单介绍

    本人为转载,感谢作者的辛勤劳作:http://blog.csdn.net/rotkang/article/details/20810921 ------------------------------ ...

  6. asp.net MVC4 框架揭秘 读书笔记系列3

    IIS/ASP.net管道 本节全部用图形表示便于理解和记忆 1.3.1 IIS5.x与asp.net 1.3.2 IIS 6.0与asp.net 1.3.3 IIS7.0与asp.net 基于IIS ...

  7. ARC下的block导致的循环引用问题解析

    ARC下的block导致的循环引用问题解析 更详细细节请参考 http://blog.sina.com.cn/s/blog_8c87ba3b0101m599.html ARC下,copy到堆上的blo ...

  8. Allure 安装及使用

    linux下安装方法 Allure requires Java 8 or higher    npm install -g allure-commandline --save-dev (如果npm不能 ...

  9. WCF自寄宿实现Https绑定

    一.WCF配置 1 Address 将服务端发布地址和客户端访问地址都配置为https开始的安全地址.参考如下. <add key="SrvUrl" value=" ...

  10. 第二次作业——App案例分析

    第一部分 调研, 评测 下载软件并使用起来,描述最简单直观的个人第一次上手体验. 我选择的应用是chrome浏览器.之所以选择分析它,是因为我用的时间较长,对功能比较熟悉. chrome浏览器提供了应 ...