我正在尝试使用imblearn的random under-sampler来处理不平衡的数据集。我想指定手动欠采样的标签数量。这是我的代码:
sm = RandomUnderSampler(ratio = {0:142498, 1: 495}, random_state=42)
X_train, y_train = sm.fit_sample(X_tr,encoded_Ytrain)
print(format(Counter(y_train)))
然而,这会引发错误:
文件“first_approach.py”,第56行,<模块> X_train,y_train = sm.fit_sample(X_tr,encoded_Ytrain) 提高ValueError('比例的未知参数类型。')ValueError:比率的未知参数类型。
传递相同内容的正确语法是什么?
答案 0 :(得分:1)
取决于使用的版本,使用字典时必须使用“ sampling_strategy”,而不是“ ratio”。
答案 1 :(得分:0)
尝试安装0.3版
imblearn 0.2.1不支持字典。您需要从源代码安装它。
pip install -U git+https://github.com/scikit-learn-contrib/imbalanced-learn.git