【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测


手动反爬虫,禁止转载: 原博地址 https://blog.csdn.net/lys_828/article/details/122045161(CSDN博主:Be_melting)

 知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

2 利用决策树进行鸢尾花数据集分类预测

2.1 导入模块与加载数据

在进行逻辑回归分类的过程中已经有使用过iris数据集,这里直接加载数据,并进行字段名称的修改。

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(color_codes=True)
%matplotlib inline

iris_df = pd.read_csv('../data/iris.csv',header=None)
col_name =   ['sepal length', 'sepal width', 'petal length', 'petal width', 'class']
iris_df.columns = col_name

输出结果如下。
请添加图片描述
通过info()方法查看各个字段的基本详情,输出结果如下。字段中数据已经是处理完整,没有需要清洗的部分。
请添加图片描述

2.2 划分数据

首先进行特征数据和标签数据的划分。

X = iris_df.drop(columns=['class'])
X.head(5)
y = iris_df['class']
y.head(5)

输出结果如下。
请添加图片描述

接着就是对数据集进行训练数据和测试数据的划分。在前一个案例中,数据量不超过20条,全部应用在模型中,而真实的环境中,为了保证模型的稳定性,需要进行训练和测试数据的划分,代码操作如下。

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2)

输出结果如下。
请添加图片描述

2.3 模型创建与应用

#第一步:导入模型
from sklearn.tree import DecisionTreeClassifier
#第二步:模型初始化
model = DecisionTreeClassifier()
#第三步:模型训练
model.fit(X_train,y_train)
#第四步:模型预测
predictions = model.predict(X_test)
predictions
#第五步:模型评估
from sklearn.metrics import accuracy_score
score = accuracy_score(y_test,predictions)
score

输出结果如下。
请添加图片描述
如果日后有需要,觉得当前模型得分还行,可以进一步将模型保存本地。(根据个人需要选择)

import joblib
joblib.dump(model,'iris.joblib')

输出结果如下。
请添加图片描述

2.4 模型可视化

有了案例一的操作,对于模型预测的流程和结果可视化就简单了,对前面提及到了五个参数进行修改就可以了,代码如下。

from sklearn import tree
tree.export_graphviz(model,out_file='iris.dot',feature_names=['sepal length', 'sepal width', 'petal length', 'petal width']
                    ,class_names=sorted(y.unique()),label='all',rounded=True,filled=True)

输出结果如下。
请添加图片描述
对生成的文件,用软件打开后,生成的决策树图形结果如下。也可以参照案例一中的操作,将图片加载到jupyter notebook中,有兴趣可以进行数据的核验。
请添加图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lys_828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值