日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

spark sample采样

發(fā)布時(shí)間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark sample采样 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
def sample(withReplacement: Boolean, fraction: Double, seed: Long = Utils.random.nextLong): RDD[T]

參數(shù)解釋:

1、參數(shù)withReplacement:

網(wǎng)上找了很多資料沒有詳細(xì)講這一塊,然后被他們描述的一臉懵逼,再然后不知怎么的就反應(yīng)過來(lái),這tm是大一還是大二的數(shù)學(xué)課教的概率。。

記得有個(gè)這樣的問題:黑球有10個(gè),白球有5個(gè),然后都放在一個(gè)桶中,一共抽3次。

有兩種問法:

(1)每抽一次再把球放回桶里,桶里被抽取的球的總數(shù)不變,還是15個(gè),然后再抽,抽完再放回去,再繼續(xù)抽,直到抽了3次位置。

這個(gè)就是withReplacement參數(shù)為true時(shí)的情況。

(2)每抽中一個(gè),則把這個(gè)球放旁邊去,不放回桶里,每抽一次少一個(gè)球。。直到抽了3次為止。

這個(gè)就是withReplacement參數(shù)為false時(shí)的情況。

?

桶里就是原來(lái)的集合,球就是集合的元素

?

2、fraction表示抽樣比例;0~1之間的浮點(diǎn)數(shù),注意,會(huì)有誤差的。。比如十個(gè)元素,比例為0.1,他抽取的時(shí)候可能為0個(gè),1個(gè)、2個(gè)(我少量數(shù)據(jù)隨便跑幾次就有三種可能,所以這個(gè)比例只是趨近于,而不是一定)

3、seed為隨機(jī)數(shù)種子(java的random不是也有個(gè)seed么,沒錯(cuò),作用類似)

?

最后執(zhí)行例子:

(1)創(chuàng)建RDD

scala> val rdd = sc.parallelize(1 to 10)

rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[20] at parallelize at <console>:24

(2)打印

scala> rdd.collect()

res15: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

(3)放回抽樣

scala> var sample1 = rdd.sample(true,0.4,2)

sample1: org.apache.spark.rdd.RDD[Int] = PartitionwiseSampledRDD[21] at sample at <console>:26

(4)打印放回抽樣結(jié)果

scala> sample1.collect()

res16: Array[Int] = Array(1, 2, 2, 7, 7, 8, 9)

(5)不放回抽樣

scala> var sample2 = rdd.sample(false,0.2,3)

sample2: org.apache.spark.rdd.RDD[Int] = PartitionwiseSampledRDD[22] at sample at <console>:26

(6)打印不放回抽樣結(jié)果

scala> sample2.collect()

res17: Array[Int] = Array(1, 9)

?

總結(jié)

以上是生活随笔為你收集整理的spark sample采样的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。