使用CVXPY实现的逻辑回归与Scikit-learn无正则化版本结果不一致问题求助
CVXPY实现的逻辑回归与Scikit-learn无正则化版本结果不一致问题求助
大家好,我最近尝试用CVXPY库实现逻辑回归模型,目前写的代码能正常执行,没有报错,也能输出一个解,但这个解和Scikit-learn里的无正则化逻辑回归结果完全对不上。
我知道Scikit-learn的逻辑回归默认带L2正则,所以特意把它的penalty参数设成了None,同时还关闭了截距项(fit_intercept=False),但就算做了这些调整,两者的结果还是不匹配。
下面是我用到的Scikit-learn部分的代码:
import cvxpy as cp from sklearn.datasets import make_classification from sklearn.linear_model import LogisticRegression X, y = make_classification(n_features=10, random_state=42) sk = LogisticRegression(penalty=None, fit_intercept=False) sk.fit(X, y) print(sk.coef_)
这段代码的输出是:
[[-13.46939518 -7.09935934 19.41989522 -10.36990818 3.76335965 2.84616038 3.32474461 -2.84162961 3.13246888 1.088879...]]
我自己用CVXPY实现的代码运行后得到的系数和上面的完全不一样,有没有大佬能帮我看看问题出在哪里呀?
备注:内容来源于stack exchange,提问作者Álvaro Méndez Civieta
相关产品推荐
相关产品推荐

