问题标签 [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.
r - 为什么在 R 中使用 SMOTE 时会出现“T[, col] <- data[, col] 中的错误”?
我有一个大的森林火灾数据集,我想预测火灾何时点燃。这种情况很少发生:620 000 次中有 290 次。
我尝试使用 SMOTE 来平衡我高度不平衡的数据集与 StupidWolf 建议的更改。我执行以下操作:
但是,当我使用 DMwR 包中的 SMOTE 时,我现在收到以下错误:
我一直在寻找不同的解决方案。一位建议将变量转换为数值和因子,但我的变量已经正确转换。我的因变量是 2 个水平的因子,自变量是数字,我的任何变量都没有 N/A。但是,这对我的情况没有帮助。我遇到了类似的错误。
python - 仅具有标称特征的过采样,在这种情况下哪种过采样或欠采样技术可能有效?
我有所有特征都是标称的数据。我应用了 SMOTE-NC,然后我发现它只适用于名义特征和连续特征的组合!
在 SMOTE 技术的同一篇论文中有一种称为 SMOTE-N(仅处理名义特征)的技术,但我在 python 中找不到任何代码或函数,是否有任何应用程序或类似的东西?或者是否有任何其他仅适用于分类特征的过采样或欠采样技术
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 训练给出了错误信息
r - 使用 SMOTE 创建 1:1 平衡数据集,而不修改 R 中多数类的观察结果
我正在研究一个二进制分类问题,我有一个不平衡的数据集。我想创建一个新的更平衡的数据集,每个类有 50% 的观察。为此,我在 R 中使用由DMwR library
.
在新数据集中,我想保持多数类的观察结果不变。
但是,我遇到了两个问题:
- SMOTE 减少或增加多数类的观察数量(我只想增加少数类的数量)。
- SMOTE 生成的一些观测值包含 NA 值。
假设我有 20 个观察结果:多数类中有 17 个观察结果,少数类只有 3 个观察结果。这是我的代码:
在我的代码中,我修复了perc.over = 400
创建少数类的 12 个新观察值,并且我修复perc.under = 100
了在多数类中保持不变。
但是,当我检查 newDataSet 时,我观察到 SMOTE 将多数类的数量从 17 减少到 12。此外,一些生成的观察值具有 NA 值。
下图显示了获得的结果:
r - 在 r 中执行过采样操作时出错
我正在研究一个机器学习模型(分类),其中我的数据集不平衡,我想通过使用 R 中“不平衡”包中的 oversample() 函数来平衡它。
下面是用于过采样的代码,其中“Final.Status”是我的响应变量,它是一个因子数据类型。
但是在这样做时,我遇到了以下错误:
出于好奇,任何人都可以简要介绍 oversample() 函数中使用的不同方法以及常用的方法。
python - 使用 Python 合并 SMOTE。高度不平衡的数据集
我一直在尝试使用我在 github 上找到的某些数据集,以了解我对不同数据集进行情感分析的能力以及代码的工作原理。所以我有一个数据集,我想将其合并到代码中,我发现唯一的问题是它是一个高度不平衡的数据集。例如,负面情绪大约有 5000 条推文,而正面情绪大约有 15,000 条推文。所以我找到了不同的方法来处理这种情况。第一个是使用 sklearn resample 使用以下代码:
但是使用以下代码我觉得结果不太正确。然后我继续阅读大量关于 SMOTE 的文章,它在不平衡的数据集上运行得非常好。唯一的问题是我不知道如何将其合并到我在网上找到的代码中。老实说,我在编码方面非常业余,因此将不胜感激。这是我使用的以下代码:
我的想法是合并:
将上面的代码更改为:
然后使用以下命令调用结果:
我的想法是对的还是我完全屠杀了整个事情?如果有人不完全理解我想要做什么,我也很乐意进一步解释。谢谢你
r - 对 R 中的不平衡数据集进行逻辑回归
我有一个包含 1000 名员工的数据集。这有 800 名在职员工和 200 名已离职的员工。
我正在尝试进行逻辑回归以预测减员风险。
我的数据集不平衡,因为只有 20% 的人退出了。如何平衡数据?我听说过 Python 中的 SMOTE,但是我们如何将它引入 R 中呢?
谢谢
python - 如何在具有多个目标变量(多输出)的样本数据上过度/不足?
假设我有一个具有 2 个独立特征和 6 个从属特征的数据集,如下所示,其中AA and BB
独立和A,B,C,D,E,F
因变量。
如果假设我想通过上采样或下采样或过采样来平衡我的数据,我该怎么做?普通的 SMOTE 和 sklearn 技术不会采用多个目标并引发大量错误。有人可以帮我解决这个问题。
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,但我目前收到此错误
对此的任何帮助将不胜感激