行がユーザーでテレビ番組が列であるユーザーとテレビ番組の隣接リストを作成する必要があります。ユーザーがそのテレビ番組をフォローしている場合、マトリックスには1があり、それ以外の場合はゼロになります。この情報は私がすでにツイッターから集めたものです。合計で140のテレビ番組と約530000のユニークユーザーがいます。次のコードを使用して、Pythonを使用してマトリックスを生成しています。
- NoTvShows:テレビ番組(ID)の総数
- unique_user:すべてのユニークユーザー
- collected_users:これはリストのリストです。サブリストはテレビ番組に対応し、フォロワーの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をコーディングして、縮小された行列を生成する方法がわかりません。
この点で誰かが私を導いてくれることを願っています
ありがとうございました
リチャ