使用GridSearchCV调整超参数

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)

你可能感兴趣的:(随笔)