public final class ChiSqSelector extends Estimator<ChiSqSelectorModel> implements DefaultParamsWritable
numTopFeatures
, percentile
, fpr
,
fdr
, fwe
.
- numTopFeatures
chooses a fixed number of top features according to a chi-squared test.
- 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]
(https://en.wikipedia.org/wiki/False_discovery_rate#Benjamini.E2.80.93Hochberg_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 method is numTopFeatures
, with the default number of top features
set to 50.Constructor and Description |
---|
ChiSqSelector() |
ChiSqSelector(String uid) |
Modifier and Type | Method and Description |
---|---|
static Params |
clear(Param<?> param) |
ChiSqSelector |
copy(ParamMap extra)
Creates a copy of this instance with the same UID and some extra params.
|
static String |
explainParam(Param<?> param) |
static String |
explainParams() |
static ParamMap |
extractParamMap() |
static ParamMap |
extractParamMap(ParamMap extra) |
static DoubleParam |
fdr() |
DoubleParam |
fdr()
The upper bound of the expected false discovery rate.
|
static Param<String> |
featuresCol() |
ChiSqSelectorModel |
fit(Dataset<?> dataset)
Fits a model to the input data.
|
static DoubleParam |
fpr() |
DoubleParam |
fpr()
The highest p-value for features to be kept.
|
static DoubleParam |
fwe() |
DoubleParam |
fwe()
The upper bound of the expected family-wise error rate.
|
static <T> scala.Option<T> |
get(Param<T> param) |
static <T> scala.Option<T> |
getDefault(Param<T> param) |
static double |
getFdr() |
double |
getFdr() |
static String |
getFeaturesCol() |
static double |
getFpr() |
double |
getFpr() |
static double |
getFwe() |
double |
getFwe() |
static String |
getLabelCol() |
static int |
getNumTopFeatures() |
int |
getNumTopFeatures() |
static <T> T |
getOrDefault(Param<T> param) |
static String |
getOutputCol() |
static Param<Object> |
getParam(String paramName) |
static double |
getPercentile() |
double |
getPercentile() |
static String |
getSelectorType() |
String |
getSelectorType() |
static <T> boolean |
hasDefault(Param<T> param) |
static boolean |
hasParam(String paramName) |
static boolean |
isDefined(Param<?> param) |
static boolean |
isSet(Param<?> param) |
static Param<String> |
labelCol() |
static ChiSqSelector |
load(String path) |
static IntParam |
numTopFeatures() |
IntParam |
numTopFeatures()
Number of features that selector will select, ordered by ascending p-value.
|
static Param<String> |
outputCol() |
static Param<?>[] |
params() |
static DoubleParam |
percentile() |
DoubleParam |
percentile()
Percentile of features that selector will select, ordered by statistics value descending.
|
static void |
save(String path) |
static Param<String> |
selectorType() |
Param<String> |
selectorType()
The selector type of the ChisqSelector.
|
static <T> Params |
set(Param<T> param,
T value) |
ChiSqSelector |
setFdr(double value) |
ChiSqSelector |
setFeaturesCol(String value) |
ChiSqSelector |
setFpr(double value) |
ChiSqSelector |
setFwe(double value) |
ChiSqSelector |
setLabelCol(String value) |
ChiSqSelector |
setNumTopFeatures(int value) |
ChiSqSelector |
setOutputCol(String value) |
ChiSqSelector |
setPercentile(double value) |
ChiSqSelector |
setSelectorType(String value) |
static String |
toString() |
StructType |
transformSchema(StructType schema)
:: DeveloperApi ::
|
String |
uid()
An immutable unique ID for the object and its derivatives.
|
static MLWriter |
write() |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
featuresCol, getFeaturesCol
getOutputCol, outputCol
getLabelCol, labelCol
clear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn
toString
write
save
initializeLogging, initializeLogIfNecessary, initializeLogIfNecessary, isTraceEnabled, log_, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning
public ChiSqSelector(String uid)
public ChiSqSelector()
public static ChiSqSelector load(String path)
public static String toString()
public static Param<?>[] params()
public static String explainParam(Param<?> param)
public static String explainParams()
public static final boolean isSet(Param<?> param)
public static final boolean isDefined(Param<?> param)
public static boolean hasParam(String paramName)
public static Param<Object> getParam(String paramName)
public static final <T> scala.Option<T> get(Param<T> param)
public static final <T> T getOrDefault(Param<T> param)
public static final <T> scala.Option<T> getDefault(Param<T> param)
public static final <T> boolean hasDefault(Param<T> param)
public static final ParamMap extractParamMap()
public static final Param<String> featuresCol()
public static final String getFeaturesCol()
public static final Param<String> outputCol()
public static final String getOutputCol()
public static final Param<String> labelCol()
public static final String getLabelCol()
public static final IntParam numTopFeatures()
public static int getNumTopFeatures()
public static final DoubleParam percentile()
public static double getPercentile()
public static final DoubleParam fpr()
public static double getFpr()
public static final DoubleParam fdr()
public static double getFdr()
public static final DoubleParam fwe()
public static double getFwe()
public static final Param<String> selectorType()
public static String getSelectorType()
public static void save(String path) throws java.io.IOException
java.io.IOException
public static MLWriter write()
public String uid()
Identifiable
uid
in interface Identifiable
public ChiSqSelector setNumTopFeatures(int value)
public ChiSqSelector setPercentile(double value)
public ChiSqSelector setFpr(double value)
public ChiSqSelector setFdr(double value)
public ChiSqSelector setFwe(double value)
public ChiSqSelector setSelectorType(String value)
public ChiSqSelector setFeaturesCol(String value)
public ChiSqSelector setOutputCol(String value)
public ChiSqSelector setLabelCol(String value)
public ChiSqSelectorModel fit(Dataset<?> dataset)
Estimator
fit
in class Estimator<ChiSqSelectorModel>
dataset
- (undocumented)public StructType transformSchema(StructType schema)
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 by Param.validate()
.
Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
transformSchema
in class PipelineStage
schema
- (undocumented)public ChiSqSelector copy(ParamMap extra)
Params
defaultCopy()
.copy
in interface Params
copy
in class Estimator<ChiSqSelectorModel>
extra
- (undocumented)public DoubleParam fdr()
public DoubleParam fpr()
public DoubleParam fwe()
public double getFdr()
public double getFpr()
public double getFwe()
public int getNumTopFeatures()
public double getPercentile()
public String getSelectorType()
public IntParam numTopFeatures()
public DoubleParam percentile()
public Param<String> selectorType()