误差
numpy.core._exceptions.MemoryError: Unable to allocate 362. GiB for an array with shape (2700000, 18000) and data type float64
https://www.kaggle.com/datasets/netflix-inc/netflix-prize-data
我的工作在这个Netflix奖数据集,其中有很多电影和用户id我的工作是应用矩阵因式分解,所以我需要创建一个矩阵的2700000 X 18000存储int在范围1到5我尝试了很多方法,但仍然无法创建一个矩阵的大小,试图迫使它成为uint8,但矩阵的形状,我得到的是错误的,请帮助我解决这个问题
1条答案
按热度按时间yzuktlbb1#
您的300万x 20000矩阵最好是稀疏的,否则您将需要一台具有大量内存的计算机。一个完整真实的矩阵的副本将需要几百GB甚至几TB的连续空间。
1.开发更有效的矩阵表示,比如sparse one scipy.sparse.csc_matrix。问题是矩阵是否有大部分的0分数。
1.修改算法以处理子矩阵。