如何在rpart中应用权重?

时间:2017-04-17 13:06:29

标签: r rpart

我有关于Kaggle练习比赛中房屋的数据,我使用rpart训练一个简单的第一个模型来预测销售价格。

模型未正确识别销售条件异常或预付定金的销售。因此,我想增加这个变量的重要性,这个变量在模型中显然被忽略了。

我假设这是通过使用"权重"来完成的。参数但是如何使用此参数?如何确定哪些变量需要更高的权重?

1 个答案:

答案 0 :(得分:0)

来自documentation

<强>权重

  

可选案例权重。

<强>成本

  

非负成本向量,模型中每个变量一个。   所有变量的默认值为1。这些是要应用的缩放   在考虑拆分时,对变量进行拆分的改进   在决定选择哪个分割时除以其成本。

权重适用于行(例如,对较小的类赋予较高的权重),成本适用于列。

应用权重参数的示例用法 (不一定是定义权重的最佳方式):

positiveWeight = 1.0 / (nrow(subset(training, Y == TRUE)) / nrow(training))
negativeWeight = 1.0 / (nrow(subset(training, Y != TRUE)) / nrow(training))

modelWeights <- ifelse(training$Y== TRUE, positiveWeight, negativeWeight)

dtreeModel <- rpart(predFormula, training, weights = modelWeights)