R 中用于分类的模型和 $FinalModel 之间的区别?
Difference between Model and $FinalModel for classification in R?
目前有这个随机森林模型,只是看看它对糖尿病阳性或糖尿病阴性患者的预测效果如何
模型是使用插入符工作流计算的
在查看变量重要性时,我被告知使用代码
randomForest::importance(model$finalModel)
$finalModel 的用途是什么?与原始模型相比,$finalModel 是什么?不应该只是将原始模型作为参数传入而不是查看变量重要性吗?
示例如下:
library(tidyverse)
library(mlbench)
library(caret)
library(car)
library(glmnet)
library(rpart.plot)
library(rpart)
data("PimaIndiansDiabetes2")
PimaIndiansDiabetes2 <- na.omit(PimaIndiansDiabetes2)
set.seed(123)
training.samples <- PimaIndiansDiabetes2$diabetes %>% createDataPartition(p = 0.8, list = FALSE)
train.data <- PimaIndiansDiabetes2[training.samples,]
test.data <- PimaIndiansDiabetes2[-training.samples,]
model_rf <- caret::train(
diabetes ~.,
data = train.data,
method = "rf",
trControl = trainControl("cv", number = 10),
importance = TRUE)
model_rf
model_rf$bestTune
model_rf$finalModel
# variable importance here
importance(model_rf$finalModel)
finalModel A fit object using the best parameters
大多数情况下,train
会为超参数估计传递一些不同的值,以找到实现最佳性能的值(使用 trainControl
)。
在 model_rf
中,您会在 finalModel
下找到使用最佳参数构建的模型。
仅供参考 caret
也有一个用于变量重要性绘图的函数:varImp。
目前有这个随机森林模型,只是看看它对糖尿病阳性或糖尿病阴性患者的预测效果如何
模型是使用插入符工作流计算的
在查看变量重要性时,我被告知使用代码
randomForest::importance(model$finalModel)
$finalModel 的用途是什么?与原始模型相比,$finalModel 是什么?不应该只是将原始模型作为参数传入而不是查看变量重要性吗?
示例如下:
library(tidyverse)
library(mlbench)
library(caret)
library(car)
library(glmnet)
library(rpart.plot)
library(rpart)
data("PimaIndiansDiabetes2")
PimaIndiansDiabetes2 <- na.omit(PimaIndiansDiabetes2)
set.seed(123)
training.samples <- PimaIndiansDiabetes2$diabetes %>% createDataPartition(p = 0.8, list = FALSE)
train.data <- PimaIndiansDiabetes2[training.samples,]
test.data <- PimaIndiansDiabetes2[-training.samples,]
model_rf <- caret::train(
diabetes ~.,
data = train.data,
method = "rf",
trControl = trainControl("cv", number = 10),
importance = TRUE)
model_rf
model_rf$bestTune
model_rf$finalModel
# variable importance here
importance(model_rf$finalModel)
finalModel A fit object using the best parameters
大多数情况下,train
会为超参数估计传递一些不同的值,以找到实现最佳性能的值(使用 trainControl
)。
在 model_rf
中,您会在 finalModel
下找到使用最佳参数构建的模型。
仅供参考 caret
也有一个用于变量重要性绘图的函数:varImp。