當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。