如何处理其中包含大量级别的分类特征

时间:2017-08-09 15:01:43

标签: r categorical-data

我正在处理R中具有维度

的数据集
dim(adData)
[1] 15844717       11

11个功能中,

一个特征是在15844717中有273596(用作id的随机整数)唯一值。

第二个特征是在15844717中有884353(用作id的随机整数)唯一值。

我的困惑在于是否将它们转换为因子,因为具有大量级别的分类变量会在建模时产生问题,或者请建议如何对待它们。

我是Data Science的新手,之前从未参与过大型数据集。

1 个答案:

答案 0 :(得分:0)

一个变量的〜300k类别肯定会导致计算问题。我首先退后一步,检查这个变量的性质及其与手头预测的相关性。在不知道数据来源的情况下,很难给出具体的建议。

如果它确实是一个分类变量,将id作为数字变量保留是愚蠢的,因为id的规模和顺序可能毫无意义。

是否可以将这些级别分组为更少但仍然有意义的类别?

示例1:如果ID在美国是zipcodes,则可能有40,000个唯一值。这些可以分为州或地区,将级别数减少到50或更少。

示例2:如果ID是来自电子商务网站的产品ID,则可以按产品类别或子类别对其进行分组。可以使用更少的不同值。

另一种选择是检查每个类别的相对频率。如果有一些非常常见的类别,有数以千计的罕见类别,则可以保持常用级别,并将罕见级别分组为“其他”类别。类别。