问题标签 [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 投票
1 回答
1062 浏览

python - 如何使用 SMOTE 将合成数据集保存在 CSV 文件中

我正在使用信用卡数据使用 SMOTE 进行过采样。我正在使用 geeksforgeeks.org 中编写的代码(链接)

运行以下代码后,它会声明如下内容:

输出:

因为我在这个领域是全新的。我不明白如何以 CSV 格式显示这些数据。如果有人在这个问题上帮助我,我将非常高兴。

或者,如果有任何参考资料,我可以使用 SMOTE 从数据集中制作合成数据并将更新的数据集保存在 CSV 文件中,请提及。

如下图所示:

在此处输入图像描述

提前致谢。

0 投票
1 回答
501 浏览

python-3.x - 多类分类问题中的不平衡 - 四个目标级别

我的数据不平衡,如下所示,每当我尝试使用 ADASYN 时,它都会显示错误,我们是否需要为此提供任何参数条目?有时它会运行很长时间,但即使在代码运行 40 分钟后也没有响应。

请建议我们如何继续使用 python 代码来解决问题。从其他人的推荐中,我听说过

  1. 可以一次在两个级别之间进行采样,然后可以在同一级别上进行迭代
  2. 下采样 75% 的那个可能有帮助吗?
  3. 或使用 skmultilearn 的任何解决方案?

代码:

o/p=== > 这运行了很长时间,之后没有结果,请建议

0 投票
1 回答
211 浏览

python - 调用 SMOTENC 之前的数据缩放以获得连续和分类特征

到目前为止,我的代码如下运行 SMOTENC。

这里的问题是我正在阅读有关 SMOTE 的内容,并且由于它使用具有欧几里德距离的 KNN 算法,因此数据应该在调用之前进行缩放SMOTENC()

如果数据集的前 10 个特征为整数,其余为分类特征,在这种情况下我应该如何进行缩放过程?

0 投票
1 回答
145 浏览

scikit-learn - 使用 SMOTE 对推文进行上采样

我有一个不平衡的推文数据集,标记为 -1、0、+1。我想通过上采样来平衡数字。我收到以下错误:

could not convert string to float: 'از این به بعد همینهسلبریتی هایی که ایدیولوژی های #جمهوری_اسلامی رو تبلیغ می کنن خارج از مرز ایران هم حق ندارن آسایش داشته باشن و مجبور بود#باش همچنان ادا وفاداری به اون ایدیولوژی رو در بیارن چون هر جا یه دوربین منتظره که #ریاکاری شون رو ثبت کنه '

为什么它应该尝试将字符串变成浮点数?

PS。在重塑之前,tweet_train 和 y_train 是 shape=(n,) 的 numpy 数组

0 投票
1 回答
4199 浏览

python - SMOTE 函数在 make_pipeline 中不起作用

我想同时应用交叉验证和过采样。我从这段代码中得到以下错误:

所有中间步骤应该是转换器并实现拟合和转换,或者是字符串 'passthrough' 'SMOTE(k_neighbors=5, kind='deprecated', m_neighbors='deprecated', n_jobs=1, out_step='deprecated', random_state=42 , ratio=None, sampling_strategy='auto', svm_estimator='deprecated')' (type ) 没有

PS。我使用imblearn.over_sampling.RandomOverSampler而不是SMOTE得到了同样的错误。

0 投票
1 回答
217 浏览

python - 在 PySpark 管道中使用交叉验证进行过采样

我正在研究 PySpark 二进制分类管道,我想在其中使用过采样阶段执行交叉验证(我的数据集不平衡)。问题是过采样阶段也在测试数据集上执行。

管道:

smote是转换测试数据集时我想跳过的阶段。

我查看了 spark 文档和源代码,没有办法跳过 PipelineModel 中的一个阶段。我的解决方案是覆盖_transform原始类的方法以跳过过采样阶段。在我的源代码中安装管道时,这可以正常工作。我用这个:

CustomPipelineModel是一个继承pyspark.ml.PipelineModel并覆盖该_transform方法的类。

但是由于 CrossValidator 使用 PipelineModel 类的原始实现,我不能使用我的自定义方法。

使用 Cross Validator 时跳过过采样阶段的最佳方法是什么?

我也开始研究考虑覆盖它的_fit方法的源代码pyspark.ml.tuning.CrossValidator......第二种解决方案是对训练数据集执行过采样,但这会在交叉验证过程中将偏差引入模型。

0 投票
0 回答
200 浏览

python - 使用 SMOTE 时 Logistic 回归的输出变化

我正在研究目标变量不平衡的逻辑回归案例。为了解决这个问题,我使用了 SMOTE(合成少数过采样技术),但每次运行回归模型时,我的混淆矩阵中都会得到不同的数字。我在调用 SMOTE 和 Logistic 回归时设置了 random_state 参数,但仍然无济于事。甚至我的功能在每次迭代中都是相同的。我能够一次获得最佳召回值 0.81 和 AUC 值 0.916,但它们不再出现。在某些情况下,False Positives 和 False Negatives 的值会急剧上升,这表明分类器非常糟糕。

请指导我在这里做错了什么,下面是代码片段。

0 投票
1 回答
224 浏览

probability - 调整命中后的预测概率

我有一个不平衡数据集,我使用 smote 对少数类进行过采样,对多数类进行欠采样。现在,我想使用模型的 predict_proba 检查测试 AUC。

我有两个问题: 1. 如果我比较 AUC,我是否必须更正概率?2.我该如何纠正它(欠采样和过采样的组合!)

0 投票
0 回答
260 浏览

r - SMOTE 有超过 2 个班级?

我正在使用 R 处理非常不平衡的奥林匹克数据集,并且正在寻找一种适当平衡数据的方法。

在研究了一些之后,我发现 ROSE 工作得很好,但是只有 2 个类。我的输出有 4 个等级(Gold、Silver、Bronze、NoMedal),所以 ROSE 不起作用。有人告诉我尝试使用 SMOTE 函数,但是,我不确定在处理 4 个类时如何使用它。目前,我的课程包含 13k 金、13K 银、13K 铜和 232K NoMedal。

关于如何使用 SMOTE 来平衡这 4 个类的任何想法?

0 投票
2 回答
1714 浏览

r - 因子错误(newCases[, a], levels = 1:nlevels(data[, a]), labels = levels(data[, : invalid 'labels'; 长度 0 应该是 1 或 2

我正在运行 SMOTE 功能,如下所示:

library(DMwR) smoted_data <- SMOTE(state~., deliq, perc.over=200, perc.under = 1600)

但我得到以下错误:

Error in factor(newCases[, a], levels = 1:nlevels(data[, a]), labels = levels(data[, : invalid 'labels'; length 0 should be 1 or 2 In addition: Warning message: In smote.exs(data[minExs, ], ncol(data), perc.over, k) : NAs introduced by coercion

我检查了所有因子变量,它们都没有在任何级别包含 0。

数据中也没有可用的 NA,我检查了 stackoverflow 中的所有相关帖子,但没有得到与我的案例相关的任何内容。

这可能是什么原因?