问题标签 [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 回答
1850 浏览

r - SMOTE 函数'下标脱离键'

我正在尝试如下实现逻辑回归:

但是我无法得到好的预测,因为我的类输出 1 在我的数据中的代表性不足。因此,我试图将 SMOTE 算法应用于我的训练集以获得更好的结果。但是我收到消息错误:

有我的代码:

我的数据框 df_statique 有一部分:

最后,我的输出 Y 是一个虚拟变量,表示在 1 年内是否默认

0 投票
0 回答
256 浏览

tree - 不平衡数据、回归树和 SMOTE 过采样

我正在尝试在数据集上使用 R 中的 rpart 包构建二元分类树,但在模型上实现的整体准确度太高(99.8%?),而且树很大,有很多分裂。

这是否表明模型过度拟合?最小成本复杂度修剪不会导致修剪后的树与 cp=0 时完全生长的树有很大不同。

如果是,这是否表明数据集可能不平衡,因此我应该使用 SMOTE 对少数类(~15%)进行过采样?

再说一次,如果数据集不平衡,如何从 CART 模型的结果中确定?

最后,在使用 SMOTE 平衡不平衡的数据集时,可以肯定地说,减少数据集的大小是合理的牺牲吗?

很抱歉有很多问题,非常感谢您的帮助。

0 投票
1 回答
199 浏览

r - SMOTE Algorithm and Classification: overrated prediction success

I'm facing a problem about which I can't find any answer. I have a binary classification problem (output Y=0 or Y=1) with Y=1 the minority class (actually Y=1 indicates default of a company, with proportion=0.02 in the original dataframe). Therefore, I computed oversampling using SMOTE algorithm on my training set only (after splitting my dataframe in training and testing sets). I train a logistic regression on my training set (with proportions of class "defaut"=0.3) and then look at the ROC Curve and MSE to test whether my algorithm predicts well the default. I get very good results in terms both of AUC (AUC=0.89) and MSE (MSE=0.06). However, when I then try to look more preciselly and individually at my predictions, I find that 20% of default aren't well predicted. Do you have a method to evaluate well the quality of my prediction (quality means for me predictions that predict well default). I thought that AUC was a good criterium... So far do you also have a method in order to improve my regression? Thanks

0 投票
1 回答
591 浏览

python-3.x - 如何在词嵌入层之前应用 SMOTE 技术(过采样)

如何在 LSTM 中的词嵌入层之前应用 SMOTE 算法。

我有一个文本二进制分类的问题(好的(9500)或坏的(500)审查,总共有 10000 个训练样本,它是不平衡的训练样本),意思是当我使用带有预训练词嵌入的 LSTM(100 维空间每个单词)也是如此,所以每个训练输入都有一个字典的 id(当文本描述少于 50 个单词时,总共 50 个 id 和零填充,当描述超过 50 个字符时修剪为 50)。

以下是我的一般流程,

  • 输入 - 1000(批量)X 50(序列长度)
  • Word Embedding - 200(唯一词汇单词)X 100(单词表示)
  • 词嵌入层之后(LSTM 的新输入) - 1000(批量)X 50(序列)X 100(特征)
  • LSTM 1000 (batch) X 100 (units) 的最终状态
  • 应用最后一层 1000(batch) X 100 X [100(units) X 2 (output class)]

我只想在 SMOTE 的帮助下为差评生成更多数据

0 投票
0 回答
67 浏览

python - 在分类问题中对类进行过采样

我有几乎以“疾病”和“无疾病”为目标的100000数据点。15

但是我的数据不平衡。97%我的数据不是疾病,3%是疾病。7为了克服这个问题,我通过从实际数据创建副本并将其与原始数据合并来手动创建疾病数据。使用此代码。

请让我知道这是否是过采样的正确方法。

0 投票
1 回答
1923 浏览

r - SMOTE 平衡 R 中的 200 多个类

我有一个包含 200 多个类的两列数据集(特征和类),输入特征必须分类到这些类中。对于某些类,类的出现范围从 1 到几千不等。特征列有文本和数字。我尝试了以下方式:

来自 UBL 的 SMOTE

这给出了警告:

但这仍然很好地平衡了所有类lab。但是,并非所有特征都存在于 SMOTED 数据集中。这不是数据丢失,即缺少训练模型所需的特征吗?我是这个领域的新手。警告是否解释了问题?我已经尝试过k=1,但最终结果仍然相同。

任何建议都会有所帮助。

0 投票
0 回答
57 浏览

python - 机器学习中因变量值的正确拆分?

我正在用 Python 制作机器学习模型,数据集中只有分类变量。我想要最小 90% 的精度(对于因变量中的值 1)。

在原始数据(我从数据库中提取的原始 YTD 数据)中,1 与 0 的比率为 61:39,但这会有所不同。两个月前,这个比例是 75:25。我没有得到我想要的数据精度。经过反复试验,我意识到如果 1 与 0 的比率为 85:15,那么我能够获得 1 和 0) 的精度均高于 90%。换句话说,1 和 0 的预测正确率都超过 90%。请注意,我没有进行过采样或欠采样。我只是删除了一些因变量值为 0 的行,以获得 1:0 的比率为 85:15。

我想知道这种方法是否正确。

谢谢

0 投票
3 回答
6561 浏览

image-processing - 使用 SMOTE 对图像数据进行过采样

我正在使用 CNN 进行二进制分类,并且数据不平衡,其中阳性医学图像:阴性医学图像 = 0.4:0.6。所以我想在训练前使用 SMOTE 对阳性医学图像数据进行过采样。但是,数据的维度是 4D (761,64,64,3) 这会导致错误

所以,我重塑了我的 train_data:

它工作正常。在将其提供给 CNN 之前,我通过以下方式对其进行重塑:

现在,我不确定它是否是过采样的正确方法,并且 reshape 操作符会改变图像的结构吗?

0 投票
0 回答
255 浏览

python - 如何在 Python 中使用 ADASYN 对时间序列进行过采样以进行时间序列分类?

我有一个这样的数据框:

截屏

因为标签是二元的并且非常不平衡,所以我想使用 ADASYN 进行过采样。如您所见,它实际上是每个用户 30 天的时间序列,所以当我只使用时它没有意义:

你有什么想法来处理这个问题吗?

0 投票
2 回答
9782 浏览

machine-learning - Pyspark 中的过采样或 SMOTE

我有 7 个类,记录总数为 115,我想对这些数据运行随机森林模型。但由于数据不足以获得高精度。因此,我想对所有类应用过采样,以使多数类本身获得更高的计数,然后相应地成为少数。这在 PySpark 中可能吗?