R机器学习包处理具有大量层次的因子

我在尝试进行一些机器学习工作,这些工作涉及到大量的因子类型变量(如词语、描述、时间,基本上都是非数值类型的数据)。我通常依赖于randomForest,但它无法处理超过32个层次的因子。

谁能推荐一些好的替代方案?


回答:

树形方法行不通,因为可能的分割数量会随着层次数量的增加而呈指数级增长。然而,对于词语,通常的解决方法是为每个词(或描述等)创建指示变量——这样分割就可以一次使用一个词(是/否),而不是选择所有可能的组合。一般来说,你总是可以将层次扩展为指示变量(有些模型会隐式地这样做,例如glm)。在机器学习中处理文本时使用其他方法(如SVM等)也是如此。因此,答案可能是你需要考虑你的输入数据结构,而不是方法本身。另外,如果你的层次之间存在某种顺序,你可以将其线性化(这样只有c-1个分割)。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注