## How to do recursive feature elimination in Python
def Snippet_128():
print()
print(format('How to do recursive feature elimination in Python','*^82'))
import warnings
warnings.filterwarnings("ignore")
# load libraries
from sklearn.datasets import make_regression
from sklearn.feature_selection import RFECV
from sklearn import linear_model
# Create Data
# Generate features matrix, target vector, and the true coefficients
X, y = make_regression(n_samples = 10000, n_features = 100, n_informative = 2)
print(); print(X.shape)
# Create Linear Model
ols = linear_model.LinearRegression()
# Create recursive feature eliminator that scores features by mean squared errors
rfecv = RFECV(estimator=ols, step=1, scoring='neg_mean_squared_error', cv=4, verbose=0,
n_jobs=4)
# Fit recursive feature eliminator
rfecv.fit(X, y)
# Recursive feature elimination
rfecv.transform(X)
# Number of best features
print(); print(rfecv)
print(); print(rfecv.n_features_)
Snippet_128()