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:
-
StringIndexer
for 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
handleInvalid
is configured to 'keep', an extra "category" indicating invalid values is added as last category. So whendropLast
is true, invalid values are encoded as all-zeros vector., When encoding multi-column by using
inputCols
andoutputCols
params, 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
-
Method Summary
Modifier and TypeMethodDescriptionCreates a copy of this instance with the same UID and some extra params.final BooleanParam
dropLast()
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 StringArrayParam
Param for input column names.static OneHotEncoder
Param for output column name.final StringArrayParam
Param 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
params
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.spark.ml.util.DefaultParamsWritable
write
Methods inherited from interface org.apache.spark.ml.param.shared.HasHandleInvalid
getHandleInvalid
Methods inherited from interface org.apache.spark.ml.param.shared.HasInputCol
getInputCol
Methods inherited from interface org.apache.spark.ml.param.shared.HasInputCols
getInputCols
Methods inherited from interface org.apache.spark.ml.param.shared.HasOutputCol
getOutputCol
Methods inherited from interface org.apache.spark.ml.param.shared.HasOutputCols
getOutputCols
Methods inherited from interface org.apache.spark.ml.util.Identifiable
toString
Methods inherited from interface org.apache.spark.internal.Logging
initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, isTraceEnabled, log, 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, withLogContext
Methods inherited from interface org.apache.spark.ml.util.MLWritable
save
Methods inherited from interface org.apache.spark.ml.feature.OneHotEncoderBase
getDropLast, getInOutCols, validateAndTransformSchema
Methods inherited from interface org.apache.spark.ml.param.Params
clear, copyValues, defaultCopy, defaultParamMap, 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:OneHotEncoderBase
Param 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:
handleInvalid
in interfaceHasHandleInvalid
- Specified by:
handleInvalid
in interfaceOneHotEncoderBase
- Returns:
- (undocumented)
-
dropLast
Description copied from interface:OneHotEncoderBase
Whether to drop the last category in the encoded vector (default: true)- Specified by:
dropLast
in interfaceOneHotEncoderBase
- Returns:
- (undocumented)
-
outputCols
Description copied from interface:HasOutputCols
Param for output column names.- Specified by:
outputCols
in interfaceHasOutputCols
- Returns:
- (undocumented)
-
outputCol
Description copied from interface:HasOutputCol
Param for output column name.- Specified by:
outputCol
in interfaceHasOutputCol
- Returns:
- (undocumented)
-
inputCols
Description copied from interface:HasInputCols
Param for input column names.- Specified by:
inputCols
in interfaceHasInputCols
- Returns:
- (undocumented)
-
inputCol
Description copied from interface:HasInputCol
Param for input column name.- Specified by:
inputCol
in interfaceHasInputCol
- Returns:
- (undocumented)
-
uid
Description copied from interface:Identifiable
An immutable unique ID for the object and its derivatives.- Specified by:
uid
in interfaceIdentifiable
- Returns:
- (undocumented)
-
setInputCol
-
setOutputCol
-
setInputCols
-
setOutputCols
-
setDropLast
-
setHandleInvalid
-
transformSchema
Description copied from class:PipelineStage
Check transform validity and derive the output schema from the input schema.We check validity for interactions between parameters during
transformSchema
and 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:
transformSchema
in classPipelineStage
- Parameters:
schema
- (undocumented)- Returns:
- (undocumented)
-
fit
Description copied from class:Estimator
Fits a model to the input data.- Specified by:
fit
in classEstimator<OneHotEncoderModel>
- Parameters:
dataset
- (undocumented)- Returns:
- (undocumented)
-
copy
Description copied from interface:Params
Creates 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:
copy
in interfaceParams
- Specified by:
copy
in classEstimator<OneHotEncoderModel>
- Parameters:
extra
- (undocumented)- Returns:
- (undocumented)
-