多项逻辑回归中的分类因变量
Categorical dependent variable in Multinomial Logistic Regression
我在一个数据集上使用 scikit-learn LogisticRegression
,其中因变量是一个具有 10 个可能值(标记为 1 到 10)的分类变量。我的统计知识还比较初级。
每个输出值的概率本质上受到它们必须总和为 1
的要求的限制,我对数学的理解是需要有一个 reference category
(例如最可能类别)并且其他 9 个结果中的每一个的概率然后相对于参考类别的概率表示,因此实际上每个解释变量有 9 个系数(而不是 10 个)。
我不清楚这是否由 LogisticRegression.fit()
方法自动完成,如果是,是否假定第一类是参考 (1
)?
还是我需要以某种方式处理输入数据以便只有 9 个类别?
还是忽略它并使用输出的 10 个系数?
LogisticRegression
的 scikit-learn
实现通过其 .fit()
方法自动处理所有幕后工作。这是它如此有用的模块的主要原因。他们的 fit/transform/predict API 直观且易于使用,对用户隐藏了所有算法的复杂性。
他们的实施是一种一对一的方案,其中对于每个类别,训练一个 classifier 以一定的置信度来识别该类别中的值或不在该类别中的值。为进行预测,比较 class 赋值器(在您的案例中为 10 class 赋值器)的各种置信度,并选择具有最高置信度的 class。为了计算概率,将此置信向量归一化为 1 以说明预测中的任何潜在错误。
还有一个 multiclass
关键字参数,它使用交叉熵损失直接用一个 classifier 同时预测所有 10 个 class 的概率。这可能更类似于您读过的实现,但是关于 scikit-learn
实现的文档很少。
我在一个数据集上使用 scikit-learn LogisticRegression
,其中因变量是一个具有 10 个可能值(标记为 1 到 10)的分类变量。我的统计知识还比较初级。
每个输出值的概率本质上受到它们必须总和为 1
的要求的限制,我对数学的理解是需要有一个 reference category
(例如最可能类别)并且其他 9 个结果中的每一个的概率然后相对于参考类别的概率表示,因此实际上每个解释变量有 9 个系数(而不是 10 个)。
我不清楚这是否由 LogisticRegression.fit()
方法自动完成,如果是,是否假定第一类是参考 (1
)?
还是我需要以某种方式处理输入数据以便只有 9 个类别?
还是忽略它并使用输出的 10 个系数?
LogisticRegression
的 scikit-learn
实现通过其 .fit()
方法自动处理所有幕后工作。这是它如此有用的模块的主要原因。他们的 fit/transform/predict API 直观且易于使用,对用户隐藏了所有算法的复杂性。
他们的实施是一种一对一的方案,其中对于每个类别,训练一个 classifier 以一定的置信度来识别该类别中的值或不在该类别中的值。为进行预测,比较 class 赋值器(在您的案例中为 10 class 赋值器)的各种置信度,并选择具有最高置信度的 class。为了计算概率,将此置信向量归一化为 1 以说明预测中的任何潜在错误。
还有一个 multiclass
关键字参数,它使用交叉熵损失直接用一个 classifier 同时预测所有 10 个 class 的概率。这可能更类似于您读过的实现,但是关于 scikit-learn
实现的文档很少。