随机数生成 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]
目录
相关文章
|
存储 关系型数据库 MySQL
Linux的dev/vda1文件满了导致MySQL无法写入
今天查看两个月前上线的小项目,发现运行非常慢,而且增删改查失效了(吓我一大跳),急急忙忙的就开始了我的线上问题排查之路。/dev/vda1是 Linux 系统中的一个设备文件,它表示第一个虚拟磁盘(vda)的第一个分区(1)。在大多数 Linux 发行版中,这是系统根分区的默认位置。如果您要对/dev/vda1进行操作(例如挂载、格式化、备份等),则需要具有足够的权限。一般来说,只有 root 用户或具有 sudo 权限的用户才能进行这些操作。当Linux的/dev/vda1。
837 0
|
机器学习/深度学习 人工智能 自然语言处理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
|
弹性计算 容器 RDMA
在Kubernetes上使用RDMA
### RDMA RDMA(全称RemoteDirect Memory Access) 它为了解决网络传输中服务器端数据处理的延迟而产生。 它的原理是将待传输的数据从一台计算机的内存,直接传输到另一台计算机的内存,整个传输过程无需操作系统和协议栈的介入。
10073 0
|
8月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
569 2
|
7月前
|
存储 数据可视化 搜索推荐
「从0到1搭建知识库:设计团队的效率革命」
在快节奏的设计行业中,团队协作的效率和质量至关重要。本文探讨了如何通过搭建高效的设计团队知识库解决信息分散、规范不统一等问题,提升团队协同效率。内容涵盖知识库的核心价值、常见痛点、搭建方法、运营策略及未来趋势,帮助团队实现从混乱到高效的转变。知识库不仅能统一设计规范、沉淀最佳实践,还能提高新人上手速度。文章还介绍了内容框架设计、流程化管理、工具赋能等黄金方法论,并展望了智能化与场景化的未来趋势。
400 10
|
7月前
|
人工智能 vr&ar DataX
二叉树
本文介绍了树和二叉树的基本概念、表示方法及其应用。首先,树是一种非线性结构,通过根节点展开,常用孩子兄弟表示法实现。接着,二叉树作为特殊的树,每个节点最多有两个子节点,分为不完全、完全和满二叉树。文中还详细讲解了堆的创建与应用,包括小堆和大堆,并展示了堆排序及Top-K问题的解决方法。最后,介绍了二叉树的创建、遍历(前序、中序、后序、层序)及一些常见操作(如查找、计算高度等),并结合LeetCode题目实例,如对称二叉树、子树判断、平衡二叉树和翻转二叉树,深入探讨了二叉树的应用场景和解题思路。
|
算法 NoSQL 关系型数据库
九种分布式ID解决方案
在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对一个订单表进行了分库分表操作,这时候数据库的自增ID显然不能作为某个订单的唯一标识。除此之外还有其他分布式场景对分布式ID的一些要求:
1254 0
|
9月前
|
存储 人工智能 缓存
代理IP:AI内容创作与电商领域的隐形推手
在数字化时代,AI技术正迅速渗透到各个行业,特别是在内容创作和电商领域。代理IP技术作为重要工具,通过隐藏真实IP、突破访问限制和加速数据访问等方式,助力AI技术在内容创作和电商中发挥更大作用。本文将探讨代理IP如何在这些领域中提升数据处理能力和网络安全性,推动AI技术的深度应用。
159 0
|
存储 人工智能 缓存
程序员应该学习的 10 件事(完整版)
程序员应该学习的 10 件事(完整版)
211 2
|
API 开发者
1688阿里巴巴中国站平台 API接口获取商品详情 接入文档说明
1688(阿里巴巴批发网)的API接入文档是专为开发者提供的,用于指导如何集成和使用1688平台提供的API接口。这些API接口可以帮助开发者实现各种功能,如商品搜索、订单管理、用户认证等。