机器学习用网格搜索对逻辑回归调参写代码
时间: 2023-02-06 11:21:33 浏览: 94
在使用机器学习的逻辑回归模型时,我们可以使用网格搜索来调节超参数,使得模型在验证集上的表现最优。
首先,我们需要准备好超参数的取值范围。在逻辑回归中,常见的超参数包括正则化系数和优化器的参数。
然后,我们可以使用 Python 的网格搜索工具 `GridSearchCV` 来实现网格搜索。首先,我们需要定义一个 `LogisticRegression` 的估计器,并为其指定超参数的取值范围。然后,我们可以使用 `GridSearchCV` 对超参数进行网格搜索。
例如:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV
# 定义逻辑回归估计器
logistic_regression = LogisticRegression()
# 定义超参数的取值范围
param_grid = {'C': [0.001, 0.01, 0.1, 1, 10, 100], 'solver': ['lbfgs', 'liblinear', 'sag', 'saga']}
# 使用网格搜索进行调参
grid_search = GridSearchCV(logistic_regression, param_grid, cv=5, scoring='accuracy', return_train_score=True)
# 在训练集上训练模型
grid_search.fit(X_train, y_train)
# 打印最优的超参数
print("Best parameters: {}".format(grid_search.best_params_))
# 打印在验证集上的最优分数
print("Best cross-validation score: {:.2f}".format(grid_search.best_score_))
# 在测试集上评估模型
test_score