Class OneHotEncoder
- All Implemented Interfaces:
Serializable,org.apache.spark.internal.Logging,OneHotEncoderBase,Params,HasHandleInvalid,HasInputCol,HasInputCols,HasOutputCol,HasOutputCols,DefaultParamsWritable,Identifiable,MLWritable
[0.0, 0.0, 1.0, 0.0].
The last category is not included by default (configurable via dropLast),
because it makes the vector entries sum up to one, and hence linearly dependent.
So an input value of 4.0 maps to [0.0, 0.0, 0.0, 0.0].
- See Also:
-
StringIndexerfor converting categorical values into category indices- Serialized Form
- Note:
- This is different from scikit-learn's OneHotEncoder, which keeps all categories.
The output vectors are sparse.
When
handleInvalidis configured to 'keep', an extra "category" indicating invalid values is added as last category. So whendropLastis true, invalid values are encoded as all-zeros vector., When encoding multi-column by using
inputColsandoutputColsparams, input/output cols come in pairs, specified by the order in the arrays, and each pair is treated independently.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.spark.internal.Logging
org.apache.spark.internal.Logging.LogStringContext, org.apache.spark.internal.Logging.SparkShellLoggingFilter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a copy of this instance with the same UID and some extra params.final BooleanParamdropLast()Whether to drop the last category in the encoded vector (default: true)Fits a model to the input data.Param for how to handle invalid data during transform().inputCol()Param for input column name.final StringArrayParamParam for input column names.static OneHotEncoderParam for output column name.final StringArrayParamParam for output column names.static MLReader<T>read()setDropLast(boolean value) setHandleInvalid(String value) setInputCol(String value) setInputCols(String[] values) setOutputCol(String value) setOutputCols(String[] values) 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.PipelineStage
paramsMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.spark.ml.util.DefaultParamsWritable
writeMethods inherited from interface org.apache.spark.ml.param.shared.HasHandleInvalid
getHandleInvalidMethods inherited from interface org.apache.spark.ml.param.shared.HasInputCol
getInputColMethods inherited from interface org.apache.spark.ml.param.shared.HasInputCols
getInputColsMethods inherited from interface org.apache.spark.ml.param.shared.HasOutputCol
getOutputColMethods inherited from interface org.apache.spark.ml.param.shared.HasOutputCols
getOutputColsMethods inherited from interface org.apache.spark.ml.util.Identifiable
toStringMethods inherited from interface org.apache.spark.internal.Logging
initializeForcefully, 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, org$apache$spark$internal$Logging$$log_, org$apache$spark$internal$Logging$$log__$eq, withLogContextMethods inherited from interface org.apache.spark.ml.util.MLWritable
saveMethods inherited from interface org.apache.spark.ml.feature.OneHotEncoderBase
getDropLast, getInOutCols, validateAndTransformSchemaMethods inherited from interface org.apache.spark.ml.param.Params
clear, 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
-
OneHotEncoder
-
OneHotEncoder
public OneHotEncoder()
-
-
Method Details
-
load
-
read
-
handleInvalid
Description copied from interface:OneHotEncoderBaseParam for how to handle invalid data during transform(). Options are 'keep' (invalid data presented as an extra categorical feature) or 'error' (throw an error). Note that this Param is only used during transform; during fitting, invalid data will result in an error. Default: "error"- Specified by:
handleInvalidin interfaceHasHandleInvalid- Specified by:
handleInvalidin interfaceOneHotEncoderBase- Returns:
- (undocumented)
-
dropLast
Description copied from interface:OneHotEncoderBaseWhether to drop the last category in the encoded vector (default: true)- Specified by:
dropLastin interfaceOneHotEncoderBase- Returns:
- (undocumented)
-
outputCols
Description copied from interface:HasOutputColsParam for output column names.- Specified by:
outputColsin interfaceHasOutputCols- Returns:
- (undocumented)
-
outputCol
Description copied from interface:HasOutputColParam for output column name.- Specified by:
outputColin interfaceHasOutputCol- Returns:
- (undocumented)
-
inputCols
Description copied from interface:HasInputColsParam for input column names.- Specified by:
inputColsin interfaceHasInputCols- Returns:
- (undocumented)
-
inputCol
Description copied from interface:HasInputColParam for input column name.- Specified by:
inputColin interfaceHasInputCol- Returns:
- (undocumented)
-
uid
Description copied from interface:IdentifiableAn immutable unique ID for the object and its derivatives.- Specified by:
uidin interfaceIdentifiable- Returns:
- (undocumented)
-
setInputCol
-
setOutputCol
-
setInputCols
-
setOutputCols
-
setDropLast
-
setHandleInvalid
-
transformSchema
Description 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 classPipelineStage- Parameters:
schema- (undocumented)- Returns:
- (undocumented)
-
fit
Description copied from class:EstimatorFits a model to the input data.- Specified by:
fitin classEstimator<OneHotEncoderModel>- Parameters:
dataset- (undocumented)- Returns:
- (undocumented)
-
copy
Description 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 interfaceParams- Specified by:
copyin classEstimator<OneHotEncoderModel>- Parameters:
extra- (undocumented)- Returns:
- (undocumented)
-