В чем разница между model.feature_importances_
и tree.feature_importances_
в следующем коде:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
# Boston Housing dataset
from sklearn.datasets import load_boston
boston = load_boston()
# Convert 'skleran.bunch' to Pandas dataframe
data = pd.DataFrame(boston.data, columns=boston.feature_names)
# Create train and test sets for cross-validation
X,y = data.iloc[:,:-1], data.iloc[:,-1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state = 123)
model = RandomForestRegressor()
model.fit(X_train, y_train)
Как я понимаю, важность функций заключается в следующем:
importance = model.feature_importances_
importance_df = pd.DataFrame(importance, index=X_train.columns,
columns=["Importance"])
Importance
-----------------
CRIM 0.025993
ZN 0.002781
INDUS 0.004832
CHAS 0.000315
NOX 0.028655
RM 0.406285
AGE 0.017987
DIS 0.040696
RAD 0.003615
TAX 0.009281
PTRATIO 0.009103
B 0.012354
LSTAT 0.438106
И что равно tree.feature_importance
?:
[tree.feature_importances_ for tree in model.estimators_]
Чем они отличаются, рассчитаны и что важнее 0,2 или 0,9? Не могу найти в документах.