from sklearn.tree import export_graphviz from IPython.display import Image import pydotplus from sklearn.externals.six import StringIO # 绘制决策树 dot_data = StringIO() export_graphviz( decision_tree, out_file=dot_data, feature_names=predictors, class_names=['Unsurvived','Survived'], # filled=True, rounded=True, special_characters=True ) # 决策树展现 graph = pydotplus.graph_from_dot_data(dot_data.getvalue()) Image(graph.create_png())Length of feature_names, 24 does not match number of features, 53
时间: 2023-07-16 12:14:12 浏览: 44
这个错误提示意味着你提供的特征名称数量(24个)与模型中使用的特征数量(53个)不匹配。你需要确保 `predictors` 列表包含了与模型中使用的特征相同数量的特征名称。
你可以通过检查数据集中的列数,或者尝试使用以下代码来获取模型中使用的特征名称列表:
```
importances = list(decision_tree.feature_importances_)
feature_importances = [(feature, round(importance, 2)) for feature, importance in zip(predictors, importances)]
feature_importances = sorted(feature_importances, key = lambda x: x[1], reverse = True)
[print('Variable: {:20} Importance: {}'.format(*pair)) for pair in feature_importances];
```
这将输出每个特征的名称和重要性得分,有助于你确定哪些特征被包含在模型中。