Github user srowen commented on a diff in the pull request:
https://github.com/apache/spark/pull/15795#discussion_r86743892
--- Diff: docs/ml-features.md ---
@@ -1396,3 +1396,134 @@ for more details on the API.
{% include_example python/ml/chisq_selector_example.py %}
</div>
</div>
+
+# Locality Sensitive Hashing
+[Locality Sensitive
Hashing(LSH)](https://en.wikipedia.org/wiki/Locality-sensitive_hashing) is a
class of dimension reduction hash families, which can be used as both feature
transformation and machine-learned ranking. Difference distance metric has its
own LSH family class in `spark.ml`, which can transform feature columns to hash
values as new columns. Besides feature transforming, `spark.ml` also
implemented approximate nearest neighbor algorithm and approximate similarity
join algorithm using LSH.
--- End diff --
Despite the opening sentence of the wikipedia article, I wouldn't class LSH
as a dimensionality reduction technique? It's a set of hashing techniques where
the hash preserves some properties. Maybe it's just my taste. But the rest of
the text talks about the output as hash values.
What does "machine-learned ranking" refer to here? as this isn't a ranking
technique per se.
I think this is missing a broad summary statement that indicates why LSH is
even of interest: it provides a hash function where hashed values are in some
sense close when the input values are close according to some metric. And then
the variations below plug in different definitions of "close" and "input".
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]