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

Categorical dependent variable in Multinomial Logistic Regression

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

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

我不清楚这是否由 LogisticRegression.fit() 方法自动完成,如果是,是否假定第一类是参考 (1)? 还是我需要以某种方式处理输入数据以便只有 9 个类别? 还是忽略它并使用输出的 10 个系数?

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

他们的实施是一种一对一的方案,其中对于每个类别,训练一个 classifier 以一定的置信度来识别该类别中的值或不在该类别中的值。为进行预测,比较 class 赋值器(在您的案例中为 10 class 赋值器)的各种置信度,并选择具有最高置信度的 class。为了计算概率,将此置信向量归一化为 1 以说明预测中的任何潜在错误。

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