Unable to Reproduce Results while using Scikit-learn RFECV

Viewed 101

I am trying to use Recursive Feature Elimination with CV and produce reproducible results. Even though I have tried fixing the randomness by random_state = SEED as arguments of the components used as well as tried setting the random seed globally as well using np.random.seed(SEED). However, I am unable to control for the randomness and am unable to reproduce results. Attached is the code segment.

estimator = GradientBoostingClassifier(random_state=SEED, n_estimators=2*df.shape[1])

cv = RepeatedStratifiedKFold(n_splits=5, n_repeats=3, random_state=SEED)

selector = RFECV(estimator, n_jobs=-1,step=STEP, cv=cv)

selector = selector.fit(df, y)

df = df.loc[:, selector.support_]

print("Shape of final data AFTER FEATURE SELECTION")

print(df.shape, y.shape)

Specifically, if I run this segment of code it returns different number of features selected at each run. Any help would be appreciated

0 Answers
Related