以下是设置:
课程数量:1806
训练数据长度为61499
功能数量是40473(目前这些是布尔值,虽然这可能会在某些时候发生变化)
平均每个训练数据在行中有~10 1,因此40463 0(我使用的是scipy的稀疏矩阵)。
我尝试过各种各样的学习算法(linearsvc获得最佳性能,而sgdclassifier似乎效率最高,性能仅略低于linearsvc),还有一些降维(pca,svd),但我怀疑我正在设置矩阵的方式有问题吗? (或者可能只有更好的方法,因为当方法/特征/数据明显减少时,这种方法可以正常工作)
非常感谢任何想法。
(编辑:也尝试了sgdclassifier的.partial_fit(),即使有两次调用花了太长时间,所以我没有让它完成)
答案 0 :(得分:0)
当您耗尽可寻址内存时,通常会发生MemoryError。如果您正在运行32位python,则通常可以通过使用64位python来避免此错误。有关发生这种情况的详细信息,请参阅here。