目录
决策树原理
二级目录
三级目录
Demo实现
构造数据集
#构造数据集
x_features=np.array([[-1,-2],[-2,-2,],[-3,-2],[1,3],[2,1],[3,2]])
y_label=np.array([0,1,0,1,0,1])
#调用逻辑回归模型
tree_clf=DecisionTreeClassifier()
#用逻辑回归模型拟合构造的数据集
tree_clf=tree_clf.fit(x_features,y_label)
模型可视化
#数据和模型可视化(要用到graphviz可视化库)
#可视化构造的数据样本点
plt.figure()
plt.scatter(x_features[:,0],x_features[:,1],c=y_label,s=50,cmap='viridis')
plt.title('Dataset')
plt.show()
决策树可视化
conda install python-graphviz
##可视化决策树
import graphviz
dot_data=tree.export_graphviz(tree_clf,out_file=None) #tree_clf决策树模型名称, out_file输出文件的句柄或名称,默认值是None
graph=graphviz.Source(dot_data) #调用graphviz的source方法解析数据
graph.render("pengunis") #生成决策树模型的可视化文件 https://www.cnblogs.com/pinard/p/6056319.html
模型预测
#模型预测
#创建新样本
x_features_new1=np.array([[0,-1]])
x_features_new2=np.array([[2,1]])
#在(训练集和测试集上?)分别利用训练好的模型进行预测
y_label_new1_predict=tree_clf.predict(x_features_new1)
y_label_new2_predict=tree_clf.predict(x_features_new2)
print('The New point 1 predict class:\n',y_label_new1_predict)
print('The New point 2 predict class:\n',y_label_new2_predict)
The New point 1 predict class:
[0]
The New point 2 predict class:
[0]
基于企鹅数据集的决策树实战
导入库和数据
函数库导入
#函数库导入
import numpy as np
import pandas as pd
#绘图函数库
import matplotlib.pyplot as plt
import seaborn as sns
数据集导入
选择企鹅数据(palmerpenguins)进行方法的尝试训练,该数据集一共包含8个变量,其中7个特征变量,1个目标分类变量。共有150个样本,目标变量为 企鹅的类别 其都属于企鹅类的三个亚属,分别是(Adélie, Chinstrap and Gentoo)。包含的三种种企鹅的七个特征,分别是所在岛屿,嘴巴长度,嘴巴深度,脚蹼长度,身体体积,性别以及年龄。
## 利用read_csv读取并转化为DataFrame格式
data<