Uh oh!
There was an error while loading. Please reload this page.
[SPARK-18450][ML] Scala API Change for LSH AND-amplification - #17092
[SPARK-18450][ML] Scala API Change for LSH AND-amplification#17092Yunni wants to merge 4 commits into
Conversation
SparkQA
commented
Feb 28, 2017
Test build #73550 has finished for PR 17092 at commit
|
Yunni
commented
Feb 28, 2017
@jkbradley@MLnick Here is a clean PR. Sorry for messing up the previous one! @merlintang I am happy to continue our discussion here: https://issues.apache.org/jira/browse/SPARK-19771 as OR-AND amplification requires much more changes than SPARK-18450 |
@Yunni ok, let us discuss the further optimization step in other ticket. Let me manually check and test this patch, because I have one concern here. I will let you know later. |
merlintang
commented
Feb 28, 2017
@Yunni I test this patch locally, it can work, but I have one idea to improve it. We can discuss it in other ticket. |
Yunni
commented
Mar 9, 2017
@jkbradley@sethah Please take a review when you have time. Thanks! |
Yunni
commented
Apr 6, 2017
Ping. |
Yunni
commented
May 6, 2017
@MLnick@jkbradley@sethah Could you take a review? Thanks! |
kturgut
commented
Nov 2, 2017
@jkbradley@MLnick@sethah@Yunni@merlintang@akatz |
WeichenXu123
left a comment
There was a problem hiding this comment.
Supposing we want to support OR-AND amplification in the future, how will the API be added or changed ? Add an boolean parameter to specify OR-AND / AND-OR ?
and maybe the names of numHashFunctions and numHashTables are a little confusing for users.
| @Since("2.1.0") | ||
| override def setNumHashTables(value: Int): this.type = super.setNumHashTables(value) | ||
| @Since("2.2.0") |
| @Since("2.1.0") | ||
| override def setNumHashTables(value: Int): this.type = super.setNumHashTables(value) | ||
| @Since("2.2.0") |
HyukjinKwon
commented
Jul 16, 2018
ping @Yunni |
Closesapache#17422Closesapache#17619Closesapache#18034Closesapache#18229Closesapache#18268Closesapache#17973Closesapache#18125Closesapache#18918Closesapache#19274Closesapache#19456Closesapache#19510Closesapache#19420Closesapache#20090Closesapache#20177Closesapache#20304Closesapache#20319Closesapache#20543Closesapache#20437Closesapache#21261Closesapache#21726Closesapache#14653Closesapache#13143Closesapache#17894Closesapache#19758Closesapache#12951Closesapache#17092Closesapache#21240Closesapache#16910Closesapache#12904Closesapache#21731Closesapache#21095 Added: Closesapache#19233Closesapache#20100Closesapache#21453Closesapache#21455Closesapache#18477 Added: Closesapache#21812Closesapache#21787 Author: hyukjinkwon <gurwls223@apache.org> Closesapache#21781 from HyukjinKwon/closing-prs.
What changes were proposed in this pull request?
Implemented a new Param numHashFunctions as the dimension of AND-amplification for Locality Sensitive Hashing. Now the hash of each feature in LSH is an array of size numHashTables while each element in the array is a vector of size numHashFunctions.
Two features are in the same hash bucket iff ANY pair of the vectors are equal (OR-amplification). Two vectors are equal iff ALL pair of the vector entries are equal (AND-amplification).
Will create follow-up PRs for Python API and Doc/Examples.
How was this patch tested?
By running unit tests MinHashLSHSuite and BucketedRandomProjectionLSHSuite.