【发布时间】:2020-04-04 06:20:34
【问题描述】:
我正在尝试生成决策树的可视化。但是,我收到一个我无法解决的错误。 这是我的代码:
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
from IPython.display import Image
import pydotplus
feature_cols = ['Reason_for_absence', 'Month_of_absence']
feature_cols
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data, filled=True, rounded=True, special_characters=True, feature_names = feature_cols,class_names['0', '1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_png('tree.png')
Image(graph.create_png())
我收到以下错误:
File "", line 9
export_graphviz(clf, out_file=dot_data, filled=True, rounded=True, special_characters=True, feature_names = feature_cols,class_names['0', '1'])
^
SyntaxError: positional argument follows keyword argument
编辑:
我已经根据答案更改了代码,现在出现错误:
IndexError: list index out of range
虽然代码稍作修改:
feature_cols = ['Reason_for_absence',
'Month_of_absence',
'Day_of_the_week',
'Seasons',
'Transportation_expense',
'Distance_from_Residence_to_Work',
'Service_time',
'Age',
'Work_load_Average/day ',
'Hit_target',
'Disciplinary_failure',
'Education',
'Son',
'Social_drinker',
'Social_smoker',
'Pet',
'Weight',
'Height',
'Bod_mass_index',
'Absenteeism']
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data, filled=True, rounded=True, special_characters=True, feature_names = feature_cols, class_names=['0', '1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_png('tree.png')
Image(graph.create_png())
【问题讨论】:
标签: python machine-learning jupyter-notebook graphviz decision-tree