GridSearchCV
用于调整超参数
- 向
param_grid
参数传入一个字典可以进行网格搜索. - 向
cv
参数传入一个整数可以指定交叉验证次数.
下面以逻辑回归代码为例,演示GridSearchCV
的使用:
log_reg = LogisticRegression(multi_class='ovr', solver='sag') # 创建模型
param_grid = {"tol": [1e-4, 1e-3, 1e-2], "C": [0.4, 0.6, 0.8]} # 设置备选超参数网格
grid_search = GridSearchCV(log_reg, param_grid=param_grid, cv=3) # 使用GridSearchCV封装模型
grid_result = grid_search.fit(X, y) # 进行拟合
其best_params_
属性存储了最优参数
grid_result.best_params_
# 得到 {'C': 0.8, 'tol': 0.001}
其best_estimator_
属性存储了训练好的模型
print(grid_result.best_estimator_)
# 得到 LogisticRegression(C=0.8, class_weight=None, dual=False, fit_intercept=True,
# intercept_scaling=1, l1_ratio=None, max_iter=100,
# multi_class='ovr', n_jobs=None, penalty='l2',
# random_state=None, solver='sag', tol=0.001, verbose=0,
# warm_start=False)