3
私は、この形式のCSVファイルを持っている:私はMOVIEIDとしてuseridと列と行を持つ疎行列を構築したいscipyで格付けcsr_matrixを作成するには?
userId movieId rating timestamp
1 31 2.5 1260759144
2 10 4 835355493
3 1197 5 1298932770
4 10 4 949810645
を。 カラム['user']にユーザID、カラム['movie']にムービーIDがあり、カラム['ratings']に次のような格付けを持つ「column」という辞書としてすべてのデータを保存しました:
f = open('ratings.csv','rb')
reader = csv.reader(f)
headers = ['user','movie','rating','timestamp']
column = {}
for h in headers:
column[h] = []
for row in reader:
for h, v in zip(headers, row):
column[h].append(float(v))
として、私はスパース行列関数を呼び出す:私が得る
mat = scipy.sparse.csr_matrix((column['rating'],(column['user'],column['movie'])))
"TypeError例外:無効な形状を"
これは、ユーザーとして行、映画としての列、および[行、列]として評価としてスパース行列を作成しません。 [行、列]の値として、行、ムービー、列としてユーザーとしての疎な行列を作成するにはどうすればよいですか? – shane
元のコマンド "mat = scipy.sparse.csr_matrix((列['評価']、列['user']、列['movie'])))この関数を使用する前に、列['rating']と列['movie']を配列に変換する必要がありました。 – Alice