随机数生成 Random data generation

简介: Spark ml 随机数生成器RandomRDDs 是一个工具集,用来生成含有随机数的RDD,可以按各种给定的分布模式生成数据集,Random RDDs包下现支持正态分布、泊松分布和均匀分布三种分布方式。RandomRDDs提供随机double RDDS或vector RDDS。

Spark ml 随机数生成器

RandomRDDs 是一个工具集,用来生成含有随机数的RDD,可以按各种给定的分布模式生成数据集,

Random RDDs包下现支持正态分布、泊松分布和均匀分布三种分布方式。

RandomRDDs提供随机double RDDS或vector RDDS。

package basicstatistics
import org.apache.log4j.{Level, Logger}
import org.apache.spark.SparkContext
import org.apache.spark.mllib.random.{LogNormalGenerator, PoissonGenerator, RandomDataGenerator, RandomRDDs, UniformGenerator}
import org.apache.spark.rdd.RDD
/**
 * 随机数生成 Random data generation
 *
 *      RandomRDDs 是一个工具集,用来生成含有随机数的RDD,可以按各种给定的分布模式生成数据集,
 *  Random RDDs包下现支持正态分布、泊松分布和均匀分布三种分布方式。
 *  RandomRDDs提供随机double RDDS或vector RDDS。
 *
 */
object RandomDataGeneration {
  def main(args: Array[String]): Unit = {
    Logger.getLogger("org").setLevel(Level.OFF)
    val context: SparkContext = new SparkContext("local[*]","as")
    //生成1000000个服从正态分配N(0,1)的RDD[Double],并且分布在 10 个分区中:
    val value: RDD[Double] = RandomRDDs.normalRDD(context, 3  , 10)
    println("\n生成3个服从正态分配N(0,1)的RDD[Double],并且分布在 10 个分区中:")
    value.foreach(println)
    //把生成的随机数转化成N(1,4) 正态分布:
    println("\n把生成的随机数转化成N(1,4) 正态分布:")
    value.map(_*2.0+1).foreach(println)
    //new PoissonGenerator(10)  DeveloperApi::从给定平均值的泊松分布中生成i. id样本
    println("\nnew PoissonGenerator(10)  DeveloperApi::从给定平均值的泊松分布中生成i. id样本")
    RandomRDDs.randomRDD(context,new PoissonGenerator(10),3).foreach(println)
    //mean 对数正态分布的均值。   std 对数正态分布的标准差
    println("\n LogNormalGenerator 日志正常发电机  从给定平均值和标准偏差的对数正态分布中生成i. id样本 mean 对数正态分布的均值。   std 对数正态分布的标准差")
    RandomRDDs.randomVectorRDD(context,new LogNormalGenerator(3,10),3,3).foreach(println)
    //随机数发生器 UniformGenerator
    println("\n随机数发生器 UniformGenerator")
    RandomRDDs.randomVectorRDD(context,new UniformGenerator(),3,3).foreach(println)
    //随即向量
    println("\n随即向量")
    RandomRDDs.normalVectorRDD(context,3,3,2).foreach(println)
    //七、核密度估计 Kernel density estimation
    context.stop()
  }
}

console

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
生成3个服从正态分配N(0,1)的RDD[Double],并且分布在 10 个分区中:
-0.35373417431983584
0.08598178302384593
0.4740750489407854
把生成的随机数转化成N(1,4) 正态分布:
0.2925316513603283
1.171963566047692
1.948150097881571
new PoissonGenerator(10)  DeveloperApi::从给定平均值的泊松分布中生成i. id样本
10.0
12.0
7.0
 LogNormalGenerator 日志正常发电机  从给定平均值和标准偏差的对数正态分布中生成i. id样本 mean 对数正态分布的均值。   std 对数正态分布的标准差
[0.0367669222377627,4.6106082409503808E16,779216.8291315901]
[3.5007553441866E-9,5.645306205067528E7,5.439229855535889E-5]
[42498.631127335924,0.1284557160104656,3.2290950582905076E-4]
随机数发生器 UniformGenerator
[0.46831764005261556,0.3345845687428285,0.10486705553421294]
[0.1676916244587725,0.3866835431832705,0.6019463286126845]
[0.9649502465063037,0.8057340572299397,0.5757270252429844]
随即向量
[1.4649547582512574,0.9679593927215218,0.32961163826762896]
[-0.4193476140822618,1.3142922036313631,0.8004645239760285]
[0.7018299993196735,1.5961689132458337,-1.0524051505537044]
目录
相关文章
|
1月前
tf.random
【8月更文挑战第12天】tf.random。
27 3
|
4月前
|
算法 安全 大数据
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析(二)
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析
141 0
|
4月前
|
算法 安全 数据安全/隐私保护
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析(一)
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析
292 0
|
4月前
random.random()
random.random()
43 1
|
4月前
random.choice(seq)
random.choice(seq)
24 1
|
4月前
numpy.random.rand(d0, d1, …, dn)
numpy.random.rand(d0, d1, …, dn)
31 0
|
Python
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
113 0
|
PyTorch 算法框架/工具
【PyTorch】rand/randn/randint/randperm的区别
【PyTorch】rand/randn/randint/randperm的区别
87 0
|
机器学习/深度学习 算法
随机装箱特征模型(Random Binning Feature Model)代码
在上述代码中,我们首先定义了一个名为RandomBinningFeatureModel的类,并在其__init__方法中接受一个参数num_bins,表示装箱的数量。然后,我们定义了一个名为fit_transform的方法,该方法接受原始输入数据x作为参数,并返回转换后的特征张量xb。
144 0