我第一次尝试在我的数据上使用 gbm(实际上是第一次使用任何类型的回归树),它由 14 个连续因变量和一个作为响应变量的因子组成,具有 13 个水平。我是通过 Elith 等人的一个非常好的描述来到 gbm 的,但是他使用了对基本 gbm 包的修改,该包无法处理多项分布。gbm 的帮助声称它可以处理这个问题:
“分布:要么是一个字符串,指定要使用的分布的名称,要么是一个带有指定分布的组件名称的列表以及所需的任何其他参数。如果未指定,gbm 将尝试猜测:如果响应只有 2 个唯一值,则假定为伯努利;否则,如果响应是因子,则假定为多项式;否则,如果响应具有类“Surv”,则假定为 coxph;否则,假定为高斯。当前可用的选项是“高斯”(平方误差)、“laplace”(绝对损失)、“tdist”(t-分布损失)、“bernoulli”(0-1 结果的逻辑回归)、“huberized”(0-1 结果的huberized铰链损失)、“多项式”(超过 2 个类别时的分类),“adaboost”(0-1 结果的 AdaBoost 指数损失)、“泊松”(计数结果)、“coxph”(右删失观察)、“分位数”或“成对”(使用 Lambda Mart 算法的排名度量)。
尽管如此,无论我指定“多项式”还是“让它猜测”,它都不起作用。有人知道我在做什么错吗?或者我是否完全误解了某些东西——我的数据的多项式分布是否意味着我的误差损失函数也是多项式分布?如果我选择“高斯”,它会运行,但我想在这种情况下会计算出完全不同的东西?我会很感激任何帮助!艾格尼丝