Package org.apache.spark.ml.feature
Class StringIndexer
- All Implemented Interfaces:
Serializable
,org.apache.spark.internal.Logging
,StringIndexerBase
,Params
,HasHandleInvalid
,HasInputCol
,HasInputCols
,HasOutputCol
,HasOutputCols
,DefaultParamsWritable
,Identifiable
,MLWritable
,scala.Serializable
public class StringIndexer
extends Estimator<StringIndexerModel>
implements StringIndexerBase, DefaultParamsWritable
A label indexer that maps string column(s) of labels to ML column(s) of label indices.
If the input columns are numeric, we cast them to string and index the string values.
The indices are in [0, numLabels). By default, this is ordered by label frequencies
so the most frequent label gets index 0. The ordering behavior is controlled by
setting
stringOrderType
.
- See Also:
-
IndexToString
for the inverse transformation- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.spark.internal.Logging
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.Fits a model to the input data.Param for how to handle invalid data (unseen labels or NULL values).inputCol()
Param for input column name.final StringArrayParam
Param for input column names.static StringIndexer
Param for output column name.final StringArrayParam
Param for output column names.static MLReader<T>
read()
setHandleInvalid
(String value) setInputCol
(String value) setInputCols
(String[] value) setOutputCol
(String value) setOutputCols
(String[] value) setStringOrderType
(String value) Param for how to order labels of string column.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, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning, org$apache$spark$internal$Logging$$log_, org$apache$spark$internal$Logging$$log__$eq
Methods inherited from interface org.apache.spark.ml.util.MLWritable
save
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
Methods inherited from interface org.apache.spark.ml.feature.StringIndexerBase
getInOutCols, getStringOrderType, validateAndTransformField, validateAndTransformSchema
-
Constructor Details
-
StringIndexer
-
StringIndexer
public StringIndexer()
-
-
Method Details
-
load
-
read
-
handleInvalid
Description copied from interface:StringIndexerBase
Param for how to handle invalid data (unseen labels or NULL values). Options are 'skip' (filter out rows with invalid data), 'error' (throw an error), or 'keep' (put invalid data in a special additional bucket, at index numLabels). Default: "error"- Specified by:
handleInvalid
in interfaceHasHandleInvalid
- Specified by:
handleInvalid
in interfaceStringIndexerBase
- Returns:
- (undocumented)
-
stringOrderType
Description copied from interface:StringIndexerBase
Param for how to order labels of string column. The first label after ordering is assigned an index of 0. Options are: - 'frequencyDesc': descending order by label frequency (most frequent label assigned 0) - 'frequencyAsc': ascending order by label frequency (least frequent label assigned 0) - 'alphabetDesc': descending alphabetical order - 'alphabetAsc': ascending alphabetical order Default is 'frequencyDesc'.Note: In case of equal frequency when under frequencyDesc/Asc, the strings are further sorted alphabetically.
- Specified by:
stringOrderType
in interfaceStringIndexerBase
- Returns:
- (undocumented)
-
outputCols
Description copied from interface:HasOutputCols
Param for output column names.- Specified by:
outputCols
in interfaceHasOutputCols
- Returns:
- (undocumented)
-
inputCols
Description copied from interface:HasInputCols
Param for input column names.- Specified by:
inputCols
in interfaceHasInputCols
- Returns:
- (undocumented)
-
outputCol
Description copied from interface:HasOutputCol
Param for output column name.- Specified by:
outputCol
in interfaceHasOutputCol
- 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)
-
setHandleInvalid
-
setStringOrderType
-
setInputCol
-
setOutputCol
-
setInputCols
-
setOutputCols
-
fit
Description copied from class:Estimator
Fits a model to the input data.- Specified by:
fit
in classEstimator<StringIndexerModel>
- Parameters:
dataset
- (undocumented)- Returns:
- (undocumented)
-
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)
-
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<StringIndexerModel>
- Parameters:
extra
- (undocumented)- Returns:
- (undocumented)
-