Class UnivariateFeatureSelector
- All Implemented Interfaces:
Serializable,org.apache.spark.internal.Logging,UnivariateFeatureSelectorParams,Params,HasFeaturesCol,HasLabelCol,HasOutputCol,DefaultParamsWritable,Identifiable,MLWritable
featureType and labelType,
and Spark will pick the score function based on the specified featureType and labelType.
The following combination of featureType and labelType are supported:
- featureType categorical and labelType categorical: Spark uses chi-squared,
i.e. chi2 in sklearn.
- featureType continuous and labelType categorical: Spark uses ANOVA F-test,
i.e. f_classif in sklearn.
- featureType continuous and labelType continuous: Spark uses F-value,
i.e. f_regression in sklearn.
The UnivariateFeatureSelector supports different selection modes: numTopFeatures,
percentile, fpr, fdr, fwe.
- numTopFeatures chooses a fixed number of top features according to a hypothesis.
- percentile is similar but chooses a fraction of all features instead of a fixed number.
- fpr chooses all features whose p-value are below a threshold, thus controlling the false
positive rate of selection.
- fdr uses the
Benjamini-Hochberg procedure
to choose all features whose false discovery rate is below a threshold.
- fwe chooses all features whose p-values are below a threshold. The threshold is scaled by
1/numFeatures, thus controlling the family-wise error rate of selection.
By default, the selection mode is numTopFeatures.
- See Also:
-
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.Param for features column name.The feature type.Fits a model to the input data.labelCol()Param for label column name.The label type.static UnivariateFeatureSelectorParam for output column name.static MLReader<T>read()The selection mode.final DoubleParamThe upper bound of the features that selector will select.setFeaturesCol(String value) setFeatureType(String value) setLabelCol(String value) setLabelType(String value) setOutputCol(String value) setSelectionMode(String value) setSelectionThreshold(double 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.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.HasFeaturesCol
getFeaturesColMethods inherited from interface org.apache.spark.ml.param.shared.HasLabelCol
getLabelColMethods inherited from interface org.apache.spark.ml.param.shared.HasOutputCol
getOutputColMethods 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.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, shouldOwnMethods inherited from interface org.apache.spark.ml.feature.UnivariateFeatureSelectorParams
getFeatureType, getLabelType, getSelectionMode, getSelectionThreshold
-
Constructor Details
-
UnivariateFeatureSelector
-
UnivariateFeatureSelector
public UnivariateFeatureSelector()
-
-
Method Details
-
load
-
read
-
featureType
Description copied from interface:UnivariateFeatureSelectorParamsThe feature type. Supported options: "categorical", "continuous"- Specified by:
featureTypein interfaceUnivariateFeatureSelectorParams- Returns:
- (undocumented)
-
labelType
Description copied from interface:UnivariateFeatureSelectorParamsThe label type. Supported options: "categorical", "continuous"- Specified by:
labelTypein interfaceUnivariateFeatureSelectorParams- Returns:
- (undocumented)
-
selectionMode
Description copied from interface:UnivariateFeatureSelectorParamsThe selection mode. Supported options: "numTopFeatures" (default), "percentile", "fpr", "fdr", "fwe"- Specified by:
selectionModein interfaceUnivariateFeatureSelectorParams- Returns:
- (undocumented)
-
selectionThreshold
Description copied from interface:UnivariateFeatureSelectorParamsThe upper bound of the features that selector will select.- Specified by:
selectionThresholdin interfaceUnivariateFeatureSelectorParams- Returns:
- (undocumented)
-
outputCol
Description copied from interface:HasOutputColParam for output column name.- Specified by:
outputColin interfaceHasOutputCol- Returns:
- (undocumented)
-
labelCol
Description copied from interface:HasLabelColParam for label column name.- Specified by:
labelColin interfaceHasLabelCol- Returns:
- (undocumented)
-
featuresCol
Description copied from interface:HasFeaturesColParam for features column name.- Specified by:
featuresColin interfaceHasFeaturesCol- Returns:
- (undocumented)
-
uid
Description copied from interface:IdentifiableAn immutable unique ID for the object and its derivatives.- Specified by:
uidin interfaceIdentifiable- Returns:
- (undocumented)
-
setSelectionMode
-
setSelectionThreshold
-
setFeatureType
-
setLabelType
-
setFeaturesCol
-
setOutputCol
-
setLabelCol
-
fit
Description copied from class:EstimatorFits a model to the input data.- Specified by:
fitin classEstimator<UnivariateFeatureSelectorModel>- Parameters:
dataset- (undocumented)- Returns:
- (undocumented)
-
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)
-
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<UnivariateFeatureSelectorModel>- Parameters:
extra- (undocumented)- Returns:
- (undocumented)
-