![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 66
feiqiangs
这个作者很懒,什么都没留下…
展开
-
蓄水池采样
问题描述: 现实生活中有很多流式数据,在流式数据上采样可以抽象为: 设几个中元素个数为N,并且N在不断的增大,如何在集合中采集K个样本,使得每个样本被采集到的概率相等(K/N)? 蓄水池抽样法: 算法思路是,先构造一个可以放K个元素的池子,池子中一开始放元素1~k。 对于K+1~N 以K/N的概率决定是否被替换到池子中,遍历完所有元素后就可以得到一个等概率采样的K个元素,时间复杂度是O(原创 2016-10-27 17:31:18 · 531 阅读 · 0 评论 -
从大小为N的样本集中随机采集不同的K个样本
这类为题可以抽象为随机生成K个 1~N之间不同的整数。 解决思路: a,选中第1个元素,将其与n个元素中的任意一个交换(包括第1个元素自己)。这时排序后的第1个元素已经确定。 b,选中第2个元素,将其与n-1个元素中作任意一个交换(包括第2个元素自己)。 c,重复上面步骤K次 实现代码: #include #include #include #include u原创 2016-10-28 18:07:37 · 1291 阅读 · 0 评论