Gio*_*gio 8 hash scala apache-spark
我应该如何在 Spark 的 LSH 算法Bucketed Random Projection 中最佳选择桶长度?
这是使用 .setBucketLength() 设置的参数,例如来自 Spark 文档:
val brp = new BucketedRandomProjectionLSH()
.setBucketLength(2.0)
.setNumHashTables(3)
.setInputCol("keys")
.setOutputCol("values")
Run Code Online (Sandbox Code Playgroud)
任何支持铲斗长度选择的理论参考将不胜感激。
我在网上能找到的唯一建议是这个,它没有解释所选择的启发式方法的选择。
指定bucketLength的值,如果输入向量被归一化,pow(numRecords, -1/inputDim)的1-10倍将是一个合理的值。
因此,我不确定为什么这种启发式方法应该普遍有效。