在多项Logistic回归上解释coefficientMatrix,interceptVector和Confusion矩阵

时间:2018-06-10 14:41:54

标签: apache-spark classification logistic-regression apache-spark-ml confusion-matrix

任何人都可以解释如何解释coefficientMatrixinterceptVectorConfusion matrix

multinomial logistic regression

根据Spark文档:

  

通过多项logistic(softmax)回归支持多类分类。在多项逻辑回归中,算法产生K组系数,或维数K×J的矩阵,其中K是结果类的数量,J是特征的数量。如果算法符合截距项,则可获得截距的长度K向量。

我使用spark ml 2.3.0转了一个例子,我得到了这个结果。

enter image description here

如果我分析得到的东西:

coefficientMatrix的维度为5 * 11

interceptVector的维度为5

如果是,为什么the Confusion matrix的维度为4 * 4

此外,任何人都可以对coefficientMatrixinterceptVector

进行解释

为什么我得到负系数?

如果5是分类后的类数,为什么我在the confusion matrix中得到4行?

修改

我忘了提到我仍然是机器学习的初学者,而且我在谷歌搜索没有帮助,所以也许我得到了一个Up Vote:)

1 个答案:

答案 0 :(得分:1)

关于4x4混淆矩阵:我想当你将数据分成测试和训练时,你的训练集中有5个课程,你的测试集中只有4个课程。如果您的响应变量的分布不平衡,则很容易发生这种情况 您希望在建模之前尝试在测试和训练之间执行某种分层划分。如果您正在使用pyspark,您可能会发现此库有用:https://github.com/databricks/spark-sklearn

现在关于多类Logistic回归的负系数:正如您所提到的,您返回的coefficientMatrix形状为5x11。 Spark通过one-all-all方法生成了五个模型。第一个模型对应于正类是第一个标签而负类由所有其他标签组成的模型。让我们说这个模型的第一个系数是-2.23。为了解释这个系数,我们取-2.23的指数,即(约)0.10。这里的解释:'随着第一个功能增加一个单位,我们预计正面标签的可能性降低90%'