Loop: 0
--------------
R2 score: 0.900071279487
Best Score: 0.61802821072
Best params: {'max_features': 'log2', 'min_samples_split': 2, 'bootstrap': False, 'n_estimators': 10}
Loop: 1
--------------
R2 score: 0.993462885564
Best Score: 0.671309726329
Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': False, 'n_estimators': 10}
Loop: 2
--------------
R2 score: -0.181378339338
Best Score: -30.9012120698
Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': True, 'n_estimators': 20}
Loop: 3
--------------
R2 score: 0.750116663033
Best Score: 0.71472985391
Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': False, 'n_estimators': 30}
Loop: 4
--------------
R2 score: 0.692075744759
Best Score: 0.715012972471
Best params: {'max_features': 'sqrt', 'min_samples_split': 2, 'bootstrap': True, 'n_estimators': 30}
¿Почему я получаю разные результаты в оценке R2?, ¿Это потому, что я выбираю CV=5?, ¿Это потому, что я не определил random_state=0 в своем RandomForestRegressor() ?
Я хочу улучшить параметры этого [b]GridSearchCV[/b] для [b]регрессора случайного леса[/b].
[code]def Grid_Search_CV_RFR(X_train, y_train): from sklearn.model_selection import GridSearchCV from sklearn.model_selection import ShuffleSplit from sklearn.ensemble import RandomForestRegressor
def splitter_v2(tab,y_indicator): from sklearn.model_selection import train_test_split # Asignamos X e y, eliminando la columna y en X X = correlacion(tab,y_indicator) y = tab[:,y_indicator] # Separamos Train y Test respectivamente para X e y X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) return X_train, X_test, y_train, y_test [/code]
Я использовал эту [b]функцию[/b] 5 раз с этим кодом:
[code]Loop: 0 -------------- R2 score: 0.900071279487 Best Score: 0.61802821072 Best params: {'max_features': 'log2', 'min_samples_split': 2, 'bootstrap': False, 'n_estimators': 10} Loop: 1 -------------- R2 score: 0.993462885564 Best Score: 0.671309726329 Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': False, 'n_estimators': 10} Loop: 2 -------------- R2 score: -0.181378339338 Best Score: -30.9012120698 Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': True, 'n_estimators': 20} Loop: 3 -------------- R2 score: 0.750116663033 Best Score: 0.71472985391 Best params: {'max_features': 'log2', 'min_samples_split': 4, 'bootstrap': False, 'n_estimators': 30} Loop: 4 -------------- R2 score: 0.692075744759 Best Score: 0.715012972471 Best params: {'max_features': 'sqrt', 'min_samples_split': 2, 'bootstrap': True, 'n_estimators': 30} [/code]
¿Почему я получаю [b]разные результаты[/b] в [b]оценке R2[/b]?, ¿Это потому, что я выбираю [b] CV=5[/b]?, ¿Это потому, что я не определил [b]random_state=0[/b] в своем [b]RandomForestRegressor()[/b] ?