r-与防风草一起使用包装特定功能



我正在尝试学习R的建模框架tidymodels。在创建模型并指定要用于模型的包(引擎(之后,我现在尝试使用我选择的引擎内部的一些特定功能。在本例中,我尝试使用的是randomForest包和varImpPlot((函数。然而,当我试图执行它时,这个错误就会出现,它说为了使用函数,对象必须是randomForest对象。这是显而易见的,但我的问题是,有没有办法将parsnip对象转换为我选择的引擎的对象,或者有没有办法在我选择的包中使用这些功能?谢谢你的帮助!

model_rand_forest <- rand_forest() %>% 
set_engine("randomForest") %>%
set_mode("regression") %>%
translate()
training_workflow <- workflow() %>%
add_recipe(recipe) %>%
add_model(model_rand_forest) 
training_workflow_fit <- training_workflow %>% fit(data = train)
training_workflow_fit %>% varImpPlot()
training_workflow_fit %>% varImpPlot()
Error in varImpPlot(.) : 
This function only works for objects of class `randomForest'

您可以使用$fit$fit$fitworkflow提取randomForest对象。在您的示例中,这应该可以使用

training_workflow_fit$fit$fit$fit %>% varImpPlot()

或者你可以使用下面的语法,这可能是更整洁的

training_workflow_fit %>% 
chuck("fit") %>% 
chuck("fit") %>% 
chuck("fit") %>% 
varImpPlot()

相关内容

  • 没有找到相关文章

最新更新