问题标签 [imbalanced-data]

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 回答
65 浏览

machine-learning - 在 scikit-learn 中使用 OneVsRest 分类时,每个分类器的负数据点集是多少?

我正在尝试使用sklearn.linear_model.LogisticRegression(multiclass='ovr'). 我的数据集有 1000 多个类和 200 万个训练示例。

据我了解,这种方法将训练 1000 个不同的分类器,每个类别一个。这样做时,每个类的正例集很容易识别。但是每个分类器的负例集是什么?负例集是否 = 我的整个训练数据中的所有其他数据点?这不会造成不平衡问题并降低每个单独分类器的有效性吗?

0 投票
1 回答
224 浏览

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

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

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

0 投票
0 回答
19 浏览

svm - 为什么 naive svm 中的 roc-auc 分数大于 svm+oversample?

我在不平衡数据集中进行情绪分析。我对 naive svm 分类器有问题,它比 svm+sampling 给出更好的 roc-auc 分数。这是天真的 svm 结果(第一个悲伤的括号是 roc-auc 分数,第二个是 G-mean 分数和第三个是 f1_measure)

幼稚的支持向量机结果

这是 oversample+svm 结果:

在此处输入图像描述

这也是我的 svm 代码:

这是我的 svm+oversample 代码:

0 投票
1 回答
36 浏览

keras - 如何确定不平衡数据集的 class_weights

我正在研究一个不平衡的数据集。我正在尝试在class_weights. 那么根据什么可以,我确定class_weights.

标签及其数量如下:

那么我应该为class_weight变量提供什么值:

model.fit(X_train, Y_train, nb_epoch=5, batch_size=32, class_weight=class_weight)

0 投票
2 回答
1406 浏览

python - 如何在 Keras 中使用 CNN 处理多标签分类的不平衡数据?

我的数据集形状是(91149, 12)

我使用 CNN 在文本分类任务中训练我的分类器

我发现训练准确性:0.5923和测试准确性:0.5780

My Class 有 9 个标签,如下所示:

模型结构:

我的多标签分类数据不平衡。我需要在 Keras 中使用 CNN 处理多标签分类的不平衡数据。

0 投票
1 回答
285 浏览

random-forest - 在带有预处理的 GridSearchCV 管道中使用 SMOTEENN

我正在处理一个高度不平衡的数据集的分类问题。我正在尝试SMOTEENN在网格搜索管道中使用,但是我不断收到这个 ValueError:

我在网上发现,如果导入了来自 imblearn 的管道,SMOTEENN 可以与 GridSearchCV 一起使用。我正在使用来自 imblearn 的管道,但它仍然给我这个错误。

当我尝试使用SMOTEENN和获取 X 和 y 变量时,问题首先开始。我有一个prepare_data()将数据分解为 X,y 的函数。我想SMOTEENN在该函数中使用并返回平衡数据。但是,我的功能之一是字符串类型 - 并且需要放入OneHotEncoder. 出于某种原因,SMOTEENN似乎不处理字符串。因此,我需要在管道中使用它,这样SMOTEENN才能有效post-preprocessing

我在下面粘贴我的管道代码。任何帮助或解释将不胜感激!谢谢!

0 投票
2 回答
357 浏览

python - 重采样(boostrap)回归问题的连续数据数据集

对于回归问题,我有一个训练数据集: - 3 个具有高斯分布的变量 - 20 个具有均匀分布的变量。

我所有的变量都是连续的,在 [0;1] 之间。

问题是用于对我的回归模型进行评分的测试数据对所有变量具有均匀分布。实际上,我在尾部分布上的结果很差,所以我想对我的训练集进行过采样,以复制最稀有的行。

所以我的想法是在我的训练集上引导(使用带替换的抽样),以获得一组与测试集具有相同分布的数据。

为了做到这一点,我的想法(不知道它是否是一个好的!)是为我的 3 个变量添加 3 个带有间隔的列,并使用这些列对重采样进行分层。

示例:首先,生成数据

然后检查分布:

没关系,所以我会添加类别列

支票

这对我有好处。所以现在我将尝试重新采样,但它没有按预期工作

所以它不起作用,我在输出中得到与输入相同的分布......

你能帮助我吗 ?也许这不是这样做的好方法?

谢谢 !!

0 投票
1 回答
864 浏览

r - R 中的 SMOTE-NC。未找到包

我有一个包含 5 个名义变量和 37 个分类变量的数据集。我想在 R 中执行过采样。但是,使用 SMOTE,我不能这样做。我按照 (Chawla, Bowyer and Hall, 2002) 的建议寻找了 SMOTE-NC,但我找不到任何支持它的软件包。如何解决这个问题呢?谢谢。

0 投票
2 回答
374 浏览

machine-learning - 不平衡数据的特征工程

我正在针对分类问题训练机器学习模型。我的数据集是10000个观测值,包含37个分类类别。但是数据不平衡,我有一些类有100 个观察值,而其他一些类有30004000 个观察值。

在搜索了如何对此类数据进行一些特征工程以提高算法的性能之后。我找到了2个解决方案:

  • 上采样意味着获得更多关于少数类的数据
  • 下采样,这意味着删除关于多数类的数据

根据第一个解决方案:我有很多类有一些观察,所以它需要更多的数据和很长时间。所以这对我来说很难!
并且通过应用第二个:我认为所有类都会有一些观察结果,并且数据会非常小,因此算法很难概括。

那么我可以尝试解决这个问题的另一种解决方案吗?

0 投票
1 回答
306 浏览

statistics - 什么是对高度不平衡的数据集进行采样的正确方法,该数据集在特征相关性和类方差之间具有低水平?

我有一个包含 23 个相关性非常低的特征的数据集。这两个类别之间的差异很小。

这些类别高度不平衡,就像可用于欺诈检测的数据一样。什么是采样这种数据的合适方法?