turicreate.toolkits.distances.weighted_jaccard¶
-
turicreate.toolkits.distances.
weighted_jaccard
(x, y)¶ Compute the weighted Jaccard distance between between two dictionaries. Suppose \(K_x\) and \(K_y\) are the sets of keys from the two input dictionaries, while \(x_k\) and \(y_k\) are the values associated with key \(k\) in the respective dictionaries. Typically these values are counts, i.e. of words or n-grams.
\[D(x, y) = 1 - \frac{\sum_{k \in K_x \cup K_y} \min\{x_k, y_k\}} {\sum_{k \in K_x \cup K_y} \max\{x_k, y_k\}}\]Parameters: - x : dict
First input dictionary.
- y : dict
Second input dictionary.
Returns: - out : float
Weighted jaccard distance between x and y.
Notes
- If a key is missing in one of the two dictionaries, it is assumed to have value 0.
References
- Weighted Jaccard distance: Chierichetti, F., et al. (2010) Finding the Jaccard Median. Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics.
Examples
>>> tc.distances.weighted_jaccard({'a': 2, 'c': 4}, ... {'b': 3, 'c': 12}) 0.7647058823529411