Skip to main content
 首页 » 编程设计

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

2024年09月07日37mayingbao

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

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

我最初使用的是多类分类模型,因为这是我的全部经验,并且意识到因为我需要想出所有可能的标签,一个特定的记录可能被绑定(bind),我应该使用多标签分类方法。

我正在寻找有关如何有效执行此操作的建议。我尝试了二元相关性,训练了将近 4 个小时。分类器链在 22 小时后因内存错误而出错。我不敢尝试标签 powerset,因为我读过它们不能很好地处理大量数据。最后,我有经过调整的算法、MlkNN,然后是集成方法(我也担心性能方面的问题)。

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

请您参考如下方法:

这种规模的工作 20 分钟似乎并不长,培训 4 小时也不算长。

我真的会尝试 vowpal wabbit。它擅长处理此类多标签问题,如果您正在寻找它,它可能会提供无与伦比的性能。它需要大量调整,并且仍然需要高质量的训练数据,但这是非常值得的。这本质上只是一个二元分类问题。集成当然会花费更长的时间,因此根据您的准确性要求考虑是否有必要。