问题标签 [oversampling]

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 回答
394 浏览

python - pyspark 通过每个目标变量对类进行过采样

我想知道是否有任何方法可以使用 pyspark 对数据进行过采样。

我有目标变量为 10 个类的数据集。截至目前,我正在参加每个班级并像下面这样进行过采样以匹配

最后用 union all 加入所有数据帧

我正在手动检查的采样值。例如,如果第 4 类有 2000 行,而第 2 类有 10 行,则手动检查并相应地提供值 16,12,如上面代码中提供的那样

请原谅我提到的代码不完整。只是为了给出我提出的观点。我想知道 pyspark 中是否有像 SMOTE 这样的自动化方式。

我在 Pyspark 中看到了以下链接,过 采样或 SMOTE

它说我的目标班级必须只有两个。如果我删除条件,它会给我一些数据类型问题

任何人都可以帮助我在 pyspark 检查每个类并提供采样值的实现非常痛苦,请帮助

0 投票
0 回答
249 浏览

python - 仅具有标称特征的过采样,在这种情况下哪种过采样或欠采样技术可能有效?

我有所有特征都是标称的数据。我应用了 SMOTE-NC,然后我发现它只适用于名义特征和连续特征的组合!

在 SMOTE 技术的同一篇论文中有一种称为 SMOTE-N(仅处理名义特征)的技术,但我在 python 中找不到任何代码或函数,是否有任何应用程序或类似的东西?或者是否有任何其他仅适用于分类特征的过采样或欠采样技术

0 投票
1 回答
246 浏览

machine-learning - 使用 SMOTE 过采样从 y_train 中删除标签类别

我通过使用具有 86% 正类和 14% 负类样本的不平衡数据集来使用 LSTM 进行情绪分析。这是一个非常小的数据集,包含 472 个句子,但它们使用的是区域语言。train_test_split 比率为 0.3。我在实施中有两个问题:

1:训练和验证的准确性在整个过程中保持不变(没有 SMOTE)。 2:使用 SMOTE 进行过采样时,y_train 在过采样的 y_train.shape 中仅显示 1 个标签

y_train 的结果:

然而,数据的实际形状如下:

因此,LSTM 训练给出了错误信息

0 投票
0 回答
239 浏览

python - 复制时间序列样本

我有一个高度不平衡的数据集:

在这种情况下,我不能只是简单地使用RandomOverSampler它返回n=29747*1 samples,也不能SMOTE因为它至少需要 k_neighbors=1 因此,我想复制少数类的样本然后应用SMOTE。注意:我的特征和标签位于单独的数组中,它们分别具有形状# (27, 28, 500, 500, 15)和形状# (27, 500, 500, 1)

所以我的问题是,我怎样才能复制(x6)少数类的特征和标签(可能基于少数类标签的索引)?

编辑 我的整个图像被网格化为 9x3 ==>27“单元格”每个单元格有 28 个图像(卫星图像,28 个相对于时间),500x500 是高度和宽度,15 是特征数,1 因为这是一个基于像素的分类,因此我有“可以这么说的标签图像”

0 投票
0 回答
232 浏览

r - 在 r 中执行过采样操作时出错

我正在研究一个机器学习模型(分类),其中我的数据集不平衡,我想通过使用 R 中“不平衡”包中的 oversample() 函数来平衡它。

下面是用于过采样的代码,其中“Final.Status”是我的响应变量,它是一个因子数据类型。

但是在这样做时,我遇到了以下错误:

出于好奇,任何人都可以简要介绍 oversample() 函数中使用的不同方法以及常用的方法。

0 投票
1 回答
273 浏览

r - ROSE:data.frame 中的错误(ynew,Xnew):找不到对象“ynew”

我正在尝试在此数据https://www.kaggle.com/raosuny/success-of-bank-telemarketing-data上构建决策树模型, 并且我正在尝试处理对数据的过采样,但我得到了此错误消息:

Error in data.frame(ynew, Xnew) : object 'ynew' not found

这是我的问题的相关代码:

除年龄和目标(已订阅)之外的所有特征都是因子

年龄 - 诠释

已订阅 - 逻辑

0 投票
2 回答
493 浏览

python - 在 Python 中对稀疏数据集进行过采样

我有一个包含多标签数据的数据集。共有 20 个标签(从 0 到 20),它们之间的分布不平衡。以下是数据概览:

我希望对数据进行过度采样并在标签之间取得平衡。我遇到了一些方法,例如SMOTESMOTENC但它们都需要将数据拆分为训练集和测试集,并且它们不适用于稀疏数据。有什么方法可以在拆分前的预处理步骤中对整个数据执行此操作?

0 投票
1 回答
83 浏览

r - 组内过采样

我想进行过采样,以便我在数据集中的每个组中平衡我的二进制因变量。

所以我的数据看起来像这样:

我试图通过过采样在法国和英国实现 YES 的平衡。在法国,我希望有 4 个观察结果,而在英国,我希望有 8 个观察结果,以便一个随机样本看起来像这样):

我的方法是这样的:

所以在操作系统中,尺寸应该是 4 x 2 和 8 x 2。有人知道怎么做吗?

0 投票
1 回答
57 浏览

c++ - 四倍四过采样性能

在制作一个从根本上依赖四乘四过采样的渲染引擎的过程中,我遇到了缩减本身的性能问题。

四倍四过采样是一种通过渲染与不使用抗锯齿或平滑方法(二层轮廓渲染、最近邻图形等)完全相同的方式来实现抗锯齿的方法,但过采样是四倍于四倍大的过采样阶段。然后使用箱形滤波器通过取每个 16 个像素正方形的线性平均值来缩小每个像素。sRGB/线性转换是必需的,因为 sRGB 值不能直接平均,因为它们不是线性比例。

要测试性能,请在前面的代码之后使用以下主要代码,该代码会绘制随机过采样像素并缩小它们:

当 -O3 编译时,它最终平均约为 3.731 秒。由于代码无法在一秒内渲染60帧,因此无法维持60fps的渲染,使用该渲染器的60fps程序也无法全速运行。应该怎么做才能让四乘四过采样维持60fps?

0 投票
1 回答
110 浏览

r - step_rose() 在调整网格中失败

我注意到,当使用某些引擎(例如 keras 和 xgboost)进行训练时,配方返回的 ys 比 Xs 多。

在这里,您将找到一个最小的可重现示例

产生的错误是Error in data.frame(ynew, Xnew): arguments imply differing number of rows: 385, 386