我第一次尝试在我的数据上使用gbm (实际上是第一次使用任何类型的回归树),它由14个连续的因变量和一个因子作为响应变量,有13个水平。我是通过Elith等人非常好的描述来到gbm的,但是他们使用了基本gbm包的修改,不能处理多项式分布。在gbm的帮助下,它声称可以处理这个问题:
“分布:指定要使用的分布名称的字符串或具有指定分布和所需任何附加参数的组件名称的列表。如果未指定,gbm将尝试猜测:如果响应只有2个唯一值,则假定为bernoulli;否则,如果响应为因子,则假定为多项式;否则,如果响应具有类"Surv",则假定为coxph;否则,假定为高斯。当前可用的选项是“高斯”(平方误差)、“拉普拉斯”(绝对损失)、"tdist“(t分布损失)、”伯努利“( 0-1输出的逻辑回归)、"huberized”( 0-1结果的集束化铰链损失)、“多项式”(当有2个以上的类别时进行分类)、" AdaBoost“( 0-1结果的AdaBoost指数损失)、”泊松“(计数结果)、"coxph”(右审查观察值)、“分位数”。或“成对”(使用LambdaMart算法的排名度量)。“
然而,无论我指定的是“多项式”还是“让它猜测”,它都不起作用。有人知道我做错了什么吗?或者我完全误解了什么--我的数据的多项分布不意味着我的误差损失函数也是多项分布的吗?如果我选择“高斯”,它会运行,但我猜在这种情况下,会计算出一些完全不同的东西?如果有任何帮助,我将不胜感激!艾格尼丝
发布于 2013-02-16 03:51:03
您使用的是最新版本的gbm吗?我有一个类似的问题,在重新安装gbm包后得到了解决。
https://stackoverflow.com/questions/14831346
复制相似问题