如何获得可理解的 DecisionTreeClassifier 输出?

How do I get understandable DecisionTreeClassifier output?

2 个我已经研究了几个小时但没有解决的问题。当我使用“tree.plot_tree(my_model) 制作具有 2 个级别的 DecisionTreeClassifier 树时,我可以清楚地看到树。变量显示为 X[55],但我还没有找到如何替换X[55]的变量名,比如“temperature”。当我把levels设置为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 参数值(例如图形大小和字体大小)来更改 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