params={'learning_rate' : [0.07, 0.05],
'max_depth' : [3, 5, 7],
'n_estimators' : [100, 200],
'subsample':[0.9, 0.8, 0.7]
}
# 데이터셋 로드
def make_dataset2():
dataset = load_diabetes()
df = pd.DataFrame(dataset.data, columns=dataset.feature_names)
df['target'] = dataset.target
return df.drop('target', axis=1), df['target']
x, y = make_dataset2()
xgb = XGBRegressor()
grid = GridSearchCV(xgb, params, cv = 3, n_jobs = -1)
grid.fit(x, y)
grid.best_params_

from sklearn.model_selection import RandomizedSearchCV
xgb = XGBRegressor()
grid = RandomizedSearchCV(xgb, params, cv = 3, n_iter = 10, n_jobs = -1)
grid.fit(x, y)
grid.best_params_

n_iter = 횟수 제한(10번의 최적의 조합을 찾아라)