决策树是一种流行的有监督学习方法。决策树的优势在于其既可以用于回归,也可以用于分类,不需要特征缩放,而且具有比较好的可解释性,容易将决策树可视化。可视化的决策树不仅是理解你的模型的好办法,也是向其他人介绍你的模型的运作机制的有利工具。因此掌握决策树可视化的方法对于数据分析工作者来说非常重要。
在这个教程里,我们将学习以下内容:
如何使用scikit-learn训练一个决策树模型
如何使用Matplotlib将决策树可视化
如何使用Graphviz将决策树可视化
如何将随机森林或决策树包中的单个决策树可视化
教程的代码可以从这里下载。现在让我们开始吧。
1、用scikit-learn训练决策树模型
为了可视化决策树,我们首先需要用scikit-learn训练出一个决策树模型。
首先导入必要的Python库:
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
import numpy as np
from sklearn import tree
然后载入iris数据集。scikit-learn内置了Iris数据集,因此我们不需要从其他网站下载了。下面的Python代码载入Iris数据集:
import pandas as pd
from sklearn.datasets import load_irisdata = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target
Iris数据集看起来是这样:
接下来我们将Iris数据集拆分为训练集和测试集: