在多项逻辑回归中解释系数矩阵、截距向量和混淆矩阵
Posted
技术标签:
【中文标题】在多项逻辑回归中解释系数矩阵、截距向量和混淆矩阵【英文标题】:Interpreting coefficientMatrix, interceptVector and Confusion matrix on multinomial logistic regression 【发布时间】:2018-11-19 22:37:36 【问题描述】:谁能解释如何解释coefficientMatrix
、interceptVector
、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
?
另外,谁能解释一下coefficientMatrix
,interceptVector
?
为什么我得到负系数?
如果分类后的类数是 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偏差)