И действительно, вы можете использовать весь набор данных для окончательного обучения, как указано в вопросе о данных.

аюсь решить проблему регрессии наБостонский набор данных с помощьюслучайный лесной регрессорЯ использовалGridSearchCV для выбора лучших гиперпараметров.

Проблема 1

Должен ли я соответствоватьGridSearchCV на некоторыхX_train, y_train а затем получить лучшие параметры.

ИЛИ ЖЕ

Должен ли я соответствовать это наX, y чтобы получить лучшие параметры. (X, y = весь набор данных)

Проблема 2

Скажи, если я подхожуX, y и получить лучшие параметры, а затем построить новую модель на этих лучших параметров. Теперь, как я должен тренировать эту новую модель?

Должен ли я тренировать новую модель наX_train, y_train или жеX, y.

Проблема 3

Если я тренирую новую модель наX,y тогда как я буду проверять результаты?

Мой код пока

   #Dataframes
    feature_cols = ['CRIM','ZN','INDUS','NOX','RM','AGE','DIS','TAX','PTRATIO','B','LSTAT']

    X = boston_data[feature_cols]
    y = boston_data['PRICE']

Поезд Тест Сплит данных

from sklearn.cross_validation import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 1)

Grid Search, чтобы получить лучшие гиперпараметры

from sklearn.grid_search import GridSearchCV
param_grid = { 
    'n_estimators': [100, 500, 1000, 1500],
    'max_depth' : [4,5,6,7,8,9,10]
}

CV_rfc = GridSearchCV(estimator=RFReg, param_grid=param_grid, cv= 10)
CV_rfc.fit(X_train, y_train)

CV_rfc.best_params_ 
#{'max_depth': 10, 'n_estimators': 100}

Обучите модель по max_depth: 10, n_estimators: 100

RFReg = RandomForestRegressor(max_depth = 10, n_estimators = 100, random_state = 1)
RFReg.fit(X_train, y_train)
y_pred = RFReg.predict(X_test)
y_pred_train = RFReg.predict(X_train)

RMSE:2.8139766730629394

Я просто хочу, чтобы некоторые рекомендации о том, какие правильные шаги будут

Ответы на вопрос(2)

Ваш ответ на вопрос