首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sklearn的LogisticRegression和“saga”解算器和“elasticnet”惩罚

使用sklearn的LogisticRegression和“saga”解算器和“elasticnet”惩罚
EN

Stack Overflow用户
提问于 2021-11-02 20:01:40
回答 1查看 961关注 0票数 0

我使用的是LogisticRegression,它使用的是“liblinear”求解器和默认惩罚(l2)。代码运行良好:

代码语言:javascript
复制
LR = LogisticRegression(random_state=1, solver='liblinear')
LR.fit(x_train_scaled, y_train)
x_test_scaled = min_max_scaler.transform(x_test)
y_pred = LR.predict(x_test_scaled)

我尝试了l1 (LASSO)和'liblinear‘,因为我在我的预测器中有很多相关的特征,我想把它们的系数降到零。代码运行良好,但LR性能没有提高。所以,现在我想试一试弹性网,看看它对模型的影响(必须使用“saga”解算器和弹性网)。但是现在我的代码抛出了一个我不知道如何解决的错误?

代码:

代码语言:javascript
复制
LR = LogisticRegression(random_state=1, solver='saga', penalty='elasticnet')
LR.fit(x_train_scaled, y_train)
x_test_scaled = min_max_scaler.transform(x_test)
y_pred = LR.predict(x_test_scaled)

第二行错误(拟合步骤):

代码语言:javascript
复制
ValueError: l1_ratio must be between 0 and 1; got (l1_ratio=None)
EN

回答 1

Stack Overflow用户

发布于 2022-05-31 14:00:59

代码语言:javascript
复制
diabetic_classifer = LogisticRegression(penalty='elasticnet',solver='saga',C=0.5,l1_ratio=1)
diabetic_classifer.fit(X_train, y_train)

我想你必须设置l1_ratio=1,这是参数之一。我也不完全明白。我相信我们可以把它设为0到1。

想要更多的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69816317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档