2016-02-05 48 views
-3

我有epinions网站的数据集,想实现推荐系统 在第一步我应该改变数据集的结构,它应该像120000*780000 rows and columns 它真的很大的矩阵和由于内存不足,不可能做到这一点 在我的工作中,每个用户都应该有M维矢量,并且M780000 的项目总数我不能使用稀疏矩阵,因为我需要索引,而且它太慢 我现在可以做什么?我如何在matlab中拥有这个大数据集?在Matlab中处理非常大的矩阵

+1

我不认为使用稀疏本身应该* * *慢。你确定你的矩阵实际上是*稀疏*?你是否预先分配? –

回答

0

你可以尝试不同的东西,以减少数据量:

  1. 把你的意见的随机子集:120.000意见相当多,尽量随机在几个较小的子集分裂,并检查这是系统的性能。
  2. 使用PCA降低数据的维度:780.000维度是一个很大的。用PCA可能会大大减少维数。
  3. 如果您的数据大多为零或不变,您实际上可以使用稀疏矩阵。稀疏矩阵记录非零数据的索引,所以不用担心。