问题标签 [imblearn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1294 浏览

python - 如何在 scikit 学习管道中实现 RandomUnderSampler?

我有一个 scikit 学习管道来缩放数字特征和编码分类特征。在我尝试从 imblearn 实现RandomUnderSampler之前,它工作正常。我的目标是实施欠采样步骤,因为我的数据集非常不平衡 1:1000。

我确保使用 imblearn 中的 Pipeline 方法而不是 sklearn。下面是我尝试过的代码。

代码数据在没有欠采样方法的情况下工作(使用 sklearn 管道)。

使用 undersampler 方法不起作用的代码(使用 imblearn 管道)。

这是我得到的错误:

0 投票
2 回答
4672 浏览

python - 在 python 中安装 Imblearn 时找不到版本错误

我正在尝试安装 Imblearn 以在 python 中执行 SMOTE。我一直在尝试安装 imblearn 包。但我不断收到错误。以下是我尝试过的命令,

以下是我得到的错误,

因此,由于我的数据严重不平衡,我无法继续我的建模部分。有人可以帮我安装这个软件包吗?如果没有,在 python 中做 SMOTE 的替代方法是什么?

0 投票
2 回答
1092 浏览

machine-learning - 即使在对数据集进行过采样之后,性能也非常低

我正在使用MLPClassifier心脏病分类。我曾经imblearn.SMOTE平衡每个班级的对象。我得到了非常好的结果(85% 的平衡acc。),但我被告知我不会用于SMOTE测试数据,只用于训练数据。在我做出这些改变之后,我的分类器的性能下降太多(大约 35% 的平衡准确度),我不知道哪里出了问题。

这是一个简单的基准测试,训练数据平衡但测试数据不平衡:

预测结果

这是代码:

我想知道我做错了什么,因为这似乎是准备数据的正确方法。

0 投票
0 回答
368 浏览

python-3.x - 在 python 中使用 SMOTE 进行上采样

我正在尝试在 python 中使用 SMOTE 来处理高度不平衡的数据集。将数据集拆分为训练和测试后,我使用 SMOTE 生成合成样本。然后我对 SMOTE 生成的数据使用 xgboost 算法。我的模型输出是预测原始数据集的概率。但是在实施 SMOTE 之后,样本数量增加了,我如何取回原始数据集来预测概率? 代码如下

0 投票
0 回答
840 浏览

python - 在 Python Spyder 中出现错误:ModuleNotFoundError: No module named 'imblearn.oversampling'

我正在尝试使用上面的代码,但它抛出了错误 ModuleNotFoundError: No module named 'imblearn.oversampling'

谁可以帮我这个事。

0 投票
1 回答
10629 浏览

python - RandomUnderSampler' 对象没有属性 'fit_resample'

我正在使用RandomUnderSamplerfrom imblearn,但出现以下错误。有任何想法吗?谢谢

输出:

我正在使用的主要库:

0 投票
0 回答
363 浏览

python - PySpark Dataframe 中的 SMOTE 重采样

我使用该imblearn库对 pandas 数据帧进行重采样。

我想知道 pyspark 数据帧是否有相同的实现?

例如,我尝试使用此处提出的代码,但按原样使用代码时出现了多个错误。

谢谢您的帮助 !

0 投票
0 回答
103 浏览

python - 代码有时有效,但有时在使用 imblearn 的 SMOTE 时出现 TypeError: issubclass()

试图在这里实现代码。代码工作正常然后停止,重新启动更新等等。继续获取

TypeError: issubclass() arg 2 必须是一个类或类的元组

我只是想对所述代码运行网格搜索,但无法克服此错误。请帮忙

完整的错误信息:

更新:我只是在没有 SMOTE 的情况下运行了这段代码,我认为这可能是罪魁祸首,事实证明问题出在 scikit learn 的某个地方。

0 投票
1 回答
398 浏览

python - 使用 SMOTE 对二元类进行过采样;为什么它返回 0 到 1 之间的随机浮点值?

我正在使用 SMOTE 对TARGET_FRAUD包含值 0 和 1 的二进制类进行重新采样。0 有大约 900 条记录,而 1 只有大约 100 条记录。我想将第 1 类过采样到 800 左右。

这是为了进行一些分类建模。

这是重采样前的值计数:

这是重新采样后的值计数:

为什么它会产生 0 到 1 之间的随机浮点值?我只希望它返回 0 和 1 的 int 值。

0 投票
1 回答
440 浏览

python - 如何使用过采样和欠采样的组合?学习不平衡

我想重新采样一些大数据(类大小:8mio vs 2700)我想通过对第 2 类进行过采样和对第 1 类进行欠采样来获得 50.000 个样本。imblearn 似乎提供了过采样和欠采样的组合,但我不明白它是如何做到的作品。

在数据看起来像之前

之后

正如我所期望或希望的那样