机器学习项目实战(一) 鸢尾花
机器学习项目实战系列 鸢尾花
目录
机器学习项目实战系列 鸢尾花
一、环境准备
二、鸢尾花背景知识
三、通过数据集生成决策树
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%,说明模型足够可信,可以运用它来预测新模型
机器学习项目实战(一) 鸢尾花相关推荐
- python智慧城市_智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 机器学习项目实战(五) 住房价格预测
机器学习项目实战系列 住房价格预测 目录 机器学习项目实战系列 住房价格预测 一.概述 二.分析数据 1.数据导入 2.基础统计运算 3.特征观察 4.建立模型 5.分析模型表现 (1)学习曲 ...
- 【机器学习项目实战案例目录】项目详解 + 完整源码
前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战案例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码. 正在更新中~ ✨
- 机器学习项目实战——02回归算法之葡萄酒质量与时间的关系
数据集,机器学习项目实战--数据集与代码-机器学习文档类资源-CSDN文库 采用的是一元线性回归模型 import numpy as np import matplotlib.pyplot as pl ...
- 智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)
博主前期相关的博客可见下: 机器学习项目实战-能源利用率 Part-1(数据清洗) 机器学习项目实战-能源利用率 Part-2(探索性数据分析) 这部分进行的特征工程与特征筛选. 三 特征工程与特征筛 ...
- 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐
说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...
- 【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码
前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战10例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新中~ ✨
- 【机器学习项目实战】Python实现聚类(Kmeans)分析客户分组
说明:这是一个机器学习实战项目(附带数据+代码),如需数据+完整代码可以直接到文章最后获取. 1.问题定义 在日常银行.电商等公司中,随着时间的推移,都会积累一些客户的数据.在当前的大数据时代.人工智 ...
- 贷款申请最大化利润-机器学习项目实战
(数据分析与机器学习第二周项目实战) 一.项目介绍 本项目以某互联网贷款网站提供的贷款人的个人信息为背景,根据历史数据,建立模型,预测新的一个人来了,是否给他贷款,以实现利润最大化. 网站地址:htt ...
最新文章
- php支付宝同步和异步有什么区别,支付宝异步验签和同步验签
- pythonjs语法_Python语法精解:JSON语法
- TiDB 官方设计文档翻译(一)
- windows 服务中托管asp.net core
- muduo for v210
- memcached和php关系,php – memcacheD这没关系?
- eureka服务注册中心集群模式创建
- CS:APP3e 深入理解计算机系统_3e Datalab实验
- 呼叫中心系统的工单流转处理流程
- Spring Aop 报错 ...but was actually of type 'com.sun.proxy.$Proxy**'的解决方案
- 手机5g什么时候普及_5G牌照发放仨月,5G手机扎堆上市,何时才能真正普及?
- 上方用计算机英文,教你Win10计算器应用变成英文的解决方法
- k8s 部署 xxl-job-admin:2.3.0
- Docker 常用命令收录 -- 持续更新
- HSB/HSV/HSL区别
- 职高 计算机应用与基础测试卷,职高二计算机应用基础期末测试.doc
- Android实现网页图片下载器
- JVM之枚举GC Roots 根节点,安全点,安全区域。
- 接入第三方登录(微信、QQ、新浪微博)
- k8s--基础--12.3--pod--模板