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

python - Python - 有没有一种技术可以用于过采样时间敏感数据

我正在尝试执行预测性维护,故障率为 5%。这是时间敏感信息,故障会随着时间的推移而发生。是否有一种考虑时间方面的过采样技术。

谢谢

0 投票
1 回答
454 浏览

machine-learning - 如何在 Imblearn 中获取已创建样本的索引

我在包含约 55800 个样本的数据集上使用不同的imblearn过采样方法。大约 200 个是 1 类,其余是 0 类。我正在使用各种过采样策略对 1 类进行过采样。

它不会提高我的模型质量,因此我不想仔细查看生成的样本。但是如何访问它们?有什么方法可以获取创建的索引吗?

在采样之前和之后循环遍历示例列表,过滤掉非重复项,这要求太高了,并且冻结了我的笔记本电脑。

0 投票
0 回答
142 浏览

machine-learning - scikit-learn 和 imblearn:GridSearchCV/RandomSearchCV 是否也将预处理应用于验证集?

我目前正在将 sklearn 用于学校项目,我对 GridsearchCV 如何应用预处理算法(如 PCA 或因子分析)有一些疑问。假设我执行了坚持:

然后,我声明一些超参数并执行 GridSearchCV(它与 RandomSearchCV 相同,但无论如何):

我的问题是:我的老师告诉我,在 ak fold cv 的情况下,你永远不应该在验证集上拟合预处理算法(这里是 PCA),而只能在火车分割上(这里火车分割和验证分割都是 X_tr 的子集,当然它们每次折叠都会改变)。因此,如果我在这里有 PCA(),它应该适合用于训练模型的折叠部分,最终当我针对验证拆分测试结果模型时,使用获得的 PCA 模型对其进行预处理,使其与训练集相匹配。这确保了无论如何都不会泄漏。

sklearn 是否考虑到这一点?

如果确实如此:假设现在我想使用 imblearn 对不平衡集执行过采样:

仍然根据我的老师的说法,您也不应该对验证拆分执行过采样,因为这可能会导致不准确的准确性。所以上面关于 PCA 的关于在第二时刻转换验证集的声明在这里不适用。sklearn/imblearn 是否也考虑了这一点?

提前谢谢了

0 投票
0 回答
121 浏览

feature-selection - 不平衡数据集:我应该在特征选择之前还是之后使用过采样技术?

我想知道在特征选择步骤之前还是之后最好使用诸如 ADASYN 之类的过采样技术。谢谢

0 投票
1 回答
525 浏览

python - 如何过采样 3d 数组?

我试图根据 2 个特征来预测新闻文章的类别:作者姓名和文章标题。

我使用 CountVectorizer 和 TfidfTransformer 分别转换了两列。因此,我现在拥有的是一个 3D 数组(即数组列表的数组),每一行包含每个数据实例的 [author_tfid, summary_tfid]:

但是,当我尝试使用 imblearn 的 RandomOversampler.fit_transform(X_train) 时,出现以下错误:

尝试搜索论坛和谷歌,但似乎找不到任何有这个问题的人。所以想找出对 3D 数组进行过采样的错误/正确方法。

0 投票
3 回答
6690 浏览

python-3.x - 对不平衡数据使用 sklearn.train_test_split

我有一个非常不平衡的数据集。我使用 sklearn.train_test_split 函数来提取训练数据集。现在我想对训练数据集进行过采样,所以我曾经计算过 type1 的数量(我的数据集有 2 个类别和类型(type1 和 tupe2),但我的所有训练数据几乎都是 type1。所以我不能过采样。

以前我曾经用我的书面代码分割训练测试数据集。在该代码中,所有类型 1 数据的 0.8 和所有类型 2 数据的 0.8 都在训练数据集中。

如何将此方法与 train_test_split 函数或 sklearn 中的其他拆分方法一起使用?

*我应该只使用 sklearn 或我自己编写的方法。

0 投票
1 回答
153 浏览

python - python中文本分类的过采样?

我有一个要分类的文本数据框。但我需要先进行过采样。请在下面找到示例数据:

但这不起作用并给我ValueError: Expected 2D array, got 1D array instead:。如何对这些数据进行过采样?

0 投票
1 回答
8062 浏览

oversampling - TypeError: __init__() 在使用 SMOTE 时得到了一个意外的关键字参数 'ratio'

由于我的数据集不平衡,我正在使用 SMOTE 进行过采样。我收到一个意外的参数错误。但在文档中,该ratio参数是为 SMOTE 定义的。有人可以帮助我了解我哪里出错了吗?

代码片段

错误

0 投票
0 回答
122 浏览

python - Python - 如何区分 SMOTE 重采样与原始数据

我使用 SMOTE 对数据进行过度采样,如下所示:

所以现在X_resampled, y_resampled都比原始数据集大。如何区分合成样本中的原始数据?

0 投票
1 回答
71 浏览

python - 大型数据帧上的二维高斯过采样

我目前有以下格式的数据框:

对于 df 中的每一行,我的目标是从 x 和 y 值(独立)的高斯分布中添加额外的m行过采样。因此,N = 100 和 m = 10 的 df 将导致 df 长度为 1010,包括原始值和过采样值。

我为此提供的代码有效,但在大型数据集(N > 100k)上非常慢。我确信有许多操作(创建新数组/ dfs、使用 itertuples 等)会妨碍性能;我将不胜感激有关如何提高性能的任何帮助,以便我可以在整个数据集上生成更高的 m 值。例如:输入数据来自 pandas 数据帧,但多变量法线函数在 numpy 数组上运行。有没有更自然的方法可以通过 pandas 实现这一点,而无需在 numpy 数组和数据帧之间进行复制?谢谢!

可重现的例子: