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

python - python中用作不平衡学习SMOTE参数的二维形状列表?

我正在尝试在多重回归问题中对我的数据集进行过采样。对于过采样,我使用 imblearn.over_sampling 库和 SMOTE teqnique。

特征是武器形状(大小,16)和地图形状(大小,20,20,7)。目标的形状(大小,16)。

我正在执行训练测试拆分,其中提取了 train_x 和 train_y

然后使用 SMOTE :

但我收到错误“ValueError:无法将输入数组从形状(280000,16)广播到形状(280000)”

我尝试使用 np.asarray 将列表转换为 ndarray,但问题仍然存在。

对此事有任何想法吗?

0 投票
1 回答
772 浏览

python - python中的SMOTE

我正在尝试在 python 中使用 SMOTE 并查看是否有任何方法可以手动指定少数样本的数量。

假设我们有一个类的 100 条记录和另一类的 10 条记录,如果我们使用 ratio = 1,我们得到 100:100,如果我们使用 ratio 1/2,我们得到 100:200。但我正在寻找是否有任何方法可以手动指定要为这两个类生成的实例数。

在上面的代码中,我试图手动指定每个类的编号,但是在最后一行代码中出现以下错误

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

0 投票
1 回答
276 浏览

c++ - 上采样:在向量的每个连续元素之间插入额外的值

假设我们有一个由 20 个浮点数组成的向量 V。是否可以在每对这些浮点之间插入值,使向量 V 成为正好 50 个数字的向量。

插入的值应该是上限值和下限值之间的随机数 我决定在两者之间插入两个值的中点。

我尝试了以下方法:

使用此函数,输入向量元素增加 2(n) - 1(20 个元素变为 39)。输入向量的大小可能小于 50。

我认为可以通过在两个元素之间随机插入一个以上的值来获得一个大小为 50 的向量(例如在 V[0] 和 V[1] 之间插入 3 个值,在 V[3] 和 V[4] 之间插入1 个值等)。这可能吗?

您能指导我如何执行此操作吗?谢谢你。

0 投票
1 回答
116 浏览

python - 一起使用过采样和 cross_validation 函数的方法是什么?

我试图在分类问题中同时使用cross_validate函数和SMOTE函数,我想知道如何正确地做到这一点。

这是我用来在机器学习分类算法中调用 cross_validation 的简单函数:

我访问了cross_validate 文档以搜索是否可以在调用 cross_validate 函数之前确定训练数据集和测试数据集,并且不发送完整的 dataInput 和 dataOutput。因为我想使用 SMOTE 功能,并且要做到这一点,我需要在进行交叉验证之前分离数据集。如果我在跨数据集中使用 SMOTE,结果会出现偏差。

我该如何解决?我应该做我的交叉验证功能吗?我不想这样做,因为 cross_validate 函数返回非常好用,我不知道如何做完全相同的返回。

我看到了其他关于它的问题,但我没有找到那个具体的问题:

SMOTE 过采样和交叉验证

交叉验证和过采样功能 (SMOTE)

过采样是在使用 imblearn 管道进行交叉验证之前还是之后发生的?

0 投票
1 回答
1207 浏览

machine-learning - 如何执行下采样和加权技术?

我指的是谷歌的机器学习 DataPrep 课程,在这个讲座中https://developers.google.com/machine-learning/data-prep/construct/sampling-splitting/imbalanced-data关于解决类不平衡问题,提到的技术是首先下采样然后上重。这个讲座讲的是理论,但我找不到它的实际实现。有人可以指导吗?

0 投票
1 回答
77 浏览

nlp - 使用不平衡学习过采样后仅检索重采样实例的索引?

对于数据不平衡的二进制文本分类问题,我使用了不平衡学习库的函数RandomOverSampler来平衡类。

现在,我只想从原始数据中检索过采样(复制)的实例。例如,如果“item_1”是原始数据,第 2 到 4 项是“item_1”的副本,我只需要“item_2”、“item_3”、“item_4”的索引进行进一步处理,而省略“项目_1”。

  1. item_1
  2. item_2
  3. item_3
  4. item_4

这是我的代码:

0 投票
1 回答
36 浏览

python - 过采样后完全忽略了一类

我构建了一个决策树并使用 smote 对少数类进行过采样。在此之后,第 2 类(来自第 0、1、2、3 类)被完全忽略(对于不平衡的测试集)。没有任何东西被正确或错误地归类为第 2 类。怎么会这样?

0 投票
0 回答
128 浏览

python - 在不拆分数据的情况下创建 RandomForest 训练。我在一个文件中有训练数据,在另一个文件中有测试数据

我想尝试在 python 中使用随机森林分类器而不使用 train_test_split。我在一个文件中有一个训练数据集,我想使用训练数据集训练 python 机器学习模型,然后我想将该模型应用于测试数据集。所有数据集都在不同的excel文件中

我曾尝试使用 SMOTE 过采样,但我需要定义“X_train”

从 imblearn.over_sampling 导入(SMOTE、SMOTENC、BorderlineSMOTE、SVMSMOTE、KMeansSMOTE)

sm = SMOTE(sampling_strategy='不是多数',random_state=None,k_neighbors=10) x_train_res, y_train_res = sm.fit_resample(X_train, y_train)

0 投票
1 回答
111 浏览

r - 对使用 R 进行过采样的代码感到困惑

下面的代码是关于超过10个房间的房屋过采样,请问是什么prob = ifelse(housing.df$ROOMS>10, 0.9, 0.01)意思?非常感谢。

0 投票
1 回答
570 浏览

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

我的数据不平衡,M 的百分比为 80%,F 的百分比为 20%。以下是数据示例:

所以我想用 M:F 的百分比来平衡数据是 50%:50% 使用SMOTENC. 我试过这个脚本:

但我得到这样的错误:

任何人都可以帮忙吗?