我必須創建用戶和電視節目的鄰接列表,其中行是用戶,電視節目是列。如果用戶跟隨該電視節目,則矩陣中將有一個1,否則爲零。我已經從twitter上收集了這些信息。共有140個電視節目和約530000個獨特用戶。我使用下面的代碼生成矩陣,使用python:使用numpy縮小矩陣的大小
- NoTvShows:所有的獨立用戶
- collected_users:電視節目(IDS)
- unique_user總數這是一個列表的列表。該子列表對應於電視節目並列出追隨者的ID。
for i in range(0,NoTvShows):
for every_user in unique_users:
if every_user in collected_users[i]:
matrix.append(1)
else:
matrix.append(0)
main_matrix.append(matrix)
matrix = []
the_matrix = zip(*main_matrix)
simplejson.dump(the_matrix,fwrite)
fwrite.close()
當我嘗試在服務器上執行我的程序,它崩潰,因爲它採取了大量的時間和內存。我知道我可以使用numpy來減少矩陣的大小,然後用它來計算用戶之間的相似度。但是,我不確定如何在此代碼中編碼numpy並生成簡化矩陣。
我希望有人能指導我在這方面
謝謝
Richa
嘿,非常感謝!將嘗試實施您的建議。 – 2012-04-27 06:54:01