NotFittedError: This BalancedRandomForestClassifier instance is not fitted yet. Call 'fit' with appropriate arguments before using this method
NotFittedError: This BalancedRandomForestClassifier instance is not fitted yet. Call 'fit' with appropriate arguments before using this method
我正在尝试绘制我的模型,但代码出错,尚未安装该模型。但我适合这个模型。有人可以帮助我了解为什么会出现此错误吗?
我的代码如下;
model = BalancedRandomForestClassifier(n_estimators = 200, random_state = 0, max_depth=6)
model.fit(x_train, y_train)
y_pred_rf = model.predict(x_test)
dot_data = StringIO()
export_graphviz(model, out_file=dot_data,
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
错误如下;
---------------------------------------------------------------------------
NotFittedError Traceback (most recent call last)
<ipython-input-57-0036434b9b2c> in <module>
16 export_graphviz(model, out_file=dot_data,
17 filled=True, rounded=True,
---> 18 special_characters=True)
19 graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
20 Image(graph.create_png())
/opt/anaconda/envs/env_python/lib/python3.6/site-
packages/sklearn/tree/export.py in export_graphviz(decision_tree, out_file,
max_depth, feature_names, class_names, label, filled, leaves_parallel,
impurity, node_ids, proportion, rotate, rounded, special_characters,
precision)
754 """
755
--> 756 check_is_fitted(decision_tree, 'tree_')
757 own_file = False
758 return_string = False
/opt/anaconda/envs/env_python/lib/python3.6/site-
packages/sklearn/utils/validation.py in check_is_fitted(estimator,
attributes, msg, all_or_any)
912
913 if not all_or_any([hasattr(estimator, attr) for attr in
attributes]):
--> 914 raise NotFittedError(msg % {'name':
type(estimator).__name__})
915
916
NotFittedError: This BalancedRandomForestClassifier instance is not fitted
yet. Call 'fit' with appropriate arguments before using this method.
export_graphviz
需要一个单一的树模型。因此,当这是一个整体时,您需要遍历树。 BalancedRandomForestClassifier
暴露了 estimators_
这种用法。正如 Parthasarathy Subburaj 所提到的,您可以循环其他 estimators_
并调用该函数。
这就是说我建议你使用sklearn.tree.plot_tree(...)
:https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html
它是一个纯 matplotlib 绘图助手,如果您只想获得图像表示而不使用 graphviz
,它会更容易
我正在尝试绘制我的模型,但代码出错,尚未安装该模型。但我适合这个模型。有人可以帮助我了解为什么会出现此错误吗?
我的代码如下;
model = BalancedRandomForestClassifier(n_estimators = 200, random_state = 0, max_depth=6)
model.fit(x_train, y_train)
y_pred_rf = model.predict(x_test)
dot_data = StringIO()
export_graphviz(model, out_file=dot_data,
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
错误如下;
---------------------------------------------------------------------------
NotFittedError Traceback (most recent call last)
<ipython-input-57-0036434b9b2c> in <module>
16 export_graphviz(model, out_file=dot_data,
17 filled=True, rounded=True,
---> 18 special_characters=True)
19 graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
20 Image(graph.create_png())
/opt/anaconda/envs/env_python/lib/python3.6/site-
packages/sklearn/tree/export.py in export_graphviz(decision_tree, out_file,
max_depth, feature_names, class_names, label, filled, leaves_parallel,
impurity, node_ids, proportion, rotate, rounded, special_characters,
precision)
754 """
755
--> 756 check_is_fitted(decision_tree, 'tree_')
757 own_file = False
758 return_string = False
/opt/anaconda/envs/env_python/lib/python3.6/site-
packages/sklearn/utils/validation.py in check_is_fitted(estimator,
attributes, msg, all_or_any)
912
913 if not all_or_any([hasattr(estimator, attr) for attr in
attributes]):
--> 914 raise NotFittedError(msg % {'name':
type(estimator).__name__})
915
916
NotFittedError: This BalancedRandomForestClassifier instance is not fitted
yet. Call 'fit' with appropriate arguments before using this method.
export_graphviz
需要一个单一的树模型。因此,当这是一个整体时,您需要遍历树。 BalancedRandomForestClassifier
暴露了 estimators_
这种用法。正如 Parthasarathy Subburaj 所提到的,您可以循环其他 estimators_
并调用该函数。
这就是说我建议你使用sklearn.tree.plot_tree(...)
:https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html
它是一个纯 matplotlib 绘图助手,如果您只想获得图像表示而不使用 graphviz