擅长:python、mysql、java
<p>您可以使用<a href="http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.DictVectorizer.html#sklearn.feature_extraction.DictVectorizer" rel="nofollow noreferrer">DictVectorizer</a>将dicts转换为形状[n个样本,n个特征]的特征矩阵,然后轻松地对其应用余弦相似性。在</p>
<pre><code>item1 = { "Criteria1" : 5, "Criteria2" : 2, "Criteria3" : 1 }
item2 = { "Criteria1" : 0, "Criteria2" : 1, "Criteria3" : 5 }
item3 = { "Criteria1" : 4, "Criteria2" : 2, "Criteria3" : 1 }
useritem = { "Criteria1" : 5, "Criteria2" : 2, "Criteria3" : 2 }
from sklearn.feature_extraction import DictVectorizer
from sklearn.metrics.pairwise import cosine_similarity
vectorizer = DictVectorizer(sparse=False)
inputData = vectorizer.fit_transform([item1, item2, item3])
toCheckData = vectorizer.transform([useritem])
similarity = cosine_similarity(inputData, toCheckData)
# Output: similarity
array([[ 0.98524468],
[ 0.40967325],
[ 0.98765833]])
</code></pre>