有谁知道 Pyspark 多项式逻辑回归中的默认引用组是什么。例如,我们有多类结果/A, B, C, and D
目标。
火花如何选择参考类别?在其他软件的标准逻辑回归中(例如R
、SAS
( 您可以自行设置引用组。因此,如果您的引用是A
,则可以将n-1
模型拟合在一起,并将目标类建模为A vs B, A vs C, and A vs D
。
您希望控制此过程,因为如果将值数较少的结果(观测值的小样本(设置为参考,则估计值将不稳定。
这是 pyspark 中多项式逻辑回归模型的链接。这里的结果类是 0、1、2,但没有明确引用是什么。我假设它可能为零,但不确定。
我相信默认情况下,它不使用引用组。这就是为什么,如果你从链接运行截图,你会发现所有截距的非零值。
来自 scala 源: https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/ml/optim/aggregator/LogisticAggregator.scala
- 请注意,多项式(softmax(和二进制损失之间存在差异。二进制案例
- 使用一个结果类作为"透视",并针对该透视回归另一个类。在
- 多项式情况,Softmax损失函数用于对每个类概率进行建模
- 独立地。使用 softmax 损失会产生
K
组系数,而使用枢轴类- 生成
K - 1
个系数集(二进制情况下为单个系数向量(。在- 二元情况下,我们可以说系数在正负之间共享
- 类。。。
它继续讨论系数通常如何不可识别(这就是为什么人们会选择一个参考标签(,但是当应用正则化时,系数确实变得可识别。