我需要在幾個14000x10000矩陣中存儲單詞共現計數。因爲我知道矩陣將會很稀疏,而且我沒有足夠的內存來存儲它們作爲密集矩陣,所以我將它們存儲爲scipy.sparse矩陣。從字典子集中有效填充SciPy稀疏矩陣
我發現收集要使用Counter對象的計數最有效的方法。現在我需要將Counter對象的計數傳遞給稀疏矩陣,但這需要很長時間。它目前需要18個小時才能填充矩陣。
我正在使用的代碼大致如下:
for word_ind1 in range(len(wordlist1)):
for word_ind2 in range(len(wordlist2)):
word_counts[word_ind2, word_ind1]=word_counters[wordlist1[word_ind1]][wordlist2[word_ind2]]
凡word_counts
是scipy.sparse.lil_matrix對象,word_counters
是計數器的字典,wordlist1
和wordlist2
是字符串列表。
有沒有辦法更有效地做到這一點?
什麼是「word_counts」? –
這是我試圖填充的稀疏矩陣。我剛剛編輯了這個問題。 – user3486648
顯然,但是什麼類型的稀疏矩陣? –