我试图了解脊分类器和logisticRecongress在sklearn.linear_model中的区别。我在文件里找不到。
我想我很理解logisticRegregation的作用,它计算系数和截距以最小化half of sum of squares of the coefficients + C times the binary cross-entropy loss,其中c是正则化参数。我从头检查了一个天真的实现,结果是一致的。
脊分类器的结果不同,我不知道,如何计算系数和截距?看看github代码,我没有足够的经验来解开它。
我之所以问这个问题,是因为我喜欢脊分类器的结果——它对我的问题概括得更好一些。但在我使用它之前,我至少想知道它是从哪里来的。
谢谢你的帮助。

最佳答案

RidgeClassifier()的工作方式不同于LogisticRegression()的l2惩罚。RidgeClassifier()的损失函数不是交叉熵。
RidgeClassifier()按以下方式使用Ridge()回归模型创建分类器:
为了简单起见,让我们考虑二进制分类。
根据所属的类生成值为+1-1的目标变量。
建立一个回归模型来预测我们的目标变量。损失函数Ridge()
如果RMSE + l2 penality回归的预测值(根据Ridge()函数计算)大于0,则预测为正类否则为负类。
对于多类分类:
使用decision_function()创建多输出回归场景,然后训练独立的LabelBinarizer()回归模型,每个类一个(一个vs rest建模)。
从每个类的Ridge()回归模型(每个类的实数)中获取预测,然后使用Ridge()预测该类。

08-24 15:16