scr*_*Owl 11 r machine-learning factors random-forest
我正在尝试做一些涉及很多因子类型变量的机器学习内容(单词,描述,时间,基本上是非数字的东西).我通常依赖,randomForest但它不适用于具有> 32级别的因素.
有人能提出一些好的选择吗?
Sim*_*nek 15
树方法不起作用,因为可能的拆分数量随着级别数量呈指数增长.然而,通过单词这通常通过为每个单词(描述等)创建指示符变量来解决 - 这种方式分裂可以一次使用一个单词(是/否)而不是选择所有可能的组合.通常,您总是可以将级别扩展为指标(并且某些模型会隐式地执行此操作,例如glm).在使用SVM等其他方法处理文本的ML中也是如此.所以答案可能是您需要考虑输入数据结构,而不是方法.或者,如果您在关卡上有某种顺序,则可以将其线性化(因此只有c-1分割).
一般来说,在有很多因子水平的情况下我找到的最好的包是使用gbm包.
它最多可以处理1024个因子级别.
如果有超过1024个级别,我通常会通过保持1023最常出现的因子级别来更改数据,然后将剩余级别编码为一个级别.