"随机状态"有什么作用?关于 SMOTE、BSMOTE & ADASYN(python 库:imblearn.over_sampling)



我对"随机状态"函数如何影响SMOTE、BSMOTE和&ADASYN。下面是imbslearn页面中的示例代码以及关于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实例,默认值=无

控制算法的随机化。

如果为int,则random_state是随机数生成器使用的种子;

如果是RandomState实例,则random_state为随机数生成器;

如果无,则随机数生成器是np.random 使用的RandomState实例

据我所知,对于随机状态的0-42范围内的所有值,这对我的分类器的性能没有影响。有人能澄清一下随机状态到底是什么吗?感谢

;random_ state";SMOTE、BSMOTE和ADASYN中的参数用于控制算法的随机性或可变性。这些算法通过在特征空间中的少数类示例之间进行插值来生成合成样本,而这一过程中的随机性可能会影响合成样本的质量和分类器的整体性能。通过将random_state参数设置为固定值,可以确保算法每次运行时生成相同的合成样本,这可以使结果更具可重复性。

最新更新