📌  相关文章
📜  “ValueError:求解器 lbfgs 仅支持 'l2' 或 'none' 惩罚,得到 l1 惩罚.”在机器学习中 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:48:44.607000             🧑  作者: Mango

ValueError:求解器 lbfgs 仅支持 'l2' 或 'none' 惩罚,得到 l1 惩罚.

在机器学习中,我们经常使用不同的求解器来训练模型,以便在给定数据上进行预测。lbfgs是一种常见的求解器,但它仅支持l2或none惩罚。如果您在使用lbfgs求解器时选择了l1惩罚,则会出现ValueError。

该错误意味着您需要更改您的模型参数,以便使用l2或没有惩罚。在Python中,您可以使用sklearn库中的LogisticRegression来实现这一点,如下所示:

from sklearn.linear_model import LogisticRegression

# create a logistic regression object with penalty = 'l2'
logistic = LogisticRegression(penalty='l2', solver='lbfgs')

在这个示例中,我们创建了一个LogisticRegression对象,并将其penalty参数设置为'l2',以使用lbfgs求解器。如果您想使用l1惩罚,您需要选择另一个求解器,比如liblinear,如下所示:

from sklearn.linear_model import LogisticRegression

# create a logistic regression object with penalty = 'l1'
logistic = LogisticRegression(penalty='l1', solver='liblinear')

这里,我们将penalty参数设置为'l1',使用liblinear求解器。

无论您选择哪个求解器和惩罚,都需要记住,这些参数直接影响您的模型的性能和准确性。因此,您应该仔细地评估您的模型,并测试不同的参数值,以确定最佳的选择。