如何在sklearn决策树中显示特征名称?

Woc*_*ush 5 python machine-learning decision-tree pandas scikit-learn

我目前有一个决策树,将功能名称显示为X[index]、 ieX[0], X[1], X[2]等。

from sklearn import tree
from sklearn.tree import DecisionTreeClassifier

dt = DecisionTreeClassifier()
dt.fit(X_train, y_train)

 
# plot tree
plt.figure(figsize=(20,16))# set plot size (denoted in inches)
tree.plot_tree(dt,fontsize=10)
Run Code Online (Sandbox Code Playgroud)

我希望将这些 X[featureNumber] 替换为实际的功能名称。

因此,我希望它显示返回的功能名称,而不是显示 X[0] X.columns.values[0](我不知道此代码是否正确)。

我也知道有一种使用 graphviz 来完成此操作的简单方法,但由于某种原因我无法让 graphviz 在 Jupiter 中运行,所以我正在寻找一种不使用 graphviz 的方法。

当前决策树的照片:

For*_*Bru 8

文档中对此进行了解释:

\n
\n

sklearn.tree.plot_tree(decision_tree, *, max_depth=None, feature_names=None, class_names=None, label=\'all\', filled=False, impurity=True, node_ids=False, proportion=False, rotate=\'deprecated\', rounded=False, precision=3, ax=None, fontsize=None)

\n

feature_names:字符串列表,默认=None

\n

每个功能的名称。如果None,将使用通用名称(\xe2\x80\x9cX[0]\xe2\x80\x9d、\xe2\x80\x9cX[1]\xe2\x80\x9d、\xe2\x80\xa6)。

\n
\n