簡體   English   中英

R 中 glm 插入符號 model 的方差膨脹 VIF

[英]Variance inflation VIF for glm caret model in R

我想計算 R 中插入符號 glm model 的方差膨脹因子 (VIF)。 這是我的代碼,數據集來自 UCI:

library(caret)
library(tidyverse)

url <- paste0("https://archive.ics.uci.edu/ml/machine-learning-databases/",
              "00267/data_banknote_authentication.txt")

dataset <- read_csv(url, col_names = c("varWav","skeWav","curtWav","entropy","class"))
dataset$class <- as.factor(ifelse(dataset$class == 0,"Authentic","Forgery"))

idx <- createDataPartition(dataset$class, p = 0.8, list = FALSE)
train_set <- dataset[idx,]
test_set <- dataset[-idx,]

notes_model <- train(class ~.,
                   data = train_set,
                   method = "glm")

但是當我嘗試這段代碼時,它會返回一個錯誤:

car::vif(notes_model)

UseMethod("vcov") 中的錯誤:沒有適用於 'vcov' 的方法應用於 class "c('train', 'train.formula')" 的 object

也許我的代碼錯了? 請,任何幫助將不勝感激。

您可以提取最終訓練的 model ,然后計算vif

car::vif(notes_model$finalModel)
    varWav     skeWav    curtWav    entropy 
 63.978111 184.323806 356.526156   1.935005 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM