【问题标题】:LabelBinarizer() Takes foreverLabelBinarizer() 需要永远
【发布时间】:2013-12-08 03:29:50
【问题描述】:

尝试为庞大的数据集进行多标签分类。我有大约 4000 个独特的标签,所以当我尝试使用 LabelBinarizer().fit(yTuple)/transform 时,它只需要很长时间。根据标签的数量和行数(600 万行)是正常的还是我做错了什么?

笔记本电脑配置:Mac,i5 四核,16 GB RAM,剩余足够的硬盘空间(大约 250 GB 可用空间)

代码很简单,但还是贴在这里:

yTuple = [tuple(item.split(' ')) for item in getY(filepath)]
lb = LabelBinarizer().fit(yTuple)
Y_indicator = lb.transform(yTuple)

getY(filepath) - 这将一次返回一行的标签集。

【问题讨论】:

    标签: scikit-learn


    【解决方案1】:

    标签数组将占用大约 4000 * 6e6 * 8 字节,即 179GB。 scikit-learn 不能开箱即用地进行如此大规模的多类分类。

    【讨论】:

    • 感谢您的确认。
    【解决方案2】:

    如果您有足够的内存,您可能想尝试使用 pandas get_dummies 来代替。

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 2014-02-24
      • 2014-07-08
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2015-05-17
      相关资源
      最近更新 更多