[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
Github user Miro12 commented on a diff in the pull request: https://github.com/apache/spark/pull/16966#discussion_r112689291 --- Diff: mllib/src/main/scala/org/apache/spark/ml/feature/LSH.scala --- @@ -147,6 +148,15 @@ private[ml] abstract class LSHModel[T <: LSHModel[T]] modelSubsetWithDistCol.sort(distCol).limit(numNearestNeighbors) } + private[feature] def approxNearestNeighbors( + dataset: Dataset[_], + key: Vector, + numNearestNeighbors: Int, + singleProbe: Boolean, + distCol: String): Dataset[_] = { +approxNearestNeighbors(dataset, key, numNearestNeighbors, singleProbe, distCol, 0.05) --- End diff -- Thanks!!!Your code help me a lot, and can I ask questions in Chinese(Maybe by sending you an email~)^_^ --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
Github user Yunni commented on a diff in the pull request: https://github.com/apache/spark/pull/16966#discussion_r102065786 --- Diff: mllib/src/main/scala/org/apache/spark/ml/feature/LSH.scala --- @@ -147,6 +148,15 @@ private[ml] abstract class LSHModel[T <: LSHModel[T]] modelSubsetWithDistCol.sort(distCol).limit(numNearestNeighbors) } + private[feature] def approxNearestNeighbors( + dataset: Dataset[_], + key: Vector, + numNearestNeighbors: Int, + singleProbe: Boolean, + distCol: String): Dataset[_] = { +approxNearestNeighbors(dataset, key, numNearestNeighbors, singleProbe, distCol, 0.05) --- End diff -- Just an empirical relative error for approxQuantile. --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
Github user MLnick commented on a diff in the pull request: https://github.com/apache/spark/pull/16966#discussion_r102005885 --- Diff: mllib/src/main/scala/org/apache/spark/ml/feature/LSH.scala --- @@ -147,6 +148,15 @@ private[ml] abstract class LSHModel[T <: LSHModel[T]] modelSubsetWithDistCol.sort(distCol).limit(numNearestNeighbors) } + private[feature] def approxNearestNeighbors( + dataset: Dataset[_], + key: Vector, + numNearestNeighbors: Int, + singleProbe: Boolean, + distCol: String): Dataset[_] = { +approxNearestNeighbors(dataset, key, numNearestNeighbors, singleProbe, distCol, 0.05) --- End diff -- Any particular reason for selecting 0.05 as the default? --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
Github user Yunni commented on a diff in the pull request: https://github.com/apache/spark/pull/16966#discussion_r101832855 --- Diff: mllib/src/main/scala/org/apache/spark/ml/feature/LSH.scala --- @@ -147,6 +148,15 @@ private[ml] abstract class LSHModel[T <: LSHModel[T]] modelSubsetWithDistCol.sort(distCol).limit(numNearestNeighbors) } + private[feature] def approxNearestNeighbors( + dataset: Dataset[_], + key: Vector, + numNearestNeighbors: Int, + singleProbe: Boolean, + distCol: String): Dataset[_] = { +approxNearestNeighbors(dataset, key, numNearestNeighbors, singleProbe, distCol, 0.05) --- End diff -- Let me know if the added Scaladoc makes sense to you. --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
Github user felixcheung commented on a diff in the pull request: https://github.com/apache/spark/pull/16966#discussion_r101684524 --- Diff: mllib/src/main/scala/org/apache/spark/ml/feature/LSH.scala --- @@ -147,6 +148,15 @@ private[ml] abstract class LSHModel[T <: LSHModel[T]] modelSubsetWithDistCol.sort(distCol).limit(numNearestNeighbors) } + private[feature] def approxNearestNeighbors( + dataset: Dataset[_], + key: Vector, + numNearestNeighbors: Int, + singleProbe: Boolean, + distCol: String): Dataset[_] = { +approxNearestNeighbors(dataset, key, numNearestNeighbors, singleProbe, distCol, 0.05) --- End diff -- what is `0.05`? should that be documented why that value is chosen? --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark pull request #16966: [SPARK-18409][ML]LSH approxNearestNeighbors shoul...
GitHub user Yunni opened a pull request: https://github.com/apache/spark/pull/16966 [SPARK-18409][ML]LSH approxNearestNeighbors should use approxQuantile instead of sort ## What changes were proposed in this pull request? In previous implementation of LSH approxNearestNeighbors, we have used sorting to get hashThreshold. By moving to approxQuantile, we can get as good results as the sort-based implementation while improving the running time a lot. ## How was this patch tested? By running unit tests BucketedRandomProjectionLSHSuite and MinHashLSHSuite You can merge this pull request into a Git repository by running: $ git pull https://github.com/Yunni/spark SPARK-18409 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/spark/pull/16966.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #16966 commit a3c6c0f86da47e0efa32f3d79846a69a4451517b Author: Yun NiDate: 2017-02-16T22:12:35Z LSH approxNearestNeighbors should use approxQuantile instead of sort --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org