大型数据集的多标签分类方法

时间:2018-05-01 13:33:54

标签: python scikit-learn multilabel-classification

我意识到还有一个类似标题的问题,但我的数据集非常不同。

我有近4000万行和大约3千个标签。运行一个简单的sklearn train_test_split需要将近20分钟。

我最初使用的是多级分类模型,因为我所有的经验,并意识到,由于我需要提供所有可能的标签,特定的记录可以绑定,我应该使用多标签分类方法。

我正在寻找有效如何做到这一点的建议。我尝试了二元相关性,花了近4个小时来训练。分类器链在22小时后出现内存错误。我害怕尝试一个标签,因为我已经读过它们不能很好地处理大量数据。最后,我已经改编了算法,MlkNN,然后是整体方法(我也担心性能明智)。

是否有其他人有此类问题和数据量的经验?除了建议的模型,我还希望获得有关最佳训练方法的建议,例如train_test_split比率或不同/更好的方法。

1 个答案:

答案 0 :(得分:2)

这项工作规模的20分钟似乎没那么长,培训时间也不长。

我真的会尝试vowpal wabbit。它擅长于这种多标签问题,如果这就是你所追求的,它可能会提供无与伦比的性能。它需要进行大量调整,仍然需要高质量的培训数据,但这非常值得。这基本上只是一个二元分类问题。合奏当然需要更长时间,因此请考虑是否有必要满足您的准确性要求。