在多项逻辑回归中解释系数矩阵、截距向量和混淆矩阵

Posted

技术标签:

【中文标题】在多项逻辑回归中解释系数矩阵、截距向量和混淆矩阵【英文标题】:Interpreting coefficientMatrix, interceptVector and Confusion matrix on multinomial logistic regression 【发布时间】:2018-11-19 22:37:36 【问题描述】:

谁能解释如何解释coefficientMatrixinterceptVector Confusion matrix

multinomial logistic regression

根据 Spark 文档:

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

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

.

如果我分析我得到的:

coefficientMatrix 的维度为 5 * 11

interceptVector 的维度为 5

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

另外,谁能解释一下coefficientMatrixinterceptVector

为什么我得到负系数?

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

编辑

我忘了说我还是机器学习的初学者,我在谷歌上的搜索没有帮助,所以也许我得到了赞成票:)

【问题讨论】:

【参考方案1】:

关于 4x4 混淆矩阵:我想当您将数据拆分为测试和训练时,您的训练集中有 5 个类,而您的测试集中只有 4 个类。如果响应变量的分布不平衡,这很容易发生。 在建模之前,您需要尝试在测试和训练之间执行一些分层拆分。如果您正在使用 pyspark,您可能会发现这个库很有帮助:https://github.com/databricks/spark-sklearn

现在关于多类 Logistic 回归的负系数:正如您所提到的,您返回的 coefficientMatrix 形状是 5x11。 Spark 通过一对多的方法生成了五个模型。第一个模型对应于模型,其中正类是第一个标签,负类由所有其他标签组成。假设这个模型的第一个系数是-2.23。为了解释这个系数,我们采用 -2.23 的指数,即(大约)0.10。此处的解释:“随着第一个特征增加一个单位,我们预计正面标签的几率会降低 90%”

【讨论】:

以上是关于在多项逻辑回归中解释系数矩阵、截距向量和混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章

R语言编写自定义函数计算分类模型评估指标:准确度特异度敏感度PPVNPV数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)

R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化lasso回归模型分类评估计算(混淆矩阵accuracyDeviance)

R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化岭回归模型分类评估计算(混淆矩阵accuracyDeviance)

R语言glm拟合logistic回归模型:输出logistic回归的summary信息可视化logistic回归模型的系数logistic回归模型分类评估计算(混淆矩阵accuracy偏差)

如何获得 PLS 回归的截距(sklearn)

如何获得逻辑回归中的权重向量?