【问题标题】:Random Forest (rfsrc package): multivariate analysis随机森林(rfsrc 包):多变量分析
【发布时间】:2019-04-23 07:45:15
【问题描述】:

我正在尝试评估子产品促销活动之间的互动。 我的数据集包含 1073 个二元变量 (x) 和 11 个依赖变量 (y)。我在 R 中使用 randomForestSRC 包中的 rfsrc

fit2=rfsrc(Multivar(y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11) ~.,data = data3, importance =TRUE)
err <- get.mv.error(fit2)
err
vmp.std <- get.mv.vimp(fit2, standardize = TRUE)
plot(fit2)

为什么默认情况下,R 只回复y1 作为回复?

                         Sample size: 602
                     Number of trees: 1000
           Forest terminal node size: 5
       Average no. of terminal nodes: 179.484
No. of variables tried at each split: 358
              Total no. of variables: 1073
              Total no. of responses: 11
         User has requested response: y1
       Resampling used to grow trees: swr
    Resample size used to grow trees: 602
                            Analysis: mRF-R
                              Family: regr+
                      Splitting rule: mv.mse *random*
       Number of random split points: 10
                % variance explained: 53.03
                          Error rate: 0.4

有一些命令可以绘制一些信息?

【问题讨论】:

    标签: r plot random-forest


    【解决方案1】:

    如果你查看plot.variable.rfsrc.R 的源代码,它被调用来绘制你的randomForestSRC 对象,m.target 的默认值是NULL 并将其提供给另一个函数get.univariate.target,它将采用第一个变量。如果要绘制其他变量,请指定m.target=...

    library(mlr)
    library(randomForestSRC)
    
    yeast = getTaskData(yeast.task)
    data = yeast[,c(1:3,15:100)]
    head(data)
    fit = rfsrc(Multivar(label1,label2,label3) ~.,data = data, importance =TRUE)
    
    plot(fit,m.target="label2")
    

    plot(fit,m.target="label3")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-05
      • 2017-08-29
      • 1970-01-01
      • 2022-01-01
      • 2013-12-02
      • 1970-01-01
      • 2017-03-15
      • 2018-07-10
      相关资源
      最近更新 更多