Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I am doing Information Retrieval using Cosine Similarity.

My data is binary vector.

Since most of all reference I read is using non-binary vector (non-binary matrix) data, I am wondering if it is wrong to use binary vector data in cosine similarity function.

share|improve this question

3 Answers 3

Using binary vector data works perfectly for doing cosine similarity studies. Actually, it makes the arithmetic much simpler because the magnitude of each vector is simply equal to the squareroot of the sum of its entries.

share|improve this answer

Consider looking at the Jaccard coefficient and Tanimoto coefficient. These two are probably a bit more sensible for binary data.

You can obviously use cosine distance, but computing it this way makes things overcomplicated when you have binary data. The dot product boils down to computing the size of the intersection set, the vector length are the number of bits set. Realizing that you are just looking at set sizes leads to more straightforward and fast ways of computing these things.

share|improve this answer

In a similar senario with binary vectors (recommender systems in my case which can be see as a special case of information retrieval) I had very good success with cosine similarity.

When measuring Rankscore I got much better rate on my retrievals when I used Cosine similarity than with the Tanimoto coefficient, but this might be very application specific. You should probably experiment with different similarity measurements and see what yields the best result in you application.

I compare the result of the effects from different similarity measures between my binary vectors here. As mentioned above I have the greatest success with cosine similarity.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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