2013-11-22 37 views
1

尝试处理大型数据集的多标签分类。我有大约4000个独特的标签,所以当我尝试使用LabelBinarizer()。fit(yTuple)/转换它只是永远。根据标签的数量和行数(600万行)是正常还是我做错了什么?LabelBinarizer()永不止息

笔记本的配置:苹果,酷睿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(文件路径) - 这将一次返回一行标签集。

回答

2

标签数组大约需要4000 * 6e6 * 8个字节,即179GB。 scikit-learn不符合开箱即用的大规模多类分类。

+0

感谢您的确认。 – Moon

1

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