多项式逻辑回归中的分类因变量



我在数据集上使用scikit-learn LogisticRegression,其中因变量是具有 10 个可能值(标记为 1 到 10)的分类变量。我的统计知识相当简陋。

每个输出值的概率本质上受到它们必须相加为1的要求的约束,我对数学的理解是需要有一个reference category(例如最可能的类别),然后其他 9 个结果中的每一个的概率相对于参考类别的概率表示, 因此,每个解释变量实际上有 9 个系数(而不是 10 个)。

我不清楚这是否由LogisticRegression.fit()方法自动完成,如果是这样,它是否假设第一类是引用(1)? 还是我需要以某种方式处理输入数据,因此只有 9 个类别? 还是我忽略了这一点并使用 10 个系数作为输出?

LogisticRegressionscikit-learn实现通过其.fit()方法自动处理幕后的所有工作。这就是它如此有用的模块的主要原因。他们的拟合/转换/预测 API 直观且易于使用,对用户隐藏了所有算法复杂性。

它们的实现是一对一与休息方案,其中针对每个类别训练分类器,以一定的置信度识别该类别中的值或不在该类别中。为了进行预测,将比较分类器(在本例中为 10 个分类器)的各种置信度,并选择置信度最高的类。为了计算概率,此置信向量被归一化为 1,以考虑预测中的任何潜在错误。

还有一个multiclass关键字参数,它使用交叉熵损失直接预测所有 10 个类同时使用一个分类器的概率。这可能更类似于你读过的实现,但关于scikit-learn实现的文档很少。

最新更新