У меня есть набор данных с 19 функциями и 90 записями.
X.shape
Out[196]: (90, 19)
Форма выходной переменной:
Y.shape
Out[197]: (90,)
Я пытаюсь запустить регрессор случайного леса на моем данные, которые дают довольно хороший квадрат r2 на всей выборке данных:
random_forest = RandomForestRegressor(n_estimators=50, random_state=0, min_impurity_split = 0.05, max_depth = 5).fit(X,Y)
random_forest_r2 = random_forest.score(X,Y)
random_forest_r2
Out[205]: 0.8896383918938593
однако при использовании перекрестной проверки для проверки точности модели среднее значение r2 является отрицательным:
random_forest_cross_validation = cross_val_score(random_forest,X,Y,cv = 5, scoring = 'r2').mean()
random_forest_cross_validation = -0.4020013625
Помогает ли Gridsearchcv
найти параметры с высокой общей точностью или с моими характеристиками и данными, «Случайный лес» не является хорошим выбором?