问题标签 [subsampling]

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

r - 如何在 R 中通过 ID 和引导对不同的数字进行二次采样

首先,我试图对包含许多个人的大型数据集进行二次抽样,但每个人都需要不同的子样本大小。我正在比较两个时间段,所以我想通过两个时间段中每个人的最小数据点对每个人进行二次抽样。其次,我有多个指标(主要是各种方法)来计算每个人、每个时间段(我在下面提供了一个示例)。第三,我想为这些指标引导 1,000 次重复。我也想为人口做这件事(通过对个体进行平均)。我有一个我在下面尝试过的例子,但这可能还有一段路要走。我对函数或 for 循环持开放态度 - 我无法概念化哪个更适合这个问题。(如果我的代码效率不高,我会提前道歉——我是通过谷歌搜索自学的。)

以下是如果只有一个 ID(不同的子采样要求不同),我将如何进行子采样。我不知道如何指定按 ID 对不同的数量进行二次抽样,然后复制每个。

我正在寻找的结果是基于子采样(每个人的最小数据点)和引导 1000 次重复的每个人的每个活动的方法。此外,如果可能的话,通过对个体进行平均(再次来自二次抽样和自举)来获得总体平均值。

编辑:附加信息: 最终结果应该允许我比较每个 ID 在两个时间段内进行每项活动的时间比例(例如,比较 A 在前后吃饭的时间百分比等)。但是,由于数据过多,所以在该期间进行了二次抽样,因此我们比较了相同数量的观察值。代码在我脑海中运行的方式是(1)对观察进行二次抽样,以便我们比较两个时期内每个 ID 的相同数量的观察,(2)计算每个 ID 中每个活动的比例时间段,(3)重复该子样本计算 1,000 次,以便我们最终得到的比例代表总观测值。

0 投票
1 回答
1435 浏览

python - 每组python 1:1分层抽样

如何在 python 中进行 1:1 分层抽样?

假设 Pandas 数据框df严重不平衡。它包含一个二元组和多列分类子组。

对于 main 的每个成员,group==1我需要找到一个匹配的group==0with。

来自 scikit-learn 的AStratifiedShuffleSplit只会返回数据的随机部分,而不是 1:1 匹配。

0 投票
0 回答
528 浏览

for-loop - 在多任务学习(Pytorch)中处理不同大小的数据

我想用 Pytorch 创建多任务学习模型。

我设计的模型遵循硬参数共享(http://ruder.io/multi-task/

问题是每个数据集的大小不同。因此,它们不能在模型中的相同 for 循环中进行训练,如下所示:

我想知道如何处理这种情况。我想我可以使用zipwith itertools.cycle在 python 中迭代两个不同大小的列表),但它可能会显着影响模型,因为它会改变某些数据的频率,尤其是位于早期索引中的数据:

另一方面,如果我只是将其视为数据集的时代之间的差异,似乎没有问题。例如data.a,有 5 个 epoch,data.b当 时有 3 个 epoch EPOCHS == 15

或者如果这样设计模型没有问题:

我认为这将是最简单的解决方案。但是,我不知道为什么,但我痴迷于我必须像以前的模型一样构建模型的想法。

以上代码均为伪代码。

谢谢你的建议 :)

0 投票
1 回答
187 浏览

python - 使用邻域和对 3D 数组进行二次采样

标题可能令人困惑。我有一个相当大的 3D numpy 数组。我想通过对大小为 (2,2,2) 的块进行分箱来将其大小减少 2^3。然后,新 3D 数组中的每个元素都应包含原始数组中相应块中元素的总和。

例如,考虑一个 4x4x4 数组:

(我只代表它的一半以节省空间)。请注意,所有具有相同值的元素构成一个 (2x2x2) 块。输出应该是一个 2x2x2 数组,使得每个元素都是一个块的总和:

所以 8 是所有 1 的总和,16 是 2 的总和,以此类推。

0 投票
1 回答
609 浏览

video - 如何根据给定的色度信息计算视频的大小?

我在测试中被问及以 25fps 显示的 10 秒视频的大小,假设每个色度样本占用 4 位,亮度分量占用 8 位,并且在 32x32 像素的图像对象中使用 4:2:0 色度采样?

这是我的解决方案:10 x 25 x (8 x 2) x (8 x 4) x 32 x 32

我的解决方案正确吗?如果不是,如何纠正?

0 投票
1 回答
127 浏览

php - 使用 PHP GD 库保存 jpg 图像时如何禁用子采样?

我注意到每次我在 PHP 中保存 jpg 文件时,都会使用子采样保存它。如何删除它?我正在使用 GD 库。

0 投票
0 回答
41 浏览

apache-spark - 激发有效分布配对以比较群组

如何有效地比较 Spark 中匹配的同类群组?

在 python 中,对于高度不平衡的数据集中的少数类的每个观察,k可以以一种相当简单的方式实现对多数类的采样观察(即按年龄和性别为每个病人匹配一个健康人):

提高性能,计算与 pandas或python中的特定条件匹配的随机样本每组 1:1 分层抽样

但是如何在 spark 中扩展呢?天真地,带有过滤器的自连接应该可以工作。但是由于生成了太多的元组,这失败了。

有更聪明的策略吗?也许像 LSH 这样的智能哈希?

0 投票
1 回答
589 浏览

r - 将df列表中的df随机划分为相等的子集

昨天我已经问了一个类似的问题:R - Randomly split a dataframe in n equal pieces

我得到的答案几乎是我需要的,但仍然存在问题。我还考虑了其​​他不同的方法来获得结果。

这是我的示例 df-list:

我想将列表中的单个 df 随机子集为 n 个相等的部分(或尽可能接近相等)。我已经从 chinsoon12 得到了一个非常有帮助的答案:

问题是它不适用于任何数量的行,也没有考虑到所有的观察结果。例如,当我使用该方法将我的 df_list 划分为 5 个子集时,我得到 AB_df 的 325、324、324、324、324 的子集,总共不是 1624,所以缺少一些东西。当我将它分成 4 块时,我只得到 3 个子集……知道为什么会这样吗?

我还考虑了在列表中拆分 df 的 2 种不同方法。一种方法可能是通过以随机方式更改行的顺序来随机重新排列观察结果:

现在我只需要将 dfs 分成 n 块......但这是我不确定如何做到这一点的地方。

我想到的第三种方法是为 n 个子样本创建一个随机数字列表 1:n 并将它们添加到数据帧中,然后根据数字提取 df。

我仍然认为第一种方法是最简单的,我更喜欢这个。知道代码有什么问题吗?

0 投票
1 回答
1753 浏览

keras - Word2Vec 二次采样——实现

我正在Pytorch 和 Tensorflow2 中实现Skipgram模型。我对常用词的二次抽样的实施有疑问。逐字逐句地从论文中得出,对单词进行二次采样的概率wi计算为

在此处输入图像描述

其中t是自定义阈值(通常是一个小的值,例如0.0001)并且f是文档中单词的频率。尽管作者以不同但几乎相同的方式实现了它,但让我们坚持这个定义。

在计算 时P(wi),我们可以得到负值。例如,假设我们有 100 个单词,其中一个单词出现的频率比其他单词高得多(我的数据集就是这种情况)。

问:使用这种“概率”实现二次抽样的正确方法是什么?

作为附加信息,我已经看到在keras中,该函数keras.preprocessing.sequence.make_sampling_table采用了不同的方法:

0 投票
0 回答
519 浏览

r - R中的两阶段聚类抽样

在 R 中,一个包含 30 个类别的数据集(N cluster=30),每个 cluster 中的单元数不相等(在 i cluster 中,可以有 24、25、26、27 或 28 个单元)。我想进行两阶段抽样,首先从 N 中抽取 n 个簇,其次,在这 n 个簇中,随机抽取每个选定簇中 50% 的单元。

例子:

我的情况:

我上面的代码不起作用。我不知道如何放置“size =”的第二个参数?对我的代码或此两阶段采样的替代解决方案的任何更正表示赞赏。

示例: https ://www.rdocumentation.org/packages/sampling/versions/2.8/topics/mstage