1414"""
1515
1616
17- def jaccard_similariy (set_a , set_b , alternative_union = False ):
17+ def jaccard_similarity (set_a , set_b , alternative_union = False ):
1818 """
1919 Finds the jaccard similarity between two sets.
2020 Essentially, its intersection over union.
@@ -35,18 +35,18 @@ def jaccard_similariy(set_a, set_b, alternative_union=False):
3535 Examples:
3636 >>> set_a = {'a', 'b', 'c', 'd', 'e'}
3737 >>> set_b = {'c', 'd', 'e', 'f', 'h', 'i'}
38- >>> jaccard_similariy (set_a, set_b)
38+ >>> jaccard_similarity (set_a, set_b)
3939 0.375
4040
41- >>> jaccard_similariy (set_a, set_a)
41+ >>> jaccard_similarity (set_a, set_a)
4242 1.0
4343
44- >>> jaccard_similariy (set_a, set_a, True)
44+ >>> jaccard_similarity (set_a, set_a, True)
4545 0.5
4646
4747 >>> set_a = ['a', 'b', 'c', 'd', 'e']
4848 >>> set_b = ('c', 'd', 'e', 'f', 'h', 'i')
49- >>> jaccard_similariy (set_a, set_b)
49+ >>> jaccard_similarity (set_a, set_b)
5050 0.375
5151 """
5252
@@ -67,14 +67,15 @@ def jaccard_similariy(set_a, set_b, alternative_union=False):
6767
6868 if alternative_union :
6969 union = len (set_a ) + len (set_b )
70+ return len (intersection ) / union
7071 else :
7172 union = set_a + [element for element in set_b if element not in set_a ]
73+ return len (intersection ) / len (union )
7274
7375 return len (intersection ) / len (union )
7476
7577
7678if __name__ == "__main__" :
77-
7879 set_a = {"a" , "b" , "c" , "d" , "e" }
7980 set_b = {"c" , "d" , "e" , "f" , "h" , "i" }
80- print (jaccard_similariy (set_a , set_b ))
81+ print (jaccard_similarity (set_a , set_b ))
0 commit comments