逻辑回归模型如何调参,python示例
时间: 2023-07-11 09:48:24 浏览: 54
逻辑回归模型常用的调参方法有网格搜索和随机搜索。
网格搜索是通过指定多个参数的取值范围,对所有可能的参数组合进行尝试,选择效果最好的一组参数。示例代码如下:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
param_grid = {
'C': [0.001, 0.01, 0.1, 1, 10, 100],
'penalty': ['l1', 'l2']
}
grid_search = GridSearchCV(LogisticRegression(), param_grid, cv=5)
grid_search.fit(X, y)
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
随机搜索是随机选择指定参数范围内的参数组合进行尝试,可以通过设置迭代次数或时间来控制搜索的范围。示例代码如下:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import RandomizedSearchCV
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
param_dist = {
'C': [0.001, 0.01, 0.1, 1, 10, 100],
'penalty': ['l1', 'l2']
}
random_search = RandomizedSearchCV(LogisticRegression(), param_distributions=param_dist, n_iter=10, cv=5)
random_search.fit(X, y)
print("Best parameters: ", random_search.best_params_)
print("Best score: ", random_search.best_score_)
```
以上代码示例中,使用了 scikit-learn 库中的 GridSearchCV 和 RandomizedSearchCV 来进行模型的参数调优。其中 GridSearchCV 是通过指定参数网格进行穷举搜索,随机搜索则是通过指定参数的分布范围进行随机采样。