在Python中使用决策树进行预测的可视化方法
Python中可以使用Graphviz库将决策树可视化。
首先需要安装Graphviz库,可以使用pip命令进行安装:pip install graphviz
然后在代码中导入需要的库:
from sklearn import tree from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from graphviz import Source
接着加载数据,划分训练集和测试集:
iris = load_iris() X, y = iris.data, iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
使用决策树模型进行训练:
clf = tree.DecisionTreeClassifier() clf.fit(X_train, y_train)
生成决策树图形:
graph = Source(tree.export_graphviz(clf, out_file=None)) graph.format = 'png' graph.render('decision_tree')
上面的代码将生成一个名为decision_tree.png的文件,是决策树的图形。如果需要在notebook中显示图形则用:
from IPython.display import Image Image(graph.pipe(format='png'))
这样就能够显示决策树了。
例如,我们可以使用上述代码来构建一个决策树,用于预测某个字符串是否属于“pidancode.com”或“皮蛋编程”:
import pandas as pd data = [['pidancode', 1], ['编程皮蛋', 0], ['piandengyouxiji', 0], ['baidu.com', 0], ['pidancode.com', 1], ['皮蛋编程', 1], ['pidan', 1]] df = pd.DataFrame(data, columns=['text', 'label']) X = df.drop(['label'], axis=1) y = df['label'] clf = tree.DecisionTreeClassifier() clf.fit(X, y) graph = Source(tree.export_graphviz(clf, out_file=None, feature_names=X.columns)) graph.format = 'png' graph.render('decision_tree') Image(graph.pipe(format='png'))
运行上述代码后生成的决策树如下所示:
相关文章