如何在 Graphviz 中显示特征名称?

How to show Feature Names in Graphviz?

我正在 Graphviz 中构建树,但我似乎无法显示特征名称,我定义了一个包含特征名称的列表,如下所示:

names = list(df.columns.values)

打印:

    ['Gender',
 'SuperStrength',
 'Mask',
 'Cape',
 'Tie',
 'Bald',
 'Pointy Ears',
 'Smokes']

所以正在创建列表,稍后我会像这样构建树:

 export_graphviz(tree, out_file=ddata, filled=True, rounded=True, special_characters=False, impurity=False, feature_names=names)

但最终图像仍然具有像 X[] 一样列出的特征名称:

如何才能显示实际的功能名称? (海角而不是 X[3] 等)

我只能想象这与将名称作为值数组传递有关。如果您直接传递列,它工作正常:

export_graphviz(tree, out_file=ddata, filled=True, rounded=True, special_characters=False, impurity=False, feature_names=df.columns)

如果需要,您还可以对列进行切片:

export_graphviz(tree, out_file=ddata, filled=True, rounded=True, special_characters=False, impurity=False, feature_names=df.columns[5:])