I am confused about how the 'random state' function impacts the operation of SMOTE, BSMOTE, & ADASYN. Below is the example code from the imblearn page as well as the information about random state for SMOTE.
from collections import Counter
from sklearn.datasets import make_classification
from imblearn.over_sampling import SMOTE # doctest: +NORMALIZE_WHITESPACE
X, y = make_classification(n_classes=2, class_sep=2,
weights=[0.1, 0.9], n_informative=3, n_redundant=1, flip_y=0,
print('Original dataset shape %s' % Counter(y))
Original dataset shape Counter({1: 900, 0: 100})
sm = SMOTE(random_state=42)
X_res, y_res = sm.fit_resample(X, y)
print('Resampled dataset shape %s' % Counter(y_res))
Resampled dataset shape Counter({0: 900, 1: 900})
random_state : int, RandomState instance, default=None
Control the randomization of the algorithm.
If int, random_state is the seed used by the random number generator;
If RandomState instance, random_state is the random number generator;
If None, the random number generator is the RandomState instance used by np.random
From what I can tell, for all values in ranges 0-42 for random state, it doesn't make a difference to the performance of my classifier. Can someone please give some clarification as to what random state actually does? Thanks