python实现蓄水池抽样算法 (附完整源码)

python实现蓄水池抽样算法


蓄水池抽样算法(Reservoir Sampling)是一种在不知道数据总量(n)的情况下,从一个数据流中均匀随机地抽取k个样本的算法。这个算法特别适用于处理大型数据集或无限数据流,因为它只需要存储k个样本,无论数据流有多大。

下面是一个Python实现的完整代码,包含详细的注释和示例用法。

import random

def reservoir_sampling(stream, k):
    """
    从数据流stream中随机抽取k个样本,确保每个样本被选中的概率相同。

    参数:
        stream (iterable): 数据流,可以是任何可迭代对象。
        k (int): 要抽取的样本数量。

    返回:
        list: 抽取的k个样本。
    """
    reservoir = [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值