分层抽样

Stratified sampling

1. 基本概念

统计学理论中,分层抽样针对的是对一个总体(population)进行抽样的方法。尤其适用于当总体内部,子总体(subpopulations)间差异较大时。每一个 subpopulation,也称为层(stratum)。

LL 表示层的数量,其中 分别指的是层 h 的样本数量,采样的数量,采样得到的样本均值和标准差;


分层抽样方法,sampleByKey和sampleByKeyExact,可以在键-值对的RDD上精确执行。
对于分层抽样,可以将键视为一个标签,而值作为一个特定的属性。
例如,密钥可以是男性或女性,也可以是文档id,而相应的值可以是人口中人口的年龄列表,也可以是文档中的单词列表。
sampleByKey方法会抛硬币来决定一个观察是否被取样,因此需要一个传递数据,并提供一个预期的样本大小。
sampleByKeyExact 需要比在sampleByKey中使用的每层简单随机抽样所需的资源多得多,但它将提供精确的采样大小和99.99%的置信度。

 

 

 

// an RDD[(K, V)] of any key value pairs
val data = sc.parallelize(
  Seq((1, 'a'), (1, 'b'), (2, 'c'), (2, 'd'), (2, 'e'), (3, 'f')))

// specify the exact fraction desired from each key
val fractions = Map(1 -> 0.1, 2 -> 0.6, 3 -> 0.3)

// Get an approximate sample from each stratum
val approxSample = data.sampleByKey(withReplacement = false, fractions = fractions)
// Get an exact sample from each stratum
val exactSample = data.sampleByKeyExact(withReplacement = false, fractions = fractions)

 

转载于:https://www.cnblogs.com/lyy-blog/p/9294571.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值