当前位置: 首页 > 面试题库 >

无需替换的采样算法?

司马彬
2023-03-14
问题内容

我试图测试偶然发生特定数据群集的可能性。一种可靠的方法是蒙特卡洛模拟,其中数据和组之间的关联会被大量(例如10,000次)随机地重新分配,并且使用聚类指标将实际数据与模拟进行比较以确定ap值。

我已经完成了大部分工作,并使用指针将分组映射到数据元素,因此我计划随机将指针重新分配给数据。问题:没有替换的快速采样方法是什么,以便每个指针在复制数据集中被随机地重新分配?

例如(这些数据只是一个简化的示例):

数据(n = 12值)-A组:0.1,0.2,0.4 / B组:0.5,0.6,0.8 / C组:0.4,0.5 /
D组:0.2,0.2,0.3,0.5

对于每个复制数据集,我将具有相同的群集大小(A = 3,B = 3,C = 2,D = 4)和数据值,但会将值重新分配给群集。

为此,我可以生成1-12范围内的随机数,分配A组的第一个元素,然后生成1-11范围内的随机数,并分配A组的第二个元素,依此类推。指针的重新分配很快,我将预先分配所有数据结构,但是不进行替换的采样似乎是一个问题,以前可能已经解决了很多次。

首选逻辑或伪代码。


问题答案:

看到我对这个问题的回答O(1)中的唯一(非重复)随机数?。相同的逻辑应该可以完成您想要的工作。



 类似资料:
  • 问题内容: 我需要获得一个 k大小的 样本,而无需从总体中进行替换,而总体中的每个成员都有相关的权重(W)。 如果没有替换,Numpy的 random.choices 将不会执行此任务,并且 random.sample 不会接受加权输入。 当前,这是我正在使用的: 虽然这样做有效,但它需要从数组来回切换到列表再回到数组,因此不理想。 我正在寻找最简单,最容易理解的解决方案,因为此代码将与他人共享。

  • 1. Gibbs采样算法求解LDA的思路 首先,回顾LDA的模型图如下: 在Gibbs采样算法求解LDA的方法中,我们的$$alpha, eta$$是已知的先验输入,我们的目标是得到各个$$z_{dn}, w_{kn}$$对应的整体$$vec z,vec w$$的概率分布,即文档主题的分布和主题词的分布。由于我们是采用Gibbs采样法,则对于要求的目标分布,我们需要得到对应分布各个特征维度的条件概

  • 问题内容: 该模块(http://docs.python.org/2/library/random.html)具有几个 固定 功能,可以从中随机采样。例如,将从具有给定均值和sigma值的正态分布中采样随机点。 我正在寻找一种方法,该方法可以使用自己的分布 尽可能快地 在给定间隔内提取一定数量的随机样本。这就是我的意思: 这里是我后和是从中可以得出样本的限制。有这样的东西吗? 问题答案: 您需要使

  • 在分布式跟踪中,数据量可能非常高,因此采样可能很重要(您通常不需要导出所有spans以获得正在发生的情况)。Spring Cloud Sleuth具有Sampler策略,您可以实现该策略来控制采样算法。采样器不会停止生成跨度(相关)ids,但是它们确实阻止了附加和导出的标签和事件。默认情况下,您将获得一个策略,如果跨度已经处于活动状态,则会继续跟踪,但新策略始终被标记为不可导出。如果您的所有应用程

  • 页替换算法 操作系统为何要进行页面置换呢?这是由于操作系统给用户态的应用程序提供了一个虚拟的“大容量”内存空间,而实际的物理内存空间又没有那么大。所以操作系统就就“瞒着”应用程序,只把应用程序中“常用”的数据和代码放在物理内存中,而不常用的数据和代码放在了硬盘这样的存储介质上。如果应用程序访问的是“常用”的数据和代码,那么操作系统已经放置在内存中了,不会出现什么问题。但当应用程序访问它认为应该在内

  • 主要内容:页面替换算法的类型页面替换算法决定哪个内存页面将被替换。 替换过程有时称为换出或写入磁盘。在主存储器中找不到请求的页面时(页面错误),完成页面替换。 虚拟内存有两个主要方面,即帧分配和页面替换。 拥有最佳的帧分配和页面替换算法是非常重要的。 帧分配全部是关于将多少帧分配给进程,而页面替换则是确定需要替换的页码,以便为请求的页面留出空间。 如果算法不是最优的? 如果分配给进程的帧数量不够或不准确,则可能会出现抖动问题

  • 如果非周期马尔科夫链的状态转移矩阵P和概率分布$$pi(x)$$对于所有的i,j满足:$$pi(i)P(i,j) = pi(j)P(j,i)$$ 则称概率分布$$pi(x)$$是状态转移矩阵P的平稳分布。 在M-H采样中我们通过引入接受率使细致平稳条件满足。现在我们换一个思路。 从二维的数据分布开始,假设$$pi(x_1,x_2)$$是一个二维联合数据分布,观察第一个特征维度相同的两个点$$A(x

  • 我正在尝试在使用的Scikit学习SVM分类器中使用类权重。 我有四节课。现在对于class_weight,我希望四个类中的每一个都有介于0和1之间的随机值。可以用 但这仅适用于一个类,并且值是离散的,而不仅仅是在 0 和 1 之间采样。 我该如何解决这个问题? 最后但同样重要的是,如果我使用0到1之间或1到10之间的值,这有关系吗(即权重是否被重新调整)? 所有4类的权重总和是否应该总是相同的值