R中RandomForest包中的RandomForest函数中的参数'classwt'代表什么?

时间:2012-04-11 19:33:23

标签: r random-forest

randomforest::randomforest()的帮助页面说:

  

“classwt - 类的推荐。不需要加一个。忽略回归。”

当您有大量不平衡数据时,可以设置classwt参数帮助,即。班级的先辈们有很大的不同?

如果在具有3个类的数据集上训练模型时,我应该如何设置classwt,其中矢量的先验等于(p1,p2,p3),并且在测试集先验中是(q1,q2,q3) ?

1 个答案:

答案 0 :(得分:22)

  

可以设置classwt参数帮助当你有非常不平衡的数据 - 类的先验强烈不同?

是的,设置classwt的值对于不平衡的数据集非常有用。我同意朱兰的观点,这些价值观是根据采样训练数据的概率进行的(根据布莱曼在其原始文章中的论点)。

  

如果在3类训练数据集中设置classwt,你的矢量先验等于(p1,p2,p3),并且在测试集先验中是(q1,q2,q3)?

对于培训,您只需指定

即可
rf <- randomForest(x=x, y=y, classwt=c(p1,p2,p3))

对于测试集,不能使用先验:1)randomForest包的predict方法中没有这样的选项; 2)权重只对模型的训练有意义,而对预测没有意义。