我希望使用来自RandomOverSampler模块的imbalanced-learn函数来对多个类的数据执行过采样。下面是我的三个类的代码:
import numpy as np
from imblearn.over_sampling import RandomOverSampler
data = np.random.randn(30,5)
label = np.random.randint(3, size=30)
ros = RandomOverSampler(random_state=3)
data_res, label_res = ada.fit_sample(data, label)运行后,它返回以下警告:
UserWarning:目标类型应该是二进制。Warnings.warn(“目标类型应该是二进制的”)
但是文档说:
备注 支持多类重采样。
我是不是漏掉了什么东西可以用来处理多类案件?如果这仅适用于二进制类,那么是否还有其他库或模块支持多类过采样?
发布于 2017-08-06 20:08:59
我昨天也遇到了同样的情况,
我用conda安装了图书馆,
我找到了文件-> base.py
它与github上的最新版本有一些不同。
所以我克隆了github的最新版本
https://github.com/scikit-learn-contrib/imbalanced-learn
然后,
一切都好!
可以使用多类语言。
发布于 2018-04-28 20:36:38
您需要使用以下方法更新imblearn:
pip安装-U不平衡-学习
发布于 2021-06-01 11:29:47
RandomOverSampler()可以很好地解决一个多类问题,我在代码中看到了9个标签,您使用的是ada过采样器,而不是您定义的ros。
https://stackoverflow.com/questions/45527427
复制相似问题