首页 > 解决方案 > 关于 R 中 rpart 和 gbm 的一些问题

问题描述

我正在尝试使用 rpart 和 gbm 包对声明频率进行建模。我对这些软件包有几个问题。

  1. 在 rpart-model 中,收缩参数的目的/功能是什么?

  2. 在 gbm 模型中,我使用的权重是否正确?我得到一个输出(没有错误),但我只是想确保我理解它是正确的。

  3. 我是 gbm 模型,我知道参数 n.minobsinnode 让我说它应该在每个节点中至少有 10 个观察值。但是有没有办法说每个节点至少应该有 1 个声明?对于某些观察,我不想要一个预测索赔频率为 0 的模型。

  4. 在 RandomForest 中,d 变量是从每次拆分的 n 个变量中随机挑选的。但是在 gbm-model 中,每次拆分都考虑所有 n 个变量?

  5. 在基于树的模型中,是否可以抵消一个变量(例如免赔额)?

    回归树

    Model_tree <- rpart(cbind(duration, nclaims) ~ Var_1 + … + Var_n , 
                        data = data , 
                        method = "poisson",
                        parms = list(shrink = 1),control=rpart.control(minbucket = 10, cp = 0.00005 , maxdepth = 5))
    
    # Gradient Boosting Model       
    Model_gbm <- gbm(nclaims ~ Var_1 + … + Var_n,
                     data = data,
                     weights = duration,
                     distribution = "poisson",
                     cv.folds = 0,
                     shrinkage = 0.01,
                     interaction.depth = 5,
                     n.trees = 5000,
                     n.minobsinnode = 10,
                     bag.fraction = 1, 
                     train.fraction = 1)
    
    # Predict with a gbm
    predict.gbm(object = Model_gbm, n.trees = 1000, newdata = testdata, type = "response")
    

标签: rrpartgbm

解决方案


推荐阅读