如何在 sklearn 决策树中显示特征名称?
How to display feature names in sklearn decision tree?
我目前有一个决策树,将特征名称显示为 X[index]
,即 X[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)
我想用实际的功能名称替换这些 X[featureNumber]。
所以与其显示 X[0],我希望它显示 X.columns.values[0]
返回的特征名称(我不知道这段代码是否正确)。
我也知道使用 graphviz 有一种简单的方法可以做到这一点,但由于某种原因我无法在 Jupiter 中获得 graphviz 运行,所以我正在寻找一种不用它的方法。
当前决策树的照片:
这在the documentation中有解释:
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)
feature_names
: list of strings, default=None
Names of each of the features. If None
, generic names will be used (“X[0]”, “X[1]”, …).
我目前有一个决策树,将特征名称显示为 X[index]
,即 X[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)
我想用实际的功能名称替换这些 X[featureNumber]。
所以与其显示 X[0],我希望它显示 X.columns.values[0]
返回的特征名称(我不知道这段代码是否正确)。
我也知道使用 graphviz 有一种简单的方法可以做到这一点,但由于某种原因我无法在 Jupiter 中获得 graphviz 运行,所以我正在寻找一种不用它的方法。
当前决策树的照片:
这在the documentation中有解释:
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)
feature_names
: list of strings, default=None
Names of each of the features. If
None
, generic names will be used (“X[0]”, “X[1]”, …).