我试图理解RidgeClassifier和LogisticRegression在sklearn.linear_model中的区别。我在文件里找不到。
我认为我非常理解LogisticRegression does.It计算系数和拦截以最小化half of sum of squares of the coefficients + C times the binary cross-entropy loss,其中C是正则化参数。我从零开始检查一个简单的实现,结果是一致的。
RidgeClassifier的结果是不同的,我也搞不清楚,这里的系数和截距是如何计算的?看一下Github代码,我还没有足够的经验来解开它。
我之所以问这个问题,是因为我喜欢RidgeClassifier的结果--它对我的问题有更好的概括。但在我使用之前,我至少想知道它是从哪里来的。
谢谢你可能的帮助。
发布于 2018-12-24 10:12:10
RidgeClassifier()的工作方式与带有l2惩罚的LogisticRegression()不同。RidgeClassifier()的损失函数不是交叉熵。
RidgeClassifier()以下列方式使用Ridge()回归模型来创建分类器:
为了简单起见,让我们考虑二进制分类。
+1或-1。Ridge()模型(这是一个回归模型)来预测我们的目标变量。损失函数为MSE + l2 penaltyRidge()回归的预测值(基于decision_function()函数计算)大于0,则将其作为正类其他负类进行预测。适用于多类分类
Ridge()回归模型,每个类一个(一个Vs-Rest模型)。Ridge()回归模型(每个类的实数)中获得预测,然后使用argmax来预测该类。https://stackoverflow.com/questions/53911663
复制相似问题