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

python - 如何在 sklearn 管道中同时使用 SMOTE 和特征选择?

我遇到以下错误:所有中间步骤都应该是转换器并实现拟合和转换,或者是字符串 'passthrough' 'SMOTE(random_state=0)' (type <class 'imblearn.over_sampling._smote.SMOTE'>) 不

我相信 smote 必须使用后期特征选择过程。对此的任何帮助都会非常有帮助。

0 投票
1 回答
606 浏览

tensorflow - 将 SMOTE 与 tensorflow 的 ImageDataGenerator Flow From Directory 一起使用

使用 Python3.6、TF 1.15、imblearn 0.0

我有一个不平衡的数据集,3 个类,两个是偶数,一个是低的。我正在尝试将 SMOTE 应用于数据集,但是,我正在使用目录中的流,我发现我可以使用 next(train_generator) 从数据生成器中获取 X_train 和 y_train。

问题是我的生成器似乎只向 y_train 输出一个类。如果我使用 ravel 它会给我以下错误:

如果我只是在没有 .ravel() 的情况下加入 y_train 我得到这个:

这是我的代码,感谢任何建议!谢谢 :)

0 投票
0 回答
111 浏览

r - 配方中的 SMOTE 与 trainControl 中的 SMOTE

我试图了解在使用交叉验证训练模型时应该在哪里发生 SMOTE。我知道所有的预处理步骤都应该针对交叉验证的每一折进行。那么这是否意味着以下两个设置是相同的并且理论上是正确的?

设置 1:使用配方进行预处理,在 trainControl 中进行打击

设置 2:使用食谱进行预处理和打击:这是否会在每个 CV 折叠中进行?

蒂亚!

0 投票
0 回答
612 浏览

python - SMOTE 用于不平衡特征的回归

我正在研究具有数字特征和目标的回归模型。

我注意到我似乎对目标没有影响的特征也与数据集中不平衡的特征几乎相同。

我会看看这些功能在使用 oversampling 时是否有更大的影响

我首先尝试了一种手工方式:复制少数类的数据。

对于某些特征,线性回归的系数明显更高,但没有随机森林的特征重要性。

我会使用 SMOTE 来精确我的结果,以得出这些特征是否对目标有影响的结论。

我发现我们可以使用 SMOTE 与 smogn 或 resreg 包进行回归。

但是我没有找到如何在功能上使用它(不是在目标上:不平衡是针对功能的)。

你知道解决方法吗?(我的意思是:你知道我是否可以改变SMOTE的参数,或者使用另一个函数来作用于特征而不是目标?)

0 投票
1 回答
452 浏览

python - SMOTE 错误 - 只有系列名称可用于系列 dtype 映射中的键

我正在使用 SMOTE,因为我的数据集不平衡,但我收到了如下所述的错误消息。我在这个论坛上看到过一篇关于同一主题的帖子。但是,在那篇文章中,建议这是由于重复的列名导致发生此错误。我检查了我的数据集,没有重复的列名,但我仍然收到此错误。我的数据集具有分类变量,并且都已转换为 1 和 0。

这是错误消息:

0 投票
0 回答
30 浏览

python - 为矢量预测配置 SMOTE

我正在从事多标签预测任务,其中标签被编码为一次性编码向量,例如[1, 0, 0]or [0, 1, 0]or[0, 0, 1]类型ndarray

数据集不平衡。因此,我正在使用 SMOTE。这有效并对所有少数类进行上采样(它对多数类拥有的记录进行上采样)。

现在,我想对不那么多的记录进行上采样。根据文档,我可以使用和sampling_strategy提供一个 dict 。key = class labelvalue = total records

但是,我无法将ndarrayas 键添加到我的 dict ( TypeError: unhashable type: 'numpy.ndarray') 中。这里最好的方法是什么?SMOTE 显然可以处理这些 one-hot 编码的向量——那么我该如何进入total records呢?

0 投票
0 回答
206 浏览

python - 如何在 columnTransformer 中实现 SMOTE?

我正在尝试在柱式变压器内实现 SMOTENC。但是我遇到了错误。下面提供了代码和错误。

运行此程序时出现错误:没有足够的值来解包(预期为 3,得到 2)。更确切地说

我该如何解决上述错误?

0 投票
0 回答
33 浏览

python - 如何有效地对多标签分类问题的记录进行分类?

我有大约 11000 条文本记录的分类问题,其中起始 3000 条记录被分类(标记)为 4 个不平衡的类别,如下所示:{类别 1:343,类别 2:1494,类别 3:1069,类别 4:177 }

我对这 3000 条文本记录执行了以下任务,如下所示:

  1. 对数据进行标记,删除停用词,并对文本进行词形还原,并使用词袋模型从中提取 100 个重复率最高的词。
  2. 使用 spaCy 提取了一些可能对分析有帮助的其他特征。
  3. 标准化数据,使所有特征都在同一尺度上。
  4. 将数据集分为训练集 (75%) 和测试集 (25%)。
  5. 使用了各种算法,如逻辑回归、SVM、决策树、神经网络等,并比较了它们的分数(准确率、Kappa 分数、F1 分数、精度、召回率)。在所有这些随机森林中,结果证明在这种特定类型的数据上是最好的。

接下来,我想使用这个先前训练的随机森林分类器对所有其他 8000 条记录进行分类。

现在,我应该使用所有 3000 条记录重新训练分类器,然后预测新记录,还是应该使用仅在前 3000 条记录的 75% 上训练的模型直接预测记录?

注意:我也尝试过使用 SMOTE 对不平衡的类进行采样。但是,在执行 SMOTE 之后,当我尝试预测新记录的结果时,该模型会高度过度预测记录,以支持实际上较少的类(即类别 1 和类别 4)。

0 投票
0 回答
15 浏览

computer-vision - .SMOTE 库问题

我正在尝试使用 SMOTE 库来处理图像数据集中的类不平衡。但是,当我尝试拟合模型以生成数据集时,出现此错误。任何帮助将不胜感激

下面是代码片段和错误

0 投票
0 回答
18 浏览

r - smote中综合观察中的Na值

Halo,我是数据挖掘领域的新手,但是,我的数据不平衡,我使用 smote 使我的数据平衡并准备用于决策树。这是我的代码

结果是我的balanced_data1 在预测变量上具有NA 值,即性别和usia。因此,我无法在我的决策树上工作。我该如何解决这种情况?