# coding:utf8
import random# 从n个数中采样k个数
def reservoir_sampling(n, k):# 所有数据pool = [i for i in range(n)]# 前k个数据res = [i for i in range(k)]for i in range(k, n):v = random.randint(0, i)if v < k:res[v] = ireturn res

先选中第1到k个元素,作为被选中的元素。然后依次对第k+1至第N个元素做如下操作:

x是元素的序号,每个元素都有k/x的概率被选中,然后等概率的(1/k)替换掉被选中的元素。

蓄水池采样 Reservoir Sampling相关推荐

  1. 蓄水池采样(Reservoir Sampling)

    在一个给定长度的数组中随机等概率抽取一个数据很容易,但如果面对的是长度未知的海量数据流呢?蓄水池采样(Reservoir Sampling)算法就是来解决这个问题的, 它在分析一些大数据集的时候非常有 ...

  2. 蓄水池取样(Reservoir sampling)

    蓄水池取样是一系列的随机算法,用于简单随机抽样,在一个有未知项(n项)的集合中不放回抽取k项.集合的大小(n项)对于算法来说是未知的,通常所有项(n项)太大无法放入主内存里.随着时间的推移,算法不断读 ...

  3. 水塘采样(Reservoir sampling)算法

    最近看了Flink中的rangePartition使用了水塘采样算法,因此参考维基百科详细了解了一下.采样的关键在于对每个元素的选取需要是等概率的.水塘采样其目的在于从包含n个项目的集合S中选取k个样 ...

  4. Reservoir Sampling 蓄水池采样算法

    https://blog.csdn.net/huagong_adu/article/details/7619665 https://www.jianshu.com/p/63f6cf19923d htt ...

  5. 浅谈流处理算法 (1) – 蓄水池采样

    转载自  浅谈流处理算法 (1) – 蓄水池采样 前言 现如今,"大数据 "已经不是什么新概念,"一千个人眼中有一千个大数据".社交网络,智能穿戴设备,智能家居 ...

  6. 蓄水池采样算法的python实现_蓄水池采样算法的python实现_蓄水池抽样及实现

    蓄水池抽样(Reservoir Sampling)是一个很有趣的问题,它能够在o(n)时间内对n个数据进行等概率随机抽取,例如:从1000个数据中等概率随机抽取出100个.另外,如果数据集合的量特别大 ...

  7. 蓄水池采样算法的python实现_蓄水池抽样及实现

    蓄水池抽样(Reservoir Sampling)是一个很有趣的问题,它能够在o(n)时间内对n个数据进行等概率随机抽取,例如:从1000个数据中等概率随机抽取出100个.另外,如果数据集合的量特别大 ...

  8. 蓄水池采样算法(Reservoir Sampling)原理,证明和代码

    有一个在大数据下很现实的例子: "给出一个数据流,这个数据流的长度很大或者未知.并且对该数据流中数据只能访问一次.请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等." ...

  9. 蓄水池采样算法(Reservoir Sampling)

    问题描述 假定有数据个数未知的数据流,要求随机其中的选择kkk个数据,且保证每个数据选中的概率相等. 方案 先将前kkk个数据取出来放入结果集中,然后从第k+1k+1k+1个数据到来时开始替换,假设现 ...

最新文章

  1. SAP MM 存储条件 - Room Temperature Vs Ambient
  2. LSA 安装及管理应用程序
  3. Earth Mover's Distance (EMD)距离
  4. python文件编译_将c程序编译为python扩展,生成.whl文件
  5. mysql安装权限_mysql 新安装时的权限
  6. 【kafka】Kafka扩容
  7. PPT图片快速编辑技巧
  8. RTI_DDS自定义插件开发 1
  9. B站视频下载:如何下载B站视频到电脑上
  10. spark入门教程(3)--Spark 核心API开发
  11. 12306GT多线程、分流免费抢票工具使用心德
  12. 创建群晖共享文件夹,并进行电脑访问
  13. 消化系统疾病病人的护理题库
  14. rap2一键部署 (包括RAP2-DELOS与RAP2-DOLORES)
  15. 趣味算法:国王和100个囚犯
  16. 最全的数据结构归纳总结
  17. 西部数据OptiNAND:“闪”动的硬盘
  18. [附源码]java毕业设计宠物医院管理系统
  19. 选择软件组成分析工具的最佳做法
  20. opengl入门(四)windows平台的支持,绘制一个正方形

热门文章

  1. win10双显示器,不论设置1还是2为主显示器,背景中,右键只显示“为监视器2设置”?
  2. (二)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 2 数据结构
  3. 欧氏距离与余弦距离的关系
  4. 龙芯软件开发(10)--龙芯2E指令
  5. linux批量替换文件内容
  6. C51---13 DS18B20温度传感器
  7. 如何用计算机制作动态图,怎么制作Gif动画?用电脑制作Gif动图
  8. 烤仔星选·NFT实验室 | 非同质化代币在游戏领域的应用
  9. ST-GCN/AS-GCN报错cannot import name “import_class“
  10. 黑苹果 技嘉 B250M-DS3H-CF i57500 HD630 EFI引导驱动发布