В Sklearn есть GridSearchCV для проверки нескольких переменных на функции классификатора, например:
parameters = {
'learning_rate': [0.001,0.005,0.003],
'n_estimators': [300,800,1200],
'criterion': ['friedman_mse','mse','mae'],
'verbose':[1],
'loss' : ['deviance','exponential'],
'random_state':[0]
}
GBC = GradientBoostingClassifier()
grid = GridSearchCV(GBC, parameters)
grid.fit(X,y ) # X = data, y = result
best_est = grid.best_estimator_
print(best_est)
predictions = best_est.predict(T) # T contains data to apply it on.
Но что если вы захотите сделать перекрестную проверку?Например, аналогично train_test_split
:
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=41)
Здесь у нас есть random_state
(что может оказать большое влияние).Можно ли включить GridSearchCV с массивом из нескольких случайных чисел, чтобы убедиться, что он оптимально работает с «большинством» случайных состояний разделения данных / тестов некоторых данных?
Для записи я знаю, что это не так »t внутри GridSearchCV (или, насколько я знаю), я спрашиваю здесь, как может выглядеть такой метод.Возможно, есть какой-нибудь умный способ сделать это?