以图形方式呈现多项式模型的结果

机器算法验证 造型 解释 多项分布
2022-04-04 12:54:11

我正在使用一堆多项式模型,并且展示带有所有系数的表格变得非常乏味,你们知道任何资源可以显示如何以图形方式展示这些模型,因此可以排除所有表格,或者放入附录?

2个回答
  • 如果您仍然对系数感兴趣,

  • 并且您的“一堆模型”彼此相等(例如,超出引导程序或迭代/重复交叉验证,或模型集成)

然后你可以在变量上绘制系数(箱线图,平均值±标准偏差,...): 变量系数

当然,如果您只有几个变量,您可以按照这些思路总结您的表格。

此外,您可以明智地将系数与(测试)数据元素相乘,并将这些结果绘制在变量上。这可以让您了解哪个变量对最终结果的贡献有多大(仅适用于一个模型): 每个变量对分数的贡献

我一直在用它来讨论 LDA 模型(这就是图形显示 LD 系数的原因),但只要分数(结果βX) 可以在模型中具有相同的含义,并且每个变量都有一个系数。请注意,我使用光谱数据集,因此我还有一个额外的优势,即变量具有具有物理意义的内在顺序(光谱维度,例如示例中的波长或波数)。

如果您需要详细信息,这就是整个故事

这是一个代码示例(数据集没有经过预处理,所以模型可能没有多大意义)

library (hyperSpec) # I'm working with spectra 
                    # and use the chondro data set
## make a model
library (MASS)
model <- lda (clusters ~ spc, data = chondro$.) # this is a really terrible 
                                                # thing to do: the data set
                                                # has only rank 10!

## make the coefficient plot 
coef <- decomposition (chondro, t (coef (model)), scores = FALSE)
plot (coef, stacked = TRUE)
  • decomposition从系数中创建一个 hyperSpec 对象。如果您不使用光谱,您可能希望coef (model)直接绘制

  • 如果我有更多模型,我会绘制系数的平均值 ± 1 sd

现在贡献谱:

contributions <- lapply (1 : 2, 
   function (i) sweep (chondro, 2, coef [[i,]], `*`)
)
contributions <- do.call (rbind, contributions)
contributions$coef <- rep (1 : 2, each = nrow (chondro))

tmp <- aggregate (contributions, 
                  list (contributions$clusters, contributions$coef), 
                  FUN = mean_pm_sd)

cols <- c ("dark blue", "orange", "#C02020")
plotspc (tmp, stacked = ".aggregate", fill = ".aggregate", 
         col = rep (cols, 2))

您通常感兴趣的不是系数,而是可能是边际效应或类似的东西。这是一个为您绘制这些图的包: http: //cran.r-project.org/web/packages/effects 我认为它在 R 杂志中得到了专题介绍,但这些示例已经足够漂亮了。