Вы получаете доступ к отдельным деревьям, используя .estimators_
, а затем вызываете feature_importances_
Вот пример:
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=4,
n_informative=2, n_redundant=0,
random_state=0, shuffle=False)
clf = RandomForestClassifier(n_estimators=5, max_depth=2,
random_state=0)
clf.fit(X, y)
feature_imp_ = [tree.feature_importances_.T for tree in clf.estimators_]
выход:
[array([0.02057642, 0.96636638, 0. , 0.01305721]),
array([0.86128406, 0. , 0.13871594, 0. ]),
array([0.00471007, 0.98648234, 0. , 0.00880759]),
array([0.02730208, 0.97269792, 0. , 0. ]),
array([0.65919044, 0.34080956, 0. , 0. ])]