我对用于SVM模型的Caret软件包中的功能重要性有疑问。我正在使用下面的代码来适合我的模型。但是,我找不到找到该模型功能重要性的方法。
fitControl <- trainControl(
method = 'cv', # k-fold cross validation
number = 5, # number of folds
savePredictions = 'final', # saves predictions for optimal tuning parameter
)
model_svmLinear = train(energy~., data = train, method='svmLinear', tuneLength=15, trControl = fitControl)
model_svmLinear
您可以做:
图书馆(插入符号)训练= data.frame(能量= rnorm(100),矩阵(runif(100 * 5),ncol = 5))model_svmLinear =火车(能量〜。,数据=火车,方法='svmLinear',tuneLength = 15,trControl = fitControl)
然后,获得相对要素重要性(最高重要性为100,最低重要性为0:]]
varImp(model_svmLinear) loess r-squared variable importance Overall X2 100.00 X1 97.20 X4 90.64 X5 73.79 X3 0.00
获得原始重要性分数:
varImp(model_svmLinear,scale=FALSE)
您可以绘制:
plot(varImp(model_svmLinear,scale=FALSE))