问题标签 [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.
random - 有没有比 random.sample() 更有效的数据过采样方法?
我遇到了一个很大的不平衡分类问题,想通过对次要类进行过采样来解决这个问题。(N(class 1) = 8,5mio, N(class n) = 3000)
为此,我想通过
其中data
是特定于类的 DataFrame 的列表,len(data)=10
并且data.shape=(9448788,97)
这按预期工作,但不幸的是需要永远。有没有更有效的方法来做同样的事情?
python - 如何使用过采样和欠采样的组合?学习不平衡
我想重新采样一些大数据(类大小:8mio vs 2700)我想通过对第 2 类进行过采样和对第 1 类进行欠采样来获得 50.000 个样本。imblearn 似乎提供了过采样和欠采样的组合,但我不明白它是如何做到的作品。
在数据看起来像之前
之后
正如我所期望或希望的那样
python - ValueError:无法将字符串转换为浮点 SMOTE fit_sample Python 过采样
我有一个信用风险分析数据集,如下所示:
在loan_status 中,1 表示违约,0 表示非违约。
现在默认的数量非常少,大约为 1000,非默认数量为 25,000。所以我想做过度采样或合成采样。
到这里代码运行良好
在此之后我执行以下操作并且出现错误
有人可以帮忙吗?
r - 在 R 中使用 64 hz 进行上采样
我有以下格式的数据。此处粘贴的示例数据。它基本上有 3 个变量开始时间、结束时间和这些时间戳之间的一组值。采样率为 64Hz
现在我需要以下格式的输出,两个连续邮票之间的差异为 0.0156(因为采样率为 64 Hz)
我尝试了 Seq 函数的各种方法,但没有成功
样本数据:
r - R中ROSE的过采样和欠采样问题
我有一个数据集可以在胜诉案件 (14399) 和败诉案件 (8677) 之间进行分类。该数据集有 912 个预测变量。我试图对丢失的案件进行过度抽样,以达到与获胜案件几乎相同的数量(因此每个获胜案件和失败案件都有 14399 个案件)。
TARGET 是丢失 (0) 和赢 (1) 案例的列:
现在我正在尝试使用 ROSE ovun.sample 来平衡它们
我收到此错误:
任何人都可以帮忙吗?谢谢 :-)
scikit-learn - 使用 SMOTE 对推文进行上采样
我有一个不平衡的推文数据集,标记为 -1、0、+1。我想通过上采样来平衡数字。我收到以下错误:
could not convert string to float: 'از این به بعد همینهسلبریتی هایی که ایدیولوژی های #جمهوری_اسلامی رو تبلیغ می کنن خارج از مرز ایران هم حق ندارن آسایش داشته باشن و مجبور بود#باش همچنان ادا وفاداری به اون ایدیولوژی رو در بیارن چون هر جا یه دوربین منتظره که #ریاکاری شون رو ثبت کنه '
为什么它应该尝试将字符串变成浮点数?
PS。在重塑之前,tweet_train 和 y_train 是 shape=(n,) 的 numpy 数组
python - SMOTE 函数在 make_pipeline 中不起作用
我想同时应用交叉验证和过采样。我从这段代码中得到以下错误:
所有中间步骤应该是转换器并实现拟合和转换,或者是字符串 'passthrough' 'SMOTE(k_neighbors=5, kind='deprecated', m_neighbors='deprecated', n_jobs=1, out_step='deprecated', random_state=42 , ratio=None, sampling_strategy='auto', svm_estimator='deprecated')' (type ) 没有
PS。我使用imblearn.over_sampling.RandomOverSampler而不是SMOTE得到了同样的错误。
python - 在 PySpark 管道中使用交叉验证进行过采样
我正在研究 PySpark 二进制分类管道,我想在其中使用过采样阶段执行交叉验证(我的数据集不平衡)。问题是过采样阶段也在测试数据集上执行。
管道:
smote
是转换测试数据集时我想跳过的阶段。
我查看了 spark 文档和源代码,没有办法跳过 PipelineModel 中的一个阶段。我的解决方案是覆盖_transform
原始类的方法以跳过过采样阶段。在我的源代码中安装管道时,这可以正常工作。我用这个:
CustomPipelineModel
是一个继承pyspark.ml.PipelineModel
并覆盖该_transform
方法的类。
但是由于 CrossValidator 使用 PipelineModel 类的原始实现,我不能使用我的自定义方法。
使用 Cross Validator 时跳过过采样阶段的最佳方法是什么?
我也开始研究考虑覆盖它的_fit
方法的源代码pyspark.ml.tuning.CrossValidator
......第二种解决方案是对训练数据集执行过采样,但这会在交叉验证过程中将偏差引入模型。