代码之家  ›  专栏  ›  技术社区  ›  Matt

决策树可视化期间,位置参数跟随关键字参数错误

  •  1
  • Matt  · 技术社区  · 5 年前

    我正在尝试生成决策树的可视化。然而,我得到了一个我无法解决的错误。 这是我的代码:

    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())
    1 回复  |  直到 5 年前
        1
  •  1
  •   Paul Lo    5 年前

    你失踪了 = ,您应该将最后一个参数更新为 class_names=['0', '1'] :

    export_graphviz(clf, out_file=dot_data, filled=True, rounded=True, 
        special_characters=True, 
        feature_names = feature_cols, 
        class_names=['0', '1'])