Tive problemas no momento de utilizar esse método, pois o "X_train" ou "y_train" estavam em um formato inadequado. Não sei se pulei algum passo da aula para gerar esse problema, mas cheguei na seguinte solução:
if isinstance(X_train, pd.Series):
X_train = X_train.to_frame()
if len(X_train.shape) == 1:
X_train = X_train.values.reshape(-1, 1)
if len(y_train.shape) == 2 and y_train.shape[1] == 1:
y_train = y_train.ravel()
cv = KFold(n_splits=5, shuffle=True, random_state=42)
model_grid = GridSearchCV(
RandomForestRegressor(random_state= 42 ),
param_grid = param_grid,
scoring = 'r2',
cv = cv
)
model_grid.fit(X_train, y_train)
Logo em seguida, apresentou outro erro parecido, já deixo a correção que encontrei:
if isinstance(X_test, pd.Series):
X_test = X_test.to_frame()
if len(X_test.shape) == 1:
X_test = X_test.values.reshape(-1, 1)
y_pred_model_grid = model_grid.predict(X_test)
metricas_model_grid = calcular_metricas_regressao(y_test, y_pred_model_grid)
metricas_model_grid