问题标签 [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.
python - Python - 有没有一种技术可以用于过采样时间敏感数据
我正在尝试执行预测性维护,故障率为 5%。这是时间敏感信息,故障会随着时间的推移而发生。是否有一种考虑时间方面的过采样技术。
谢谢
machine-learning - 如何在 Imblearn 中获取已创建样本的索引
我在包含约 55800 个样本的数据集上使用不同的imblearn过采样方法。大约 200 个是 1 类,其余是 0 类。我正在使用各种过采样策略对 1 类进行过采样。
它不会提高我的模型质量,因此我不想仔细查看生成的样本。但是如何访问它们?有什么方法可以获取创建的索引吗?
在采样之前和之后循环遍历示例列表,过滤掉非重复项,这要求太高了,并且冻结了我的笔记本电脑。
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 是否也考虑了这一点?
提前谢谢了
feature-selection - 不平衡数据集:我应该在特征选择之前还是之后使用过采样技术?
我想知道在特征选择步骤之前还是之后最好使用诸如 ADASYN 之类的过采样技术。谢谢
python - 如何过采样 3d 数组?
我试图根据 2 个特征来预测新闻文章的类别:作者姓名和文章标题。
我使用 CountVectorizer 和 TfidfTransformer 分别转换了两列。因此,我现在拥有的是一个 3D 数组(即数组列表的数组),每一行包含每个数据实例的 [author_tfid, summary_tfid]:
但是,当我尝试使用 imblearn 的 RandomOversampler.fit_transform(X_train) 时,出现以下错误:
尝试搜索论坛和谷歌,但似乎找不到任何有这个问题的人。所以想找出对 3D 数组进行过采样的错误/正确方法。
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 或我自己编写的方法。
python - python中文本分类的过采样?
我有一个要分类的文本数据框。但我需要先进行过采样。请在下面找到示例数据:
但这不起作用并给我ValueError: Expected 2D array, got 1D array instead:
。如何对这些数据进行过采样?
oversampling - TypeError: __init__() 在使用 SMOTE 时得到了一个意外的关键字参数 'ratio'
由于我的数据集不平衡,我正在使用 SMOTE 进行过采样。我收到一个意外的参数错误。但在文档中,该ratio
参数是为 SMOTE 定义的。有人可以帮助我了解我哪里出错了吗?
代码片段
错误
python - Python - 如何区分 SMOTE 重采样与原始数据
我使用 SMOTE 对数据进行过度采样,如下所示:
所以现在X_resampled, y_resampled
都比原始数据集大。如何区分合成样本中的原始数据?
python - 大型数据帧上的二维高斯过采样
我目前有以下格式的数据框:
对于 df 中的每一行,我的目标是从 x 和 y 值(独立)的高斯分布中添加额外的m行过采样。因此,N = 100 和 m = 10 的 df 将导致 df 长度为 1010,包括原始值和过采样值。
我为此提供的代码有效,但在大型数据集(N > 100k)上非常慢。我确信有许多操作(创建新数组/ dfs、使用 itertuples 等)会妨碍性能;我将不胜感激有关如何提高性能的任何帮助,以便我可以在整个数据集上生成更高的 m 值。例如:输入数据来自 pandas 数据帧,但多变量法线函数在 numpy 数组上运行。有没有更自然的方法可以通过 pandas 实现这一点,而无需在 numpy 数组和数据帧之间进行复制?谢谢!
可重现的例子: