• <nav id="dstbx"></nav>

    <nav id="dstbx"></nav>
    1. <form id="dstbx"></form>
    2. <small id="dstbx"></small>

      教育行業A股IPO第一股(股票代碼 003032)

      全國咨詢/投訴熱線:400-618-4000

      Spark Mllib分層抽樣具體是怎樣操作的?

      更新時間:2021年01月29日14時51分 來源:傳智教育 瀏覽次數:

      分層抽樣法也叫類型抽樣法,它是先將總體樣本按照某種特征分為若干次級(層),然后再從每一一層內進行獨立取樣,組成一個樣本的統計學計算方法。例如,某手機生產廠家估算當地潛在用戶,可以將當地居民消費水平作為分層基礎,減少樣本中的誤差,如果不采取分層抽樣,僅在消費水平較高的用戶中做調查,就不能準確地估算出潛在的用戶。接下來,通過Spark-Shell演示分層抽樣方法,具體代碼如下。

      #創建鍵值對RDD
      
      scala>val data =sc.parallelize(
      
      Seg((1, 'a'), (1, 'b'), (2,'c'), (2, 'a'), (2, 'e'), (3, 'f1))#設定抽樣格式
      
      scala>val fractions =Map(1->0.1, 2->0.6,3->0.3)
      
      并從每層獲取抽樣樣本
      
      scala> val approxSample =
      
      data . sampleByKey (withReplacementfalse, fractions = fractions)并從每層獲取精確樣本
      
      scala> val exactSample=
      
      中招eyeyse otheptacee -fale, fractoo -ractoes#打印抽樣樣本
      
      scala> approxsample.foreach (printin)
      
      (2,e)
      
      #打印精確樣本
      
      scala> exactsample. frech(printn)
      
      (2,d)
      
      (3,f)
      
      (1,b)
      
      (2,c)

      在上述代碼中用到了兩種3分層抽樣方法.其中sampleByKey()方法需要作用于一 一個鍵值對數組,其中Rroy用于分類Velu可以是任雅值,然后通過r.歌徒父分關茶件有收.K條件的采樣比例1.0代表被率為o,qaun機農物物鮮光否sppyeyExrn)方法會對全量數據做采樣計算。對于每個類別,都會產生(k.n)個樣本,其中Ak是鍵為factos的Key的樣本類別采樣的比例:nk是Key所擁有的樣本數。sampleByKeyExtra采樣的結果會更準確,有99.9%的置信度,但耗費的計算資源也更多。


      sampleByKey()方法和sampleByKeyExact()方法的區別在于sampleByKey()方法每次都得通過給定的概率以-種類似于擲硬幣的方式來決定這個觀察值是否被放入樣本,因此-遍就可以過濾完所有數據,最后得到一個近似大小的樣本,但往往并不夠準確。   




      猜你喜歡:

      SparkMllib如何解決回歸問題?[大數據培訓]

      SparkMllib數值型特征基本處理方法介紹

      Spark生態系統包含哪些組件?【大數據培訓】

      傳智教育大數據開發工程師培訓

      0 分享到:
      神马影院我不卡