0
私は各アイテムのペア間の類似性を見つけようとしています。アイテムはPython辞書にあり、一度にペアを取って類似性を見つける。コードは -アイテムベースのコラボレーティブフィルタリングをより速く実行する方法を教えてください。
def allSimilarity(itemsDict, similarityMetric):
itemList = itemsDict.keys()
itemSimilarityDict = {}
for item1 in itemList:
itemSimilarityDict[item1] = {}
for item2 in itemList:
if(item1 == item2):
continue
itemSimilarityDict[item1][item2] = similarityMetric(itemsDict, item1, item2)
return itemSimilarityDict
です。問題は、外側のループが各項目に対して5秒かかることです。私は〜300,000のアイテムを持っているので、計算全体で〜18日かかります。速度を上げる方法はありますか? Theano、Tensorflowなどのパッケージを使用してGPUを使用することはできますか?または、クラウドを利用してプロセスを並列化できますか?