我正在嘗試使用python和django構建電影推薦程序web應用程序。我試圖使用一個命令來拍攝電影的描述,並創建一個信息檢索系統,以允許用戶找到輸入相關單詞的電影。然後將此tf-idf模型與初始推薦系統模型(基於CF項目和對數似然比)一起保存在Django緩存中。推薦系統:ValueError at /無法將字符串轉換爲float:
負載數據的命令是
python manage.py load_data --input=plots.csv --nmaxwords=30000 --umatrixfile=umatrix.csv
終端錯誤
File "/home/anthra/server_movierecsys/books_recsys_app/management/commands/load_data.py", line 80, in handle
matr[0]=newrow
ValueError: could not convert string to float: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
plot.csv截圖
的代碼如下:
個matr = np.empty([1,ndims])
titles = []
cnt=0
for m in xrange(nmovies):
moviedata = MovieData()
moviedata.title=tot_titles[m]
moviedata.description=tot_textplots[m]
moviedata.ndim= ndims
moviedata.array=json.dumps(vec_tfidf[m].toarray()[0].tolist())
moviedata.save()
newrow = moviedata.array
if cnt==0:
matr[0]=newrow
else:
matr = np.vstack([matr, newrow])
titles.append(moviedata.title)
cnt+=1
感謝。任何想法如何解決問題 – Sumi
我不太確定爲什麼你要序列化那裏的數據。你可以在該行執行其他調用,將結果保存爲newrow,然後只有json.dumps該變量。 – jkm