问题描述
2个问题,我已经进行了几个小时的研究,没有解决。当我使用具有2个级别的“ tree.plot_tree(my_model)制作DecisionTreeClassifier树时,我可以清楚地看到树。变量以X [55]表示,但是我还没有找到如何用X [55]替换X [55]。变量名称,例如“温度”。当我将水平设置为3或更高,并且无法读取绘图时,将其放大将只会使模糊的字符变大,但仍然模糊。
这是一些代码:
X = df.drop ( ['target_var'],axis = 1 )
y = df [ [ 'target_var' ] ]
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=1)
model = tree.DecisionTreeClassifier( max_depth = 3 )
model.fit(X_train,y_train)
y_predict = model.predict(X_test)
accuracy_score(y_test,y_predict)
tree.plot_tree(model )
解决方法
通常,您想使用rc params值(例如图形大小和字体大小)来更改matplotlib图的大小。如果要放大和缩小很多,也可以更改dpi。
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300
mpl.rcParams['figure.figsize'] = [14,10] # 14 by 10 inch
mpl.rcParams['font.size'] = 15
就设置变量名称而言,您可以使用feature_names参数来实现,只需将名称作为字符串列表传递即可。 https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html