当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R broom glance.glmnet 浏览 a(n) glmnet 对象


Glance 接受模型对象并返回 tibble::tibble(),其中仅包含一行模型摘要。摘要通常是拟合优度度量、残差假设检验的 p 值或模型收敛信息。

Glance 永远不会返返回自对建模函数的原始调用的信息。这包括建模函数的名称或传递给建模函数的任何参数。

Glance 不计算汇总度量。相反,它将这些计算外包给适当的方法并将结果收集在一起。有时拟合优度测量是不确定的。在这些情况下,该度量将报告为 NA

无论模型矩阵是否秩亏,Glance 都会返回相同的列数。如果是这样,则不再具有明确定义值的列中的条目将使用适当类型的 NA 进行填充。

用法

# S3 method for glmnet
glance(x, ...)

参数

x

glmnet::glmnet() 返回的 glmnet 对象。

...

附加参数。不曾用过。仅需要匹配通用签名。注意:拼写错误的参数将被吸收到 ... 中,并被忽略。如果拼写错误的参数有默认值,则将使用默认值。例如,如果您传递 conf.lvel = 0.9 ,所有计算将使用 conf.level = 0.95 进行。这里有两个异常:

  • tidy() 方法在提供 exponentiate 参数时会发出警告(如果该参数将被忽略)。

  • augment() 方法在提供 newdata 参数时会发出警告(如果该参数将被忽略)。

也可以看看

glance() , glmnet::glmnet()

其他 glmnet 整理器:glance.cv.glmnet()tidy.cv.glmnet()tidy.glmnet()

恰好只有一行和一列的 tibble::tibble()

nobs

使用的观察数。

npasses

Total 传递所有 lambda 值的数据。

nulldev

零偏差。

例子


# load libraries for models and data
library(glmnet)

set.seed(2014)
x <- matrix(rnorm(100 * 20), 100, 20)
y <- rnorm(100)
fit1 <- glmnet(x, y)

# summarize model fit with tidiers + visualization
tidy(fit1)
#> # A tibble: 1,086 × 5
#>    term         step estimate lambda dev.ratio
#>    <chr>       <dbl>    <dbl>  <dbl>     <dbl>
#>  1 (Intercept)     1   -0.207 0.152    0      
#>  2 (Intercept)     2   -0.208 0.139    0.00464
#>  3 (Intercept)     3   -0.209 0.127    0.0111 
#>  4 (Intercept)     4   -0.210 0.115    0.0165 
#>  5 (Intercept)     5   -0.210 0.105    0.0240 
#>  6 (Intercept)     6   -0.210 0.0957   0.0321 
#>  7 (Intercept)     7   -0.210 0.0872   0.0412 
#>  8 (Intercept)     8   -0.210 0.0795   0.0497 
#>  9 (Intercept)     9   -0.209 0.0724   0.0593 
#> 10 (Intercept)    10   -0.208 0.0660   0.0682 
#> # ℹ 1,076 more rows
glance(fit1)
#> # A tibble: 1 × 3
#>   nulldev npasses  nobs
#>     <dbl>   <int> <int>
#> 1    104.     255   100

library(dplyr)
library(ggplot2)

tidied <- tidy(fit1) %>% filter(term != "(Intercept)")

ggplot(tidied, aes(step, estimate, group = term)) +
  geom_line()


ggplot(tidied, aes(lambda, estimate, group = term)) +
  geom_line() +
  scale_x_log10()


ggplot(tidied, aes(lambda, dev.ratio)) +
  geom_line()


# works for other types of regressions as well, such as logistic
g2 <- sample(1:2, 100, replace = TRUE)
fit2 <- glmnet(x, g2, family = "binomial")
tidy(fit2)
#> # A tibble: 947 × 5
#>    term         step estimate lambda dev.ratio
#>    <chr>       <dbl>    <dbl>  <dbl>     <dbl>
#>  1 (Intercept)     1    0.282 0.0906 -1.62e-15
#>  2 (Intercept)     2    0.281 0.0826  6.28e- 3
#>  3 (Intercept)     3    0.279 0.0753  1.55e- 2
#>  4 (Intercept)     4    0.277 0.0686  2.48e- 2
#>  5 (Intercept)     5    0.284 0.0625  4.17e- 2
#>  6 (Intercept)     6    0.293 0.0569  5.79e- 2
#>  7 (Intercept)     7    0.303 0.0519  7.39e- 2
#>  8 (Intercept)     8    0.314 0.0473  8.94e- 2
#>  9 (Intercept)     9    0.325 0.0431  1.03e- 1
#> 10 (Intercept)    10    0.336 0.0392  1.14e- 1
#> # ℹ 937 more rows

相关用法


注:本文由纯净天空筛选整理自大神的英文原创作品 Glance at a(n) glmnet object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。