Я хочу применить настройку гиперпараметров к данным обучения в перекрестной проверке kfold, чтобы оценить наилучшие параметры, которые будут выбраны, и, соответственно, позже я запишу лучшие гиперпараметры и использую их для обучения модели иtesting.
Мне интересно, как мы можем поместить настройку гиперпараметров в цикл перекрестной проверки kfold .Однако вот как я обычно использую kfold:
kfold = KFold(n_splits=4, random_state=42)
model = LinearRegression()
results = cross_val_score(model, X, Y, cv=kfold, scoring='r2')
print("R2: %.3f%% (%.3f%%)" % (results.mean() * 100.0, results.std() * 100.0))
Но так как я хочу получить доступ к циклу kfold, могу ли я сделать следующее ????
kf = KFold(n_splits=4, random_state=42)
kf.get_n_splits(X)
predicted_y = []
expected_y = []
for train_index, test_index in kf.split(X):
# print("TRAIN:", train_index, "TEST:", test_index)
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
regressor = LinearRegression()
regressor.fit(X_train, y_train)
predicted_y.extend(regressor.predict(X_test))
expected_y.extend(y_test)
accuracy = r2_score(expected_y, predicted_y)
print("R2: ", accuracy)
и если дакак мне вставить резюме GridSearch?