以下是设置:
班级数量:1806
训练数据长度为61499
特征数量为40473(目前这些是布尔值,尽管可能会在某个时候发生变化)
平均而言,每个训练数据在一行中有~10个1,因此为40463个0(我使用的是scipy的稀疏矩阵)。
我尝试了各种学习算法(linearsvc获得了最好的性能,sgdclassifier似乎是最高效的,性能仅略低于linear svc)和一些降维(pca,svd),但我怀疑我设置矩阵的方式有问题吗?(或者可能有更好的方法,因为当类/特征/数据明显较少时,这种方法确实有效)
任何想法都将不胜感激。
(编辑:还尝试了sgdclassifier的.partial_fit(),即使有两个调用也需要很长时间,所以我没有让它完成)
MemoryError通常在可寻址内存用完时发生。如果您运行的是32位python,通常可以使用64位python来避免此错误。请参阅此处了解发生这种情况的详细原因。