zoukankan      html  css  js  c++  java
  • 分层抽样

    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)
  • 相关阅读:
    form表单生成的简单理解
    drupal里面的ajax最粗浅的理解-流程
    #array_parents #parents的区别
    hook_schema 小总结
    多语言的sitemap xml
    做百度竞价的步骤 不断总结
    为什么要baidu/Google问题 尽量少在群里问问题
    JavaScript Window对象
    JavaScript 3种内置对象
    图片轮播
  • 原文地址:https://www.cnblogs.com/lyy-blog/p/9294571.html
Copyright © 2011-2022 走看看