首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R符号:列车与rfe的区别

R符号:列车与rfe的区别
EN

Stack Overflow用户
提问于 2015-10-06 07:14:51
回答 1查看 1.8K关注 0票数 2

由于在没有内置的特性选择的插入符号-ml中有一些可用的方法,所以我正在试验rfe

,有人能解释一下, train()rfe()之间的区别是什么?除了训练时间和排列特征列表之外?是否只有train()才能做到,反之亦然?

下面是我的例子来说明这个问题:

代码语言:javascript
复制
# worker functions
useRFE <- function(trainctrl) {
    control <- rfeControl(functions=caretFuncs, 
    method="cv", 
    repeats=5, 
    number=5, 
    returnResamp="final", 
    verbose = TRUE)


 # run the RFE algorithm
 resultsRFE <-
    rfe(
       training[,1:ncol(iris) - 1], 
       training$Species, 
       sizes = subsets, 
       rfeControl = control,
       method = "svmRadial",
       metric = "Accuracy",
       trControl = trainctrl
    )

  # test
  predictedClasses <- predict(resultsRFE, testing)
  confmat <- confusionMatrix(data = predictedClasses$pred, reference = testing$Species)
  confmat
  # Balanced Accuracy = 100%
}

useTrain <-  function(trainctrl) {      
  # train
  resultsTrain <- train(
       Species ~ .,
       data = training,
       method = "svmRadial",
       metric = "Accuracy",
       trControl = trainctrl
  )

  # test
  predictedClasses <- predict(resultsTrain, testing)
  confmat <- confusionMatrix(data = predictedClasses, 
       reference = testing$Species)
  confmat
  # Balanced Accuracy = 100%
}
# load library
library(caret)

# load iris data
data(iris)

# create datasets
inTrain <- createDataPartition(y = iris$Species,
    p = .75,
    list = FALSE)

## The output is a set of integers for the rows of Sonar
## that belong in the training set.
training <<- iris[ inTrain,]
testing <<- iris[-inTrain,]

# select count of features
subsets <- c(1:ncol(iris)-1)

# set controls
trainctrl <- trainControl(
    classProbs= TRUE, 
    method="cv", 
    repeats=5, 
    number=5, 
    verbose = TRUE)

# compare
ptm <- proc.time()
useTrain(trainctrl = trainctrl)
proc.time() - ptm
# Accuracy : 0.9167    
# User      System     passed 
# 1.54      0.06       10.27

ptm <- proc.time()
useRFE(trainctrl = trainctrl)
proc.time() - ptm
# Accuracy : 0.9167
# User      System     passed 
# 0.86      0.04       24.44  
EN

回答 1

Stack Overflow用户

发布于 2015-10-06 11:00:17

train 建筑与曲调 a更多的是以所有的预测器作为输入。rfe进行递归特性消除,其中不同的预测器被移除。试图优化模型性能。您可以将rfe看作train的一个可能的包装器。

对这些方法的解释都在网站上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32963920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档