如何处理二进制分类问题的多标签特征?

数据挖掘 机器学习 Python 特征工程
2022-02-19 20:04:00

我有如下数据集:

   profile     category  target
0        1      [5, 10]       1
1        2          [1]       0
2        3   [23, 5000]       1
3        4  [700, 4500]       0

如何处理类别特征,此表可能还有其他附加特征。一种热编码会导致占用太多空间。因为行数约为 1000 万。任何建议都会有所帮助。

2个回答

我建议使用 scikit-learn对您的类别特征MultiLabelBinarizer进行编码。这是 one-hot encoding 的多标签模拟,但它有一个模式,应该可以解决你内存有限的问题。sparse_output

MultiLabelBinarizer 是一个不错的选择。对于稀疏特征,我会说首先对它们进行一些特征工程。如有必要,请保留它们,否则丢弃它们。如果你保留它们,那么通过应用减少错误的方法会有很大帮助。它们将填充稀疏特征,然后通过对分类特征进行编码,您可以在它们上应用机器学习模型。

我被困在具有更稀疏值的特征上,所以我遵循了上述方法。和我一起工作得很好。