【发布时间】:2019-04-21 17:33:38
【问题描述】:
最近我将我的代码从 R 复制到 Python,我确实需要一些关于代码的帮助。据我所知,sklearn中的逻辑回归只包含l1或l2正则化项,分别代表lasso和岭回归。但是,同时实现 l1 和 l2 正则化项,即 ElasticNet 可能会更好。
在R的情况下,有一个值得注意的包glmnet可以完美地部署上述想法,而python中的包glmnet在我的电脑中似乎只支持Linux系统而不是windows 10(请参考@ 987654321@)
另外,如果包能可视化结果(比如收缩路径)会好很多
#logtistic with penalty terms in sklearn
from sklearn.linear_model import LogisticRegression
LogisticRegression(C=0.1,random_state=seed,penalty='l1')
LogisticRegression(C=0.1,random_state=seed,penalty='l2')
【问题讨论】:
-
好吧,我发现 sklearn.linear_model.SGDClassifier 通过将损失函数实现为“log”并惩罚为“elasticnet”,这似乎是正确的模型。所以剩下的问题就是可视化结果的方式(请看github.com/bbalasub1/glmnet_python/blob/master/test/…)
标签: python