Class BucketedRandomProjectionLSH
- All Implemented Interfaces:
- Serializable,- org.apache.spark.internal.Logging,- BucketedRandomProjectionLSHParams,- LSHParams,- Params,- HasInputCol,- HasOutputCol,- HasSeed,- DefaultParamsWritable,- Identifiable,- MLWritable
BucketedRandomProjectionLSH implements Locality Sensitive Hashing functions for
 Euclidean distance metrics.
 The input is dense or sparse vectors, each of which represents a point in the Euclidean distance space. The output will be vectors of configurable dimension. Hash values in the same dimension are calculated by the same hash function.
References:
1. Wikipedia on Stable Distributions
2. Wang, Jingdong et al. "Hashing for similarity search: A survey." arXiv preprint arXiv:1408.2927 (2014).
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.spark.internal.Loggingorg.apache.spark.internal.Logging.LogStringContext, org.apache.spark.internal.Logging.SparkShellLoggingFilter
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionThe length of each hash bucket, a larger bucket lowers the false negative rate.Creates a copy of this instance with the same UID and some extra params.Fits a model to the input data.inputCol()Param for input column name.static BucketedRandomProjectionLSHfinal IntParamParam for the number of hash tables used in LSH OR-amplification.Param for output column name.static MLReader<T>read()final LongParamseed()Param for random seed.setBucketLength(double value) setInputCol(String value) setNumHashTables(int value) setOutputCol(String value) setSeed(long value) transformSchema(StructType schema) Check transform validity and derive the output schema from the input schema.uid()An immutable unique ID for the object and its derivatives.Methods inherited from class org.apache.spark.ml.PipelineStageparamsMethods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.spark.ml.feature.BucketedRandomProjectionLSHParamsgetBucketLengthMethods inherited from interface org.apache.spark.ml.util.DefaultParamsWritablewriteMethods inherited from interface org.apache.spark.ml.param.shared.HasInputColgetInputColMethods inherited from interface org.apache.spark.ml.param.shared.HasOutputColgetOutputColMethods inherited from interface org.apache.spark.ml.util.IdentifiabletoStringMethods inherited from interface org.apache.spark.internal.LogginginitializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, isTraceEnabled, log, logBasedOnLevel, logDebug, logDebug, logDebug, logDebug, logError, logError, logError, logError, logInfo, logInfo, logInfo, logInfo, logName, LogStringContext, logTrace, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, logWarning, MDC, org$apache$spark$internal$Logging$$log_, org$apache$spark$internal$Logging$$log__$eq, withLogContextMethods inherited from interface org.apache.spark.ml.feature.LSHParamsgetNumHashTables, validateAndTransformSchemaMethods inherited from interface org.apache.spark.ml.util.MLWritablesaveMethods inherited from interface org.apache.spark.ml.param.Paramsclear, copyValues, defaultCopy, defaultParamMap, estimateMatadataSize, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, onParamChange, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn
- 
Constructor Details- 
BucketedRandomProjectionLSH
- 
BucketedRandomProjectionLSHpublic BucketedRandomProjectionLSH()
 
- 
- 
Method Details- 
load
- 
read
- 
seedDescription copied from interface:HasSeedParam for random seed.
- 
bucketLengthDescription copied from interface:BucketedRandomProjectionLSHParamsThe length of each hash bucket, a larger bucket lowers the false negative rate. The number of buckets will be(max L2 norm of input vectors) / bucketLength.If input vectors are normalized, 1-10 times of pow(numRecords, -1/inputDim) would be a reasonable value - Specified by:
- bucketLengthin interface- BucketedRandomProjectionLSHParams
- Returns:
- (undocumented)
 
- 
uidDescription copied from interface:IdentifiableAn immutable unique ID for the object and its derivatives.- Specified by:
- uidin interface- Identifiable
- Returns:
- (undocumented)
 
- 
setInputCol
- 
setOutputCol
- 
setNumHashTables
- 
setBucketLength
- 
setSeed
- 
transformSchemaDescription copied from class:PipelineStageCheck transform validity and derive the output schema from the input schema.We check validity for interactions between parameters during transformSchemaand raise an exception if any parameter value is invalid. Parameter value checks which do not depend on other parameters are handled byParam.validate().Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks. - Specified by:
- transformSchemain class- PipelineStage
- Parameters:
- schema- (undocumented)
- Returns:
- (undocumented)
 
- 
copyDescription copied from interface:ParamsCreates a copy of this instance with the same UID and some extra params. Subclasses should implement this method and set the return type properly. SeedefaultCopy().- Specified by:
- copyin interface- Params
- Specified by:
- copyin class- Estimator<BucketedRandomProjectionLSHModel>
- Parameters:
- extra- (undocumented)
- Returns:
- (undocumented)
 
- 
fitDescription copied from class:EstimatorFits a model to the input data.
- 
inputColDescription copied from interface:HasInputColParam for input column name.- Specified by:
- inputColin interface- HasInputCol
- Returns:
- (undocumented)
 
- 
numHashTablesDescription copied from interface:LSHParamsParam for the number of hash tables used in LSH OR-amplification.LSH OR-amplification can be used to reduce the false negative rate. Higher values for this param lead to a reduced false negative rate, at the expense of added computational complexity. - Specified by:
- numHashTablesin interface- LSHParams
- Returns:
- (undocumented)
 
- 
outputColDescription copied from interface:HasOutputColParam for output column name.- Specified by:
- outputColin interface- HasOutputCol
- Returns:
- (undocumented)
 
 
-