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

Iva*_*Hid 3 graphviz decision-tree pandas anaconda jupyter-notebook

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

names = list(df.columns.values)
Run Code Online (Sandbox Code Playgroud)

哪个打印:

    ['Gender',
 'SuperStrength',
 'Mask',
 'Cape',
 'Tie',
 'Bald',
 'Pointy Ears',
 'Smokes']
Run Code Online (Sandbox Code Playgroud)

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

 export_graphviz(tree, out_file=ddata, filled=True, rounded=True, special_characters=False, impurity=False, feature_names=names)
Run Code Online (Sandbox Code Playgroud)

但是最终图像仍然具有像 X[] 列出的特征名称: 在此处输入图片说明

我怎样才能显示实际的功能名称?(Cape 而不是 X[3] 等)

Ann*_*nne 5

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

export_graphviz(tree, out_file=ddata, filled=True, rounded=True, special_characters=False, impurity=False, feature_names=df.columns)
Run Code Online (Sandbox Code Playgroud)

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

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