我目前的决策树显示特征名称为X[index]
,例如X[0], X[1], X[2]
等。
from sklearn import treefrom sklearn.tree import DecisionTreeClassifierdt = DecisionTreeClassifier()dt.fit(X_train, y_train) # 绘制树plt.figure(figsize=(20,16))# 设置绘图尺寸(以英寸为单位)tree.plot_tree(dt,fontsize=10)
我希望将这些X[featureNumber]替换为实际的特征名称。
因此,不是显示X[0],而是希望显示X.columns.values[0]
返回的特征名称(我不确定这个代码是否正确)。
我知道使用graphviz可以轻松做到这一点,但由于某些原因,我无法在Jupiter中运行graphviz,所以我在寻找一种无需使用graphviz的方法。
当前决策树的照片:
回答:
这在文档中有说明:
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
: 字符串列表,默认值=None
每个特征的名称。如果为
None
,将使用通用名称(“X[0]”, “X[1]”, …)。