问题标签 [smote]

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 投票
2 回答
301 浏览

r - 为什么在 R 中使用 SMOTE 时会出现“T[, col] <- data[, col] 中的错误”?

我有一个大的森林火灾数据集,我想预测火灾何时点燃。这种情况很少发生:620 000 次中有 290 次。

我尝试使用 SMOTE 来平衡我高度不平衡的数据集与 StupidWolf 建议的更改。我执行以下操作:

但是,当我使用 DMwR 包中的 SMOTE 时,我现在收到以下错误:

我一直在寻找不同的解决方案。一位建议将变量转换为数值和因子,但我的变量已经正确转换。我的因变量是 2 个水平的因子,自变量是数字,我的任何变量都没有 N/A。但是,这对我的情况没有帮助。我遇到了类似的错误。

0 投票
0 回答
249 浏览

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

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

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

0 投票
0 回答
98 浏览

python - SMOTE 关于数组问题的数据框

我试图在这里对一个充满滑动窗口的数据框进行 SMOTE:

数据框

我正在使用 imblearn 的 SMOTE() 函数。没有任何操作,我得到一个错误,每个单元格必须有一个大小为 1 的数组。按行单独 SMOTING 或在每个窗口(相同索引)上分解数据框和 SMOTING 会导致 ValueError ,因为每次 SMOTE 尝试中只有一个类。我如何解决这个问题,即想要 SMOTE 整个滑动窗口而不聚合它们或通过将其保存在第一张图片的数据框中来获得尺寸错误?

爆炸数据框

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 投票
1 回答
779 浏览

r - 使用 SMOTE 创建 1:1 平衡数据集,而不修改 R 中多数类的观察结果

我正在研究一个二进制分类问题,我有一个不平衡的数据集。我想创建一个新的更平衡的数据集,每个类有 50% 的观察。为此,我在 R 中使用由DMwR library.

在新数据集中,我想保持多数类的观察结果不变

但是,我遇到了两个问题:

  1. SMOTE 减少或增加多数类的观察数量(我只想增加少数类的数量)。
  2. SMOTE 生成的一些观测值包含 NA 值。

假设我有 20 个观察结果:多数类中有 17 个观察结果,少数类只有 3 个观察结果。这是我的代码:

在我的代码中,我修复了perc.over = 400创建少数类的 12 个新观察值,并且我修复perc.under = 100了在多数类中保持不变。

但是,当我检查 newDataSet 时,我观察到 SMOTE 将多数类的数量从 17 减少到 12。此外,一些生成的观察值具有 NA 值。

下图显示了获得的结果:

在此处输入图像描述

0 投票
0 回答
232 浏览

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

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

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

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

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

0 投票
0 回答
88 浏览

python - 使用 Python 合并 SMOTE。高度不平衡的数据集

我一直在尝试使用我在 github 上找到的某些数据集,以了解我对不同数据集进行情感分析的能力以及代码的工作原理。所以我有一个数据集,我想将其合并到代码中,我发现唯一的问题是它是一个高度不平衡的数据集。例如,负面情绪大约有 5000 条推文,而正面情绪大约有 15,000 条推文。所以我找到了不同的方法来处理这种情况。第一个是使用 sklearn resample 使用以下代码:

但是使用以下代码我觉得结果不太正确。然后我继续阅读大量关于 SMOTE 的文章,它在不平衡的数据集上运行得非常好。唯一的问题是我不知道如何将其合并到我在网上找到的代码中。老实说,我在编码方面非常业余,因此将不胜感激。这是我使用的以下代码:

我的想法是合并:

将上面的代码更改为:

然后使用以下命令调用结果:

我的想法是对的还是我完全屠杀了整个事情?如果有人不完全理解我想要做什么,我也很乐意进一步解释。谢谢你

0 投票
0 回答
105 浏览

r - 对 R 中的不平衡数据集进行逻辑回归

我有一个包含 1000 名员工的数据集。这有 800 名在职员工和 200 名已离职的员工。

我正在尝试进行逻辑回归以预测减员风险。

我的数据集不平衡,因为只有 20% 的人退出了。如何平衡数据?我听说过 Python 中的 SMOTE,但是我们如何将它引入 R 中呢?

谢谢

0 投票
1 回答
914 浏览

python - 如何在具有多个目标变量(多输出)的样本数据上过度/不足?

假设我有一个具有 2 个独立特征和 6 个从属特征的数据集,如下所示,其中AA and BB独立和A,B,C,D,E,F因变量。

如果假设我想通过上采样或下采样或过采样来平衡我的数据,我该怎么做?普通的 SMOTE 和 sklearn 技术不会采用多个目标并引发大量错误。有人可以帮我解决这个问题。

0 投票
1 回答
288 浏览

python - 如何在执行 SMOTE、python 之前删除具有少于一定数量示例的少数类

我有一个数据集,其中包含 100 列作为从 word2vec 生成的特征向量(100D 特征向量),我的目标是我的数据集中每一行向量的分类变量。现在,我的数据集总共有大约 1000 个不同的分类变量,行数约为 75000。数据集的问题是它高度不平衡,除了前 200 个分类变量之外,其余所有类的样本都很少,而且some classes have less than 6 samples.

现在我想使用 SMOTE 对这些数据执行过采样,以便为少数类生成更多示例。I want to ignore the classes that have less than 6 sample examples因为那是 SMOTE 给出值错误的地方。有什么办法,我可以在代码中处理它,以便在执行 SMOTE 时忽略那些样本少于 6 个的类?这样做有助于解决我目前面临的错误吗?

代码和错误消息供参考:

ValueError: Expected n_neighbors <= n_samples, but n_samples = 1, n_neighbors = 2尽管我已设置 k_neighbors = 1,但我目前收到此错误

对此的任何帮助将不胜感激