手动反爬虫,禁止转载: 原博地址 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 模型可视化
有了案例一的操作,对于模型预测的流程和结果可视化就简单了,对前面提及到了五个参数进行修改就可以了,代码如下。文章来源:https://www.toymoban.com/news/detail-481873.html
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中,有兴趣可以进行数据的核验。文章来源地址https://www.toymoban.com/news/detail-481873.html
到了这里,关于【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!