Grouping/Clustering results based on shared values I have a data set that is similar to this:


10,000 jobs with 200,000 applicants which are linked to a job.


I'm looking to cluster the shared jobs based on applicants that they share, am I reinventing the wheel looking to build this or is there a common solution?

Most of the example I found all require a "distance" but I can't see how I could compute one in this case?

Edit: To add, the clustering criteria would be fairly straightforward more than X applicants (say 5) in common, with only a single cluster per job.
You could use the Jaccard distance to compare two jobs: i.e., the distance between two jobs is

$$d(A,B) = {|A \cap B| \over |A \cup B|},$$

where $A$ is the set of applicants for the first job and $B$ is the set of applicants for the second job.  Then, use any standard clustering algorithm with this distance measure.