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


R broom glance.cv.glmnet 瀏覽 a(n) cv.glmnet 對象


Glance 接受模型對象並返回 tibble::tibble(),其中僅包含一行模型摘要。摘要通常是擬合優度度量、殘差假設檢驗的 p 值或模型收斂信息。

Glance 永遠不會返返回自對建模函數的原始調用的信息。這包括建模函數的名稱或傳遞給建模函數的任何參數。

Glance 不計算匯總度量。相反,它將這些計算外包給適當的方法並將結果收集在一起。有時擬合優度測量是不確定的。在這些情況下,該度量將報告為 NA

無論模型矩陣是否秩虧,Glance 都會返回相同的列數。如果是這樣,則不再具有明確定義值的列中的條目將使用適當類型的 NA 進行填充。

用法

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

參數

x

glmnet::cv.glmnet() 返回的 cv.glmnet 對象。

...

附加參數。不曾用過。僅需要匹配通用簽名。注意:拚寫錯誤的參數將被吸收到 ... 中,並被忽略。如果拚寫錯誤的參數有默認值,則將使用默認值。例如,如果您傳遞 conf.lvel = 0.9 ,所有計算將使用 conf.level = 0.95 進行。這裏有兩個異常:

  • tidy() 方法在提供 exponentiate 參數時會發出警告(如果該參數將被忽略)。

  • augment() 方法在提供 newdata 參數時會發出警告(如果該參數將被忽略)。

也可以看看

glance() , glmnet::cv.glmnet()

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

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

lambda.1se

懲罰參數 lambda 的值會產生最稀疏的模型,同時保持在最小損失的一個標準誤差範圍內。

lambda.min

通過交叉驗證估計實現最小損失的懲罰參數 lambda 的值。

nobs

使用的觀察數。

例子


# load libraries for models and data
library(glmnet)
#> Loaded glmnet 4.1-7

set.seed(27)

nobs <- 100
nvar <- 50
real <- 5

x <- matrix(rnorm(nobs * nvar), nobs, nvar)
beta <- c(rnorm(real, 0, 1), rep(0, nvar - real))
y <- c(t(beta) %*% t(x)) + rnorm(nvar, sd = 3)

cvfit1 <- cv.glmnet(x, y)

tidy(cvfit1)
#> # A tibble: 74 × 6
#>    lambda estimate std.error conf.low conf.high nzero
#>     <dbl>    <dbl>     <dbl>    <dbl>     <dbl> <int>
#>  1  1.45      17.4      2.28     15.1      19.7     0
#>  2  1.32      17.4      2.28     15.1      19.7     1
#>  3  1.20      17.2      2.22     15.0      19.5     1
#>  4  1.09      17.0      2.15     14.8      19.1     1
#>  5  0.997     16.8      2.09     14.7      18.9     1
#>  6  0.909     16.7      2.03     14.7      18.7     2
#>  7  0.828     16.7      1.99     14.7      18.6     3
#>  8  0.754     16.7      1.95     14.7      18.6     5
#>  9  0.687     16.8      1.93     14.8      18.7     7
#> 10  0.626     16.9      1.91     15.0      18.8     7
#> # ℹ 64 more rows
glance(cvfit1)
#> # A tibble: 1 × 3
#>   lambda.min lambda.1se  nobs
#>        <dbl>      <dbl> <int>
#> 1      0.828       1.45   100

library(ggplot2)

tidied_cv <- tidy(cvfit1)
glance_cv <- glance(cvfit1)

# plot of MSE as a function of lambda
g <- ggplot(tidied_cv, aes(lambda, estimate)) +
  geom_line() +
  scale_x_log10()
g


# plot of MSE as a function of lambda with confidence ribbon
g <- g + geom_ribbon(aes(ymin = conf.low, ymax = conf.high), alpha = .25)
g


# plot of MSE as a function of lambda with confidence ribbon and choices
# of minimum lambda marked
g <- g +
  geom_vline(xintercept = glance_cv$lambda.min) +
  geom_vline(xintercept = glance_cv$lambda.1se, lty = 2)
g


# plot of number of zeros for each choice of lambda
ggplot(tidied_cv, aes(lambda, nzero)) +
  geom_line() +
  scale_x_log10()


# coefficient plot with min lambda shown
tidied <- tidy(cvfit1$glmnet.fit)

ggplot(tidied, aes(lambda, estimate, group = term)) +
  scale_x_log10() +
  geom_line() +
  geom_vline(xintercept = glance_cv$lambda.min) +
  geom_vline(xintercept = glance_cv$lambda.1se, lty = 2)

相關用法


注:本文由純淨天空篩選整理自大神的英文原創作品 Glance at a(n) cv.glmnet object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。