from sklearn.ensemble import RandomForestClassifier
from sklearn import tree
rf = RandomForestClassifier()
rf.fit(X_train, y_train)
n_nodes = rf.tree_.node_count
每次运行此代码时,都会出现以下错误
'RandomForestClassifier'对象没有属性'tree _'
任何想法
答案 0 :(得分:0)
根据scikit-learn documentation,它没有.tree_
属性。
它只有estimators_
,classes_
,n_classes_
,n_features_
,n_outputs_
,feature_importances_
,oob_score_
和oob_decision_function_
属性。
答案 1 :(得分:0)
您想从林中取出一个DecisionTreeClassifier
。在documentation中,base_estimator_
是DecisionTreeClassifier
,而estimators_
是DecisionTreeClassifier
的列表。对您的代码所做的更改是:
from sklearn.ensemble import RandomForestClassifier
from sklearn import tree
rf = RandomForestClassifier()
rf.fit(X_train, y_train)
n_nodes = rf.base_estimator_.tree_.node_count
or
n_nodes = rf.estimators_[0].tree_.node_count
答案 2 :(得分:-1)
'tree _'不是RandomForestClassifier属性。它是DecisionTreeClassifiers的属性。
使用RandomForestClassifier时不应该使用它,不需要它。