'solver': ['newton-cg', 'sag', 'saga', 'lbfgs'],可以有其它值吗?
时间: 2023-10-23 09:55:26 浏览: 276
除了 'newton-cg', 'sag', 'saga', 'lbfgs' 之外, Logistic回归模型还有其他求解器可供选择。以下是一些常见的求解器选项:
- 'liblinear':使用坐标轴下降法来求解,适用于较小的数据集。
- 'sag':随机平均梯度下降算法,适用于大规模数据集。
- 'saga':随机平均梯度下降算法的改进版,适用于大规模数据集。
- 'newton-cg':牛顿共轭梯度法,适用于多类别问题。
你可以根据你的数据集大小和问题类型选择合适的求解器。如果你不指定 solver 参数,默认情况下会使用 'lbfgs' 求解器。
在网格搜索中,将这些求解器添加到 param_grid 中,然后网格搜索将会尝试所有可能的组合。例如:
```python
param_grid = {
'C': [0.1, 1.0, 10.0],
'penalty': ['l1', 'l2'],
'solver': ['newton-cg', 'sag', 'saga', 'lbfgs', 'liblinear']
}
```
这样,网格搜索将尝试以上提到的所有求解器选项,并找到最佳组合。
相关问题
param_grid = { 'C': [0.1, 1.0, 10.0], 'penalty': ['l1', 'l2'], 'solver': ['newton-cg', 'sag', 'saga', 'lbfgs'] }
param_grid = {
'C': [0.1, 1.0, 10.0],
'penalty': ['l1', 'l2'],
'solver': ['newton-cg', 'sag', 'saga', 'lbfgs'],
'multi_class': ['ovr', 'multinomial']
}
在调整超参数的过程中,你可以将'multi_class'参数添加到param_grid中。它有两个可选值:'ovr'和'multinomial'。'ovr'表示一对多策略,每个类别都与其他类别进行二分类比较。'multinomial'表示多项式策略,直接进行多类别分类。你可以根据你的问题选择合适的'multi_class'值。
同时,你也可以根据实际情况修改其他超参数的候选值,以便更好地调整模型。
The 'solver' parameter of LogisticRegression must be a str among {'sag', 'newton-cholesky', 'liblinear', 'lbfgs', 'saga', 'newton-cg'}. Got 'liblineaar' instead.
这个错误是因为你在使用LogisticRegression时,传入的solver参数不符合要求。solver参数必须是一个字符串,取值范围为 {'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga'}。而你传入的值是'liblineaar',拼写错误了。
你需要检查一下代码,确保在调用Logistic Regression时,solver参数的取值符合要求。如果你想使用liblinear(坐标轴下降法)求解器,应该将solver设置为'liblinear';如果你想使用其他求解器,可以将solver设置为'newton-cg'、'lbfgs'、'sag'或者'saga',具体选择哪个求解器取决于你的数据集大小、特征数量和训练时间等因素。
阅读全文