1
$\begingroup$

I want to find items that are similar to items users already have in their collection. Every item has attributes, so I created feature vectors where every element of the vector represents an attribute and is either $0$ or $1$ (if an item has that attribute).

For the user collection I summed up all vectors, creating one vector which I then used to calculate similarities with other items.

Is this a correct approach or should I make this "user vector", binary like the other ones? Or is it easier to just calculate $n \times m$ (I.e. user items and new items) similarities?

The set of new items will consist of $\sim1000$ items, while the user collections tend to be $<1000$. As similarity function I used cosine distance, but wanted to try Pearson coefficient as well.

$\endgroup$
1
$\begingroup$

You can use total sum of boolean values. That will be fast and give a general notion of similarity.

A more useful metric might be Hamming distance, the sum of matching booleans between two vectors.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.