2

我正在尝试使用 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 行,在 <module> X_train, y_train = sm.fit_sample(X_tr,encoded_Ytrain) raise ValueError('Unknown parameter type for ratio.') ValueError: Unknown parameter type for ratio。

传递相同的正确语法应该是什么?

4

2 回答 2

1

根据您使用的版本,当您使用字典时,您必须使用“sampling_strategy”而不是“ratio”。

于 2020-04-11T16:11:42.603 回答
0

尝试安装 0.3 版

imblearn 0.2.1 不支持字典。您将需要从源代码安装它。

pip install -U git+https://github.com/scikit-learn-contrib/imbalanced-learn.git
于 2017-08-15T21:56:58.937 回答