蓄水池采样 Reservoir Sampling
# 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相关推荐
- 蓄水池采样(Reservoir Sampling)
在一个给定长度的数组中随机等概率抽取一个数据很容易,但如果面对的是长度未知的海量数据流呢?蓄水池采样(Reservoir Sampling)算法就是来解决这个问题的, 它在分析一些大数据集的时候非常有 ...
- 蓄水池取样(Reservoir sampling)
蓄水池取样是一系列的随机算法,用于简单随机抽样,在一个有未知项(n项)的集合中不放回抽取k项.集合的大小(n项)对于算法来说是未知的,通常所有项(n项)太大无法放入主内存里.随着时间的推移,算法不断读 ...
- 水塘采样(Reservoir sampling)算法
最近看了Flink中的rangePartition使用了水塘采样算法,因此参考维基百科详细了解了一下.采样的关键在于对每个元素的选取需要是等概率的.水塘采样其目的在于从包含n个项目的集合S中选取k个样 ...
- Reservoir Sampling 蓄水池采样算法
https://blog.csdn.net/huagong_adu/article/details/7619665 https://www.jianshu.com/p/63f6cf19923d htt ...
- 浅谈流处理算法 (1) – 蓄水池采样
转载自 浅谈流处理算法 (1) – 蓄水池采样 前言 现如今,"大数据 "已经不是什么新概念,"一千个人眼中有一千个大数据".社交网络,智能穿戴设备,智能家居 ...
- 蓄水池采样算法的python实现_蓄水池采样算法的python实现_蓄水池抽样及实现
蓄水池抽样(Reservoir Sampling)是一个很有趣的问题,它能够在o(n)时间内对n个数据进行等概率随机抽取,例如:从1000个数据中等概率随机抽取出100个.另外,如果数据集合的量特别大 ...
- 蓄水池采样算法的python实现_蓄水池抽样及实现
蓄水池抽样(Reservoir Sampling)是一个很有趣的问题,它能够在o(n)时间内对n个数据进行等概率随机抽取,例如:从1000个数据中等概率随机抽取出100个.另外,如果数据集合的量特别大 ...
- 蓄水池采样算法(Reservoir Sampling)原理,证明和代码
有一个在大数据下很现实的例子: "给出一个数据流,这个数据流的长度很大或者未知.并且对该数据流中数据只能访问一次.请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等." ...
- 蓄水池采样算法(Reservoir Sampling)
问题描述 假定有数据个数未知的数据流,要求随机其中的选择kkk个数据,且保证每个数据选中的概率相等. 方案 先将前kkk个数据取出来放入结果集中,然后从第k+1k+1k+1个数据到来时开始替换,假设现 ...
最新文章
- SAP MM 存储条件 - Room Temperature Vs Ambient
- LSA 安装及管理应用程序
- Earth Mover's Distance (EMD)距离
- python文件编译_将c程序编译为python扩展,生成.whl文件
- mysql安装权限_mysql 新安装时的权限
- 【kafka】Kafka扩容
- PPT图片快速编辑技巧
- RTI_DDS自定义插件开发 1
- B站视频下载:如何下载B站视频到电脑上
- spark入门教程(3)--Spark 核心API开发
- 12306GT多线程、分流免费抢票工具使用心德
- 创建群晖共享文件夹,并进行电脑访问
- 消化系统疾病病人的护理题库
- rap2一键部署 (包括RAP2-DELOS与RAP2-DOLORES)
- 趣味算法:国王和100个囚犯
- 最全的数据结构归纳总结
- 西部数据OptiNAND:“闪”动的硬盘
- [附源码]java毕业设计宠物医院管理系统
- 选择软件组成分析工具的最佳做法
- opengl入门(四)windows平台的支持,绘制一个正方形
热门文章
- win10双显示器,不论设置1还是2为主显示器,背景中,右键只显示“为监视器2设置”?
- (二)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 2 数据结构
- 欧氏距离与余弦距离的关系
- 龙芯软件开发(10)--龙芯2E指令
- linux批量替换文件内容
- C51---13 DS18B20温度传感器
- 如何用计算机制作动态图,怎么制作Gif动画?用电脑制作Gif动图
- 烤仔星选·NFT实验室 | 非同质化代币在游戏领域的应用
- ST-GCN/AS-GCN报错cannot import name “import_class“
- 黑苹果 技嘉 B250M-DS3H-CF i57500 HD630 EFI引导驱动发布