sklearn "RidgeClassifier"做什么?



我试图理解sklearn.linear_modelRidgeClassifierLogisticRegression之间的区别。我在文档中找不到它。

我想我很清楚LogisticRegression的作用。它计算系数和截距以最小化half of sum of squares of the coefficients + C times the binary cross-entropy loss,其中C是正则化参数。我从零开始检查了一个天真的实现,结果一致。

RidgeClassifier的结果不同,我不明白,系数和截距是如何计算的?看看Github代码,我没有足够的经验来解开它

我之所以这么问,是因为我喜欢RidgeClassifier的结果——它能更好地概括我的问题。但在我使用它之前,我至少想知道它是从哪里来的。

感谢您可能提供的帮助。

RidgeClassifier()的工作方式与具有l2惩罚的LogisticRegression()不同。CCD_ 5的损失函数不是交叉熵。

RidgeClassifier()以以下方式使用Ridge()回归模型来创建分类器:

为了简单起见,让我们考虑二进制分类

  1. 根据目标变量所属的类将其转换为+1-1

  2. 建立一个Ridge()模型(这是一个回归模型)来预测我们的目标变量。损失函数为MSE + l2 penalty

  3. 如果Ridge()回归的预测值(根据decision_function()函数计算)大于0,则预测为正类或负类。

对于多类别分类

  1. 使用LabelBinarizer()创建多输出回归场景,然后训练独立的Ridge()回归模型,每个类一个(one Vs Rest建模)。

  2. 从每个类的Ridge()回归模型中获得预测(每个类的实数),然后使用argmax来预测该类。

相关内容

  • 没有找到相关文章

最新更新