sklearn.feature_selection.VarianceThreshold¶
- class sklearn.feature_selection.VarianceThreshold(threshold=0.0)¶
Feature selector that removes all low-variance features.
This feature selection algorithm looks only at the features (X), not the desired outputs (y), and can thus be used for unsupervised learning.
Parameters: threshold : float, optional
Features with a training-set variance lower than this threshold will be removed. The default is to keep all features with non-zero variance, i.e. remove the features that have the same value in all samples.
Attributes: `variances_` : array, shape (n_features,)
Variances of individual features.
Examples
The following dataset has integer features, two of which are the same in every sample. These are removed with the default setting for threshold:
>>> X = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]] >>> selector = VarianceThreshold() >>> selector.fit_transform(X) array([[2, 0], [1, 4], [1, 1]])
Methods
fit(X[, y]) Learn empirical variances from X. fit_transform(X[, y]) Fit to data, then transform it. get_params([deep]) Get parameters for this estimator. get_support([indices]) Get a mask, or integer index, of the features selected inverse_transform(X) Reverse the transformation operation set_params(**params) Set the parameters of this estimator. transform(X) Reduce X to the selected features. - __init__(threshold=0.0)¶
- fit(X, y=None)¶
Learn empirical variances from X.
Parameters: X : {array-like, sparse matrix}, shape (n_samples, n_features)
Sample vectors from which to compute variances.
y : any
Ignored. This parameter exists only for compatibility with sklearn.pipeline.Pipeline.
Returns: self :
- fit_transform(X, y=None, **fit_params)¶
Fit to data, then transform it.
Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.
Parameters: X : numpy array of shape [n_samples, n_features]
Training set.
y : numpy array of shape [n_samples]
Target values.
Returns: X_new : numpy array of shape [n_samples, n_features_new]
Transformed array.
- get_params(deep=True)¶
Get parameters for this estimator.
Parameters: deep: boolean, optional :
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns: params : mapping of string to any
Parameter names mapped to their values.
- get_support(indices=False)¶
Get a mask, or integer index, of the features selected
Parameters: indices : boolean (default False)
If True, the return value will be an array of integers, rather than a boolean mask.
Returns: support : array
An index that selects the retained features from a feature vector. If indices is False, this is a boolean array of shape [# input features], in which an element is True iff its corresponding feature is selected for retention. If indices is True, this is an integer array of shape [# output features] whose values are indices into the input feature vector.
- inverse_transform(X)¶
Reverse the transformation operation
Parameters: X : array of shape [n_samples, n_selected_features]
The input samples.
Returns: X_r : array of shape [n_samples, n_original_features]
X with columns of zeros inserted where features would have been removed by transform.
- set_params(**params)¶
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.
Returns: self :
- transform(X)¶
Reduce X to the selected features.
Parameters: X : array of shape [n_samples, n_features]
The input samples.
Returns: X_r : array of shape [n_samples, n_selected_features]
The input samples with only the selected features.