Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In order to cluster users given a user-item binary matrix data, I am planning to first find user's similarity (Jaccard) and then use graph theory to isolate clusters (communities). I need to map the similarity matrix to a binary graph where $e_{ij}=1\; \text{iff}\; \text{sim}(u_i,u_j) > th$, i.e, there is an edge between nodes $i,j$ if the similarity between users $u_i$ and $u_j$ is greater than some threshold $th$.

Here is the distribution of my users' similarity:

> summary(sim)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.0310  0.0910  0.1093  0.1710  0.4620 
  • What would be an optimum way to find an appropriate threshold?
  • Is it even the right approach?
share|improve this question
You could retain the similarities as weights:… – MattBagg Jan 2 '13 at 21:14
That was very helpful, thank you. – user1848018 Jan 2 '13 at 23:33

Your Answer


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

Browse other questions tagged or ask your own question.