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

python - 过采样时如何保持/扩展索引

我有一个这样的数据框,我想对列“角色”进行过采样(在实际情况下,行/列的数量比这个最小的例子大得多)

这就是我正在做的事情:

它可以工作,但问题是我需要保留索引(pop_13vdpn1_site_1 等)这可能吗?

0 投票
1 回答
30 浏览

python - Defore 过采样数据显示 0

我正在研究我的数据集,对此我很陌生。下面是代码:

我正在尝试对我的数据集应用过采样,但是当我在过采样之前对其进行计数时,它在输出中显示为 0,但它确实显示数据集有数据:

下面是输出:

我正在尝试了解输出并进行处理。

0 投票
1 回答
360 浏览

python - 支持混淆矩阵

我有一个不平衡的数据集,我正在使用 SMOTE 算法对其进行平衡。在我打印混淆矩阵时进行过采样后,它显示了以下输出:

支持:'0' 91 支持:'1' 209

我有一个包含 1000 个标签的数据集 1 出现 700 次,标签 0 出现 300 次,我使用 0.3 作为测试数据,但为什么它显示我支持 91 和 209?
即使我不应用 SMOTE 算法,它也会显示 91 和 209,并且在应用 SMOTE 之后它是相同的。

0 投票
0 回答
187 浏览

r - R中的Smote函数

任何人都知道如何在我的情况下设置 perc.over 和 perc.under ?我尝试了几种组合,但并没有给我带来好的结果。我希望我的目标变量被分成几乎 50/50。我的训练集有 266776,我的目标变量在这个数据集中的当前比率是 88/12。这是我的代码。smoted_data <- SMOTE(响应 ~ ., data= train,perc.over = 100)

0 投票
0 回答
46 浏览

r - 如何在 R 中同时使用 smote 函数和 XGboost

有人知道如何在 R 中同时使用 smote 函数和 XGboost 吗?我先使用 smote 函数来平衡类,然后使用 XGboost 进行训练。但是,xgb.cv 函数中的参数之一是 label,它需要 as.matrix 类型,这意味着数据必须是数字。但是当我使用 smote 函数时,我将目标变量转换为因子,因为它是必需的。现在我不能使用xgb。

0 投票
1 回答
3973 浏览

python - SMOTE - 无法将字符串转换为浮点数

我想我在下面的代码中遗漏了一些东西。

当我收到错误消息时

ValueError:无法将字符串转换为浮点数:---> 19 X_resampled, y_resampled = SMOTE().fit_resample(X_train, y_train)

数据示例是

我会考虑同时转换训练集和测试集以解决导致错误的问题,但我不知道如何同时应用于两者。我在谷歌上试过一些例子,但它并没有解决这个问题。

0 投票
3 回答
4660 浏览

python - 出现错误:KeyError:“只有系列名称可用于系列 dtype 映射中的键。” 当尝试做 pandas Smote 算法时

我的数据有点不平衡,所以我在做逻辑回归模型之前尝试做一个 SMOTE 算法。当我这样做时,我收到错误:KeyError: 'Only the Series name can be used for the key in Series dtype mappings.' 有人可以帮我弄清楚为什么吗?这是代码:

谢谢!

0 投票
0 回答
318 浏览

python - 过采样后召回率高,精度低的问题

我有一个类别不平衡的分类问题,在过采样之后,我得到了很高的召回率、准确率和 roc(大约 0.85),而我的精度和 f1 相当低(0.50)。我使用了各种 smote 和欠采样,但我从未在精度和召回率之间取得某种平衡。我已经进行了一些参数调整,但是当我尝试提高精度时,我的召回率当然会下降。你对我如何在不影响召回率的情况下提高精度有什么建议吗?

0 投票
1 回答
42 浏览

machine-learning - 不平衡数据集的标记化

我正在处理我想用 doc2vec 转换的电子邮件内容数据集。这是一个带标签的数据集(垃圾邮件/非垃圾邮件),它是不平衡的(90-10 比率)。我的问题是:在标记电子邮件的内容时,我应该首先过采样(使用 SMOTE),还是可以按原样使用数据集?

0 投票
1 回答
424 浏览

scikit-learn - 无法将组合的 SMOTE 和 RandomUnderSampler 管道馈送到主管道

我目前正在使用不平衡数据集,为了处理不平衡,我计划将 SMOTE 和 ADASYN 与 RandomUnderSampler 结合起来,以及单独的欠采样、过采样、SMOTE 和 ADASYN(总共 6 种采样方式,我将作为参数传递在 GridSearchCV 中)。我为此创建了两个管道。

我的计划是将这两个管道输入主管道,如下所示:

FeatureTransformer()是一个特征选择器类:

当我调用Smote_Under_pipeline.fit()Adasyn_Under_pipeline.fit()时,它可以工作(下面的示例代码):

但是当我当时尝试初始化Main_Pipeline时,解释器会抛出一个错误:

我正在使用Imbalance-learn提供的管道。

我无法理解错误。在使用 scikit-learn 管道时,所有中间估计器都有自己的fit()fit_transform()方法,imblearn 管道提供了处理fit_resample()方法的额外功能,这两种方法都公开了:Smote_Under_pipelineAdasyn_Under_pipeline。那么,它可以在Main_Pipeline中调用,那为什么会抛出错误呢?两个采样管道都暴露了fit()方法以及fit_resample(),这是原因吗?