机器学习笔记(三):决策树

阅读目录

      • 决策树
      • 1、常用的决策树算法见下表:
      • 2、分类——实现类是DecisionTreeClassifier,能够执行数据集的多类分类
      • 3、回归——实现类是DecisionTreeRegressor,输入为X,y 同上,y 为浮点数
      • 4、例子:采用决策树算法构造一个泰坦尼克乘客生还预测模型,并对生成的决策树可视化呈现。

决策树

决策树(DT)是一种用于分类和回归的非参数监督学习方法。目的是创建一个模型,通过学习从数据特征推断出的简单决策规则来预测目标变量的值。

机器学习笔记(三):决策树_第1张图片

1、常用的决策树算法见下表:

机器学习笔记(三):决策树_第2张图片

2、分类——实现类是DecisionTreeClassifier,能够执行数据集的多类分类

输入参数为两个数组X[n_samples,n_features]和 y[n_samples],X 为训练数据,y 为训练数据的标记数据
DecisionTreeClassifier 构造方法为:

 sklearn.tree.DecisionTreeClassifier(
 criterion='gini' ,  splitter='best'  , max_depth=None 
 , min_samples_split=2 
 , min_samples_leaf=1 
 , max_features=None 
 , random_state=None 
 , min_density=None 
 , compute_importances=None 
 , max_leaf_nodes=None
 ) 

3、回归——实现类是DecisionTreeRegressor,输入为X,y 同上,y 为浮点数

DecisionTreeRegressor 构造方法为:

 sklearn.tree.DecisionTreeRegressor(
 criterion='mse'  , splitter='best'  , max_depth=None 
 , min_samples_split=2 
 , min_samples_leaf=1 
 , max_features=None 
 , random_state=None 
 , min_density=None 
 , compute_importances=None
 , max_leaf_nodes=None
 ) 

4、例子:采用决策树算法构造一个泰坦尼克乘客生还预测模型,并对生成的决策树可视化呈现。

import pandas as pd
import graphviz
from sklearn.tree import DecisionTreeClassifier,export_graphviz #输出的函数
from sklearn.metrics import classification_report
data = pd.read_csv("titanic_data.csv")
data.drop('PassengerId',axis=1,inplace=True ) #删除索引列
data.loc[data['Sex'] =='male','Sex'] =1   #把男性male改成1
data.loc[data['Sex'] =='female','Sex'] =0   #把女性female改成0
data.fillna(data['Age'].mean(),inplace=True) #用均值填充2缺失值
Dtc = DecisionTreeClassifier(max_depth=5,random_state =8)  #构建决策树模型
Dtc.fit(data.iloc[:,1:],data['Survived']) #模型训练
pre = Dtc.predict(data.iloc[:,1:]) #模型预测
pre==data['Survived']   #比较模型预测值与样本实际值是否一样
res = classification_report(data['Survived'],pre)  #模型分类报告
dot_data = export_graphviz(Dtc,feature_names = ['Pclass','Sex','Age'],class_names='Survived')
graph=graphviz.Source(dot_data)
graph

机器学习笔记(三):决策树_第3张图片机器学习笔记(三):决策树_第4张图片
机器学习笔记(三):决策树_第5张图片
机器学习笔记(三):决策树_第6张图片

安装graphviz:https://blog.csdn.net/HNUCSEE_LJK/article/details/86772806

记得安装配置好环境,cmd要重新打开才查看dot -version,Jupyter Noteboot也要重新打开

笔记来源:泰迪云课堂的python机器学习实战

你可能感兴趣的:(机器学习,机器学习,python,决策树)