【问题标题】:variable importance in multiclass多类中的可变重要性
【发布时间】:2021-02-15 21:57:11
【问题描述】:

我有一个像 iris 这样的数据集,我的 y 是一个多类因子变量。有什么方法可以看到 method = rfmethod = treebagmethod = boost 的相同结果,非常感谢。

  data(iris); head(iris)
iris$Species <- factor(iris$Species)

set.seed(87)
inTrainingSet <- createDataPartition(iris$Species, p=.80,list=0)
train <- iris[inTrainingSet,]
test  <- iris[-inTrainingSet,]
ctrl <- trainControl(method = "cv", number = 2,  verboseIter = TRUE)


pls <- train(Species ~ Sepal.Length+Sepal.Width+Petal.Length+Petal.Width , 
              method = "pls", data = iris,
              trControl = ctrl)
attributes(varImp(pls))
varImp(pls)$importance

【问题讨论】:

    标签: r machine-learning data-mining r-caret


    【解决方案1】:

    你的问题有几点,所以如果有一个内置方法可以为每个模型正确估计,你可以使用默认的useModel = FALSE 运行 varImp。

    对于随机森林,您在拟合时添加importance=TRUE

    rf <- train(Species ~ Sepal.Length+Sepal.Width+Petal.Length+Petal.Width , 
                  method = "rf", data = iris,
                  trControl = ctrl,importance=TRUE)
    varImp(rf)
    
    rf variable importance
    
      variables are sorted by maximum importance across the classes
                 setosa versicolor virginica
    Petal.Length  66.94     100.00     85.40
    Petal.Width   63.86      92.22     89.87
    Sepal.Length  16.75      24.05     24.90
    Sepal.Width   12.75       0.00     17.49
    

    如果模型没有内置的多类,则使用成对的 roc 曲线来推导这些重要性,请参阅page for caret 的具体细节:

    tb <- train(Species ~ Sepal.Length+Sepal.Width+Petal.Length+Petal.Width , 
                      method = "treebag", data = iris,
                      trControl = ctrl,importance=TRUE)
    
    varImp(tb,useModel=TRUE)
    treebag variable importance
    
                 Overall
    Petal.Length  100.00
    Petal.Width    99.17
    Sepal.Length   32.23
    Sepal.Width     0.00
    
     varImp(tb,useModel=FALSE)
    ROC curve variable importance
    
      variables are sorted by maximum importance across the classes
                 setosa versicolor virginica
    Petal.Width  100.00     100.00     100.0
    Petal.Length 100.00     100.00     100.0
    Sepal.Length  90.70      59.30      90.7
    Sepal.Width   54.59      54.59       0.0
    

    您没有指定使用哪种增强树方法,但我想您可以轻松使用上述选项之一

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 2016-09-13
      • 2023-02-14
      • 2018-11-19
      • 2011-02-21
      • 2018-05-21
      • 2020-10-27
      • 2013-04-10
      • 2010-10-17
      相关资源
      最近更新 更多