Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
参数';classwt';R中RandomForest包中的函数代表?_R_Random Forest - Fatal编程技术网

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

参数';classwt';R中RandomForest包中的函数代表?,r,random-forest,R,Random Forest,randomforest::randomforest()的帮助页面上显示: “classwt-类的优先级。不必相加为一。对于回归,忽略此选项。” 设置classwt参数是否有助于处理严重不平衡的数据,即类的优先级差异很大 在具有3个类且先验向量等于(p1、p2、p3)且在测试集中先验为(q1、q2、q3)的数据集上训练模型时,我应该如何设置classwt 当您有大量不平衡的数据时,设置classwt参数是否有帮助?类的优先级差别很大 是的,classwt的设置值对于不平衡的数据集可能很有用。我同

randomforest::randomforest()
的帮助页面上显示:

“classwt-类的优先级。不必相加为一。对于回归,忽略此选项。”

设置
classwt
参数是否有助于处理严重不平衡的数据,即类的优先级差异很大

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

当您有大量不平衡的数据时,设置classwt参数是否有帮助?类的优先级差别很大

是的,classwt的设置值对于不平衡的数据集可能很有用。我同意joran的观点,这些值是在抽样训练数据的概率中转换的(根据Breiman在其原始文章中的论点)

当在具有3个类的训练数据集中,先验向量等于(p1、p2、p3),而在测试集中先验向量为(q1、q2、q3)时,如何设置classwt

对于培训,您可以简单地指定

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

rf我不确定你的第二个问题,但我相信从数据中采样时会用到
classwt
,这样每个树的每个样本都是从你的类中以这些概率(标准化后)提取的。分层产生与classwt相同的性能,并且更易于控制,请在SO上查看此指南:@joran这就是您所描述的战略。Classwt用于对样本进行加权,以便在训练过程中找到节点分割的最佳断点,并定义节点预测。四年后,我的老评论可能也会困扰我:)因为我理解先验(p1、p2、p3)是一般人群的特征,而不是特定的训练数据集。如果我想预测测试数据集中的类,并且我知道集合中的类概率(q1、q2、q3)比设置classwt=c(q1、q2、q3)要高,则应帮助random forest以更好的方式探索训练空间。不,这些类权重仅针对训练集。例如,如果您有平衡的训练集,通常不需要使用
classwt
参数。但同时,您可能会有不平衡的测试集,我希望在这种情况下更改类weghts不会改进测试集预测。换句话说,使用
classwt
可以提高其中一个类的预测精度,同时降低另一个类的预测精度。例如,您可以稍微使用这个参数并查看OOB集合预测统计信息。