настройка гиперпараметров с использованием перекрестной проверки kfold на данных обучения - PullRequest
0 голосов
/ 15 мая 2019

Я хочу применить настройку гиперпараметров к данным обучения в перекрестной проверке 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?

...