问题标签 [imbalanced-data]

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 投票
3 回答
6690 浏览

python-3.x - 对不平衡数据使用 sklearn.train_test_split

我有一个非常不平衡的数据集。我使用 sklearn.train_test_split 函数来提取训练数据集。现在我想对训练数据集进行过采样,所以我曾经计算过 type1 的数量(我的数据集有 2 个类别和类型(type1 和 tupe2),但我的所有训练数据几乎都是 type1。所以我不能过采样。

以前我曾经用我的书面代码分割训练测试数据集。在该代码中,所有类型 1 数据的 0.8 和所有类型 2 数据的 0.8 都在训练数据集中。

如何将此方法与 train_test_split 函数或 sklearn 中的其他拆分方法一起使用?

*我应该只使用 sklearn 或我自己编写的方法。

0 投票
1 回答
102 浏览

python - 二进制分类时数据集不平衡的问题

我有一个二进制分类问题,其中数据划分类似于:{0:85%,1:15%}。我尝试重新加权 class_weights 和其他采样方法。但是我使用的所有方法都给了我不满意的结果。我的数据集是(91125,57)。

有没有其他方法可以用来处理这种情况?

0 投票
0 回答
38 浏览

r - 创建合成数据 - 平衡数据集

我正在分析口袋妖怪的数据集。我想创建一个随机森林来预测口袋妖怪是否可以成为传奇。

现在,我有一个由 118 个观察值和 44 列组成的训练数据集:

如您所见,有虚拟变量,但也有目标类is_legendary

问题在于数据不平衡:与传奇口袋妖怪相关的观察数量明显少于非传奇口袋妖怪。因此,我想通过创建合成数据来平衡数据集。有人告诉我,SMOTE function但我遇到了一个错误。请看下面的整个代码:

错误是:

0 投票
1 回答
40 浏览

pytorch - 使用 LSTM 有状态来传递上下文 b/w 批次;可能是上下文传递中的一些错误,没有得到好的结果?

在将数据提供给网络之前,我已经检查了数据。数据是正确的。

使用 LSTM 并传递上下文 b/w 批次。per_class_accuracy 正在改变,但损失并没有下降。卡了很久,不知道代码有没有错误?

我有基于不平衡数据集的多类分类问题

数据集类型:CSV

数据集大小:20000

基于传感器的 CSV 数据

X = 0.6986111111111111,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0

Y =请假

每班准确率:{'leaveHouse': 0.34932855, 'getDressed': 1.0, 'idle': 0.8074534, 'prepareBreakfast': 0.8, 'goToBed': 0.35583413, 'getDrink': 0.0, 'takeShower': 1.0, 'useToilet' :0.0,“吃早餐”:0.8857143}

训练:

网络

0 投票
0 回答
603 浏览

r - Ops.data.frame 中的 R 不平衡包错误(dataset [,classAttr],minorityClass)'==' 仅针对相同大小的数据帧定义

因此,每当我尝试在我的数据集上使用一些不平衡函数时,我都会收到此错误:

这是我的代码:

该任务是用户是否继续订阅服务的二元分类,“cont_subs”列仅包含“是”或“否”

有一个类似的问题,修复是向函数添加 classAtr,但对我来说向函数添加 classAtr 会导致此错误。到目前为止,我无法找到使用相同包的人得到相同的错误。

如果我从失衡率函数中删除 classAtr 我得到

我是 R 的新手,所以如果有明显的我遗漏的东西,请原谅。

0 投票
2 回答
245 浏览

tensorflow - 当验证数据的准确性增加但损失也在增加时该怎么办?

我目前正在研究一个高度不平衡的多类分类问题。我想保存我的模型权重以获得最佳时期,但我对应该选择哪个指标感到困惑?

这是我的训练进度条:

进度条

我使用ModelCheckpoint回调tf.keras和监控val_loss作为保存最佳模型权重的指标。

正如你在图片中看到的,

  • 在第 8 个 epoch,我得到了一个val_acc = 0.9845butval_loss = 0.629和准确率和召回率也很高。
  • 但是在第三个时代我得到了val_acc = 0.9840但是val_loss = 0.590

我知道差异并不大,但在这种情况下,相信不平衡数据集的理想指标是什么?

0 投票
1 回答
33 浏览

python - 如何将参数传递给自定义函数中的函数?

首先是代码片段:

基本上我想在我的自定义函数中输入'sampling_strategy'作为单独的参数(用于RandomOverSampler),其方式与我单独输入分类器对象的参数相同。但是,它不是这样工作的。

我收到错误消息:

我检查了 RandomOverSampler 函数的类型,但它abc.ABCMeta与分类器对象的方式相同。在函数中覆盖 RandomOverSampler 的输入参数的解决方法是什么?

PS:是的,我需要单独输入参数,因为我想在之后使用网格搜索优化功能。显然,您需要进行 CV 才能使用平衡采样,但正如已经提到的,这只是一个片段。

我将感谢有关此问题的任何帮助。

0 投票
1 回答
150 浏览

python - 如何使用 Python 的“imblearn”库将 (120, 100, 100) 形状的图像数据重塑为 (120, 10000) 形状以进行欠采样?

我正在使用Python的imblearn库进行欠采样。

必要代码:

这里X是我的(120, 100, 100) 形状的图像数据集 & ,y(120,) 形状的图像标签。我在这里遇到错误。但是如果我给X形状 (x_value, y_value)那么它就可以了。有什么方法可以将(120, 100, 100) 形状的图像数据转换为(120, 10000)形状?

0 投票
1 回答
246 浏览

python - 如何在 Python 中使用“imblearn”库对两个以上类的数据集进行欠采样/过采样?

我正在使用“imblearn”库进行欠采样。我的数据集中有四个类,每个类有 20、30、40 和 50 个数据(因为它是一个不平衡的类)。

但是当我尝试使用“fit_resample(X, y)”对数据集进行欠采样时,它只会对第一个和最后一个类进行欠采样。

有什么方法可以使用“imblearn”对所有四个类进行欠采样?

必要代码:

0 投票
1 回答
520 浏览

python - 如何使用 Python 中的“imblearn”库为每个类指定准确的欠采样/过采样数?

我正在使用“imblearn”库进行欠采样。我的数据集中有四个类,每个类有 20、30、40 和 50 个样本数据(因为它是一个不平衡的类)。选择这些样本数是为了方便地描述问题,这些在实际中并不是有效的数量。

我想对每个有 10 个样本数据的类进行欠采样。有没有一种可能的方法可以使用“imblearn”来做到这一点?

目前,我正在使用以下代码对每个班级进行欠采样到我的少数班级拥有的数量(20 个样本数据):