机器学习项目实战系列   鸢尾花

目录

机器学习项目实战系列   鸢尾花

一、环境准备

二、鸢尾花背景知识

三、通过数据集生成决策树

1.导入数据集

2.训练数据测试数据

3.建立决策树

4.运行生成决策树PDF

四、检验数据

五、训练模型 预测评估

1.构建训练模型

2.进行训练、预测并评估



一、环境准备

1.安装Python3

2.安装好anaconda

3.安装好相应的库

  • Numpy:用于 Python 的数值处理,最常用的一个库
  • PIL:一个简单的图像处理库
  • scikit-learn:包含多种机器学习算法
  • Kears 和 TensorFlow


二、鸢尾花背景知识

可以把这个 Iris(鸢尾花)理解成为机器学习的helloworld

花的四个属性分别是

  • Sepal length--萼片长度
  • Sepal width--萼片宽度
  • Petal length--花瓣长度
  • Petal width--花瓣宽度

三、通过数据集生成决策树

1.导入数据集

from sklearn.datasets import load_irisiris = load_iris()

2.训练数据测试数据

import numpy as np
from sklearn.datasets import load_irisiris = load_iris()#test_idx是测试数据的下标
test_idx = [0,50,100]#训练数据,train_target是结果,train_data是特征
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis=0)#测试数据
test_target = iris.target[test_idx]
test_data = iris.data[test_idx]

3.建立决策树

#建立决策树
clf = tree.DecisionTreeClassifier()
clf.fit(train_data,train_target)print(test_target)
print(clf.predict(test_data))#可视化的决策
from six import StringIO
import pydotplusdot_data = StringIO()
tree.export_graphviz(clf,out_file=dot_data,feature_names=iris.feature_names,class_names=iris.target_names,filled=True, rounded=True,impurity=False)graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("iris.pdf")

4.运行生成决策树PDF

生成决策时PDF文件


四、检验数据

import mglearn
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
iris_dataset = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o',hist_kwds={'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)
  • train_test_split 函数利用伪随机数生成器将数据打乱,然后将其分为训练集和测试集
  • scatter_matrix 函数利用鸢尾花的特征矩阵(iris_dataframe)创建散点图矩阵,按训练集的标签(y_train)着色,一共三种颜色(一共3类),用点绘图(marker='o'),图大小为10*10(figsize=(10,10)),直方图的区间数为20(hist_kwds={'bins':20}),点大小为60(s=60),透明度为80%(alpha=0.8),用viridis风格画图。

由图可知,利用花瓣和花萼的测量数据基本可以将三个类别区分开,这说明机器学习模型很可能可以学会区分它们。


五、训练模型 预测评估

1.构建训练模型

这里我们选择k近邻分类模型,k近邻算法中k的含义是,我们可以考虑训练集中与新数据点最近的任意k个邻居,而不是只考虑最近的那一个。

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)

2.进行训练、预测并评估

knn.fit(X_train,y_train)
y_pred = knn.predict(X_test)
print('Test set score:\n{}'.format(np.mean(y_pred == y_test)))

可以看到精度达到了97.3%,说明模型足够可信,可以运用它来预测新模型

机器学习项目实战(一) 鸢尾花相关推荐

  1. python智慧城市_智慧城市背景下Python机器学习项目实战案例分享

    首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...

  2. 机器学习项目实战(五) 住房价格预测

    机器学习项目实战系列   住房价格预测 目录 机器学习项目实战系列   住房价格预测 一.概述 二.分析数据 1.数据导入 2.基础统计运算 3.特征观察 4.建立模型 5.分析模型表现 (1)学习曲 ...

  3. 【机器学习项目实战案例目录】项目详解 + 完整源码

    前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战案例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码. 正在更新中~ ✨

  4. 机器学习项目实战——02回归算法之葡萄酒质量与时间的关系

    数据集,机器学习项目实战--数据集与代码-机器学习文档类资源-CSDN文库 采用的是一元线性回归模型 import numpy as np import matplotlib.pyplot as pl ...

  5. 智慧城市背景下Python机器学习项目实战案例分享

    首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...

  6. 机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)

    博主前期相关的博客可见下: 机器学习项目实战-能源利用率 Part-1(数据清洗) 机器学习项目实战-能源利用率 Part-2(探索性数据分析) 这部分进行的特征工程与特征筛选. 三 特征工程与特征筛 ...

  7. 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐

    说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...

  8. 【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码

    前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战10例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新中~ ✨

  9. 【机器学习项目实战】Python实现聚类(Kmeans)分析客户分组

    说明:这是一个机器学习实战项目(附带数据+代码),如需数据+完整代码可以直接到文章最后获取. 1.问题定义 在日常银行.电商等公司中,随着时间的推移,都会积累一些客户的数据.在当前的大数据时代.人工智 ...

  10. 贷款申请最大化利润-机器学习项目实战

    (数据分析与机器学习第二周项目实战) 一.项目介绍 本项目以某互联网贷款网站提供的贷款人的个人信息为背景,根据历史数据,建立模型,预测新的一个人来了,是否给他贷款,以实现利润最大化. 网站地址:htt ...

最新文章

  1. php支付宝同步和异步有什么区别,支付宝异步验签和同步验签
  2. pythonjs语法_Python语法精解:JSON语法
  3. TiDB 官方设计文档翻译(一)
  4. windows 服务中托管asp.net core
  5. muduo for v210
  6. memcached和php关系,php – memcacheD这没关系?
  7. eureka服务注册中心集群模式创建
  8. CS:APP3e 深入理解计算机系统_3e Datalab实验
  9. 呼叫中心系统的工单流转处理流程
  10. Spring Aop 报错 ...but was actually of type 'com.sun.proxy.$Proxy**'的解决方案
  11. 手机5g什么时候普及_5G牌照发放仨月,5G手机扎堆上市,何时才能真正普及?
  12. 上方用计算机英文,教你Win10计算器应用变成英文的解决方法
  13. k8s 部署 xxl-job-admin:2.3.0
  14. Docker 常用命令收录 -- 持续更新
  15. HSB/HSV/HSL区别
  16. 职高 计算机应用与基础测试卷,职高二计算机应用基础期末测试.doc
  17. Android实现网页图片下载器
  18. JVM之枚举GC Roots 根节点,安全点,安全区域。
  19. 接入第三方登录(微信、QQ、新浪微博)
  20. k8s--基础--12.3--pod--模板

热门文章

  1. CS1.5制造机器人的命令
  2. 弱电智能化施工组织设计方案
  3. 网课题库接口教程(免费)
  4. ubuntu下安装CAJ阅读器
  5. Android NDK 下载地址
  6. de4dot命令 v2.0.3.3405 破解命令
  7. STM32H7+LAN8720A之ETH与LWIP配置问题(End)
  8. 分享一个 电子书下载网站 支持 ebook pdf azw3 epub mobi
  9. 我的世界联机被拒绝可能原因
  10. Mathematic Paradigm