Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)
1.代码
import java.io.Serializable; import java.util.NavigableMap; import java.util.Random; import java.util.TreeMap;public class Zifp_gen implements Serializable {private Random random = new Random(0);NavigableMap<Double, Integer> map;private static final double Constant = 1.0;public Zifp_gen(int nums, double skewness) {// create the TreeMapmap = computeMap(nums, skewness);}//size为rank个数,skew为数据倾斜程度, 取值为0表示数据无倾斜,取值越大倾斜程度越高private static NavigableMap<Double, Integer> computeMap(int size, double skew) {NavigableMap<Double, Integer> map =new TreeMap<Double, Integer>();//总频率double div = 0;//对每个rank,计算对应的词频,计算总词频for (int i = 1; i <= size; i++) {//the frequency in position idiv += (Constant / Math.pow(i, skew));}//计算每个rank对应的y值,所以靠前rank的y值区间远比后面rank的y值区间大double sum = 0;for (int i = 1; i <= size; i++) {double p = (Constant / Math.pow(i, skew)) / div;sum += p;map.put(sum, i - 1);}return map;}// public int next() { // [1,n] // double value = random.nextDouble(); // //找最近y值对应的rank // return map.ceilingEntry(value).getValue() + 1; // } }
2.test
import java.util.NavigableMap;public class Test {public static void main(String args[]){Zifp_gen z1=new Zifp_gen(100,1.0);for (NavigableMap.Entry<Double, Integer> entry : z1.map.entrySet()) {System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());}}}
原Zipf齐夫分布及Java实现
zipf数据写入外部文本
public class Test {public static void main(String args[]) throws IOException{Zifp_gen z1=new Zifp_gen(100,0.5);PrintWriter pw=new PrintWriter(new FileWriter("F:\\zipf_100_0.5.txt"));for (NavigableMap.Entry<Double, Integer> entry : z1.map.entrySet()) {// System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());// String str="Key = " + entry.getKey() + ", Value = " + entry.getValue();String str= entry.getKey() + " " ;pw.println(str);}pw.close();}}
转载于:https://www.cnblogs.com/moonlightml/p/9982240.html
Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)相关推荐
- 采用蒙特卡罗方法生成zipf分布随机数据
#include <stdlib.h> #include <math.h> #include <sys/time.h> #include<stdio.h> ...
- java生成二维码,自定义宽高和边框大小
下面封装的两个方法, url地址是http://开头的要不然浏览器没办法直接跳转 宽高都是一个数 wh 边框 margin 0是没有边框 ,1是最小边框 返回值 BufferedImage 类型的数据 ...
- 使用Java反射(Reflect)、自定义注解(Customer Annotation)生成简单SQL语句
使用Java反射(Reflect).自定义注解(Customer Annotation)生成简单SQL语句 这次给大家介绍一下在Java开发过程中 使用自定义注解开发: 主要知识点: ...
- R语言使用rnorm函数基于不同的均值、方差参数生成正太分布的随机数、使用plot函数和density函数可视化正太分布的随机数对应的密度图、自定义设置均值和方差
R语言使用rnorm函数基于不同的均值.方差参数生成正太分布的随机数.使用plot函数和density函数可视化正太分布的随机数对应的密度图.自定义设置均值和方差(Normal distributio ...
- Java自定义导出列_后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...
- java 生成 pdf html转pdf 支持 中文 自定义模板
java 生成pdf DEMO 开发过程中遇到的坑 /** * 切记 css 要定义在head 里,否则解析失败 * css 要定义字体 * 字体中英文 https://www.cnblogs.com ...
- java生成指数分布随机数_生成特定分布随机数的方法
生成随机数是程序设计里常见的需求.一般的编程语言都会自带一个随机数生成函数,用于生成服从均匀分布的随机数.不过有时需要生成服从其它分布的随机数,例如高斯分布或指数分布等.有些编程语言已经有比较完善的实 ...
- java生成skp缩略图,目录下SketchUp文件联系表(自定义尺寸的缩略图集)怎样制作?...
百度 '批量生成skp缩略图jpg图片-ruby代码' 批量生成Skp缩略图Jpg图片-Ruby代码 渲染·后期·输出 BY SKETCHUP 不需要装什么软件, 草图大师SketchUp文件的缩略图 ...
- JAVA动态生成excel模板;列自定义下拉框赋值
哈喽,2023大家开工大吉啊!财源滚滚! 业务需求:需要生成excel模板,且对部分列设置下拉框,进行动态赋值,效果如下: 拿上图举例:针对省这一列,不是填写,而是选择数据,也就是说我们生成excel ...
最新文章
- 【bzoj3524】Couriers——主席树
- 菜鸟教程python3-Python3 简介
- Ubuntu 20.04 E:无法找到软件包python-pip 安装python2.7
- JAVASCRIPT常用20种小技巧汇总
- centos7登陆mysql_Centos7安装Myql8.0并授权登录
- MYSQL常用查询函数
- 记 * 恢复ext4硬盘的数据
- 通过注册表永久禁用系统UAC功能
- 机器学习:AI数据集划分(训练集、验证集、测试集)
- Unity-CharacterController(角色控制器)
- h5 个推厂商消息 离线消息推送
- TGRS2020/云检测:Deep Matting for Cloud Detection in Remote Sensing Images深度抠图在遥感图像云检测中的应用
- 【单片机毕业设计】【mcuclub-jj-010】基于单片机的饮水机的设计
- 拨开迷雾 看见vivo穿越周期的秘密
- python 生成word表格(合并单元格)
- matlab去除图像背景,从图像中移除背景(首选MATLAB、Java或Python)
- 正态分布,最大值是多少,就是两边的极值?
- python培训实习报告
- BZOJ 5010: [Fjoi2017]矩阵填数
- 软考之计算机系统基础知识
热门文章
- centos 6 尝鲜纪实 - PH67A/P67A 主板安装
- 如何给网站安装SSL证书?
- UtoVR Player免费360VR视频播放器
- 辐射到达遥感探测器的各种路径
- 为什么“false == []”和“false == ![]”都返回true?
- 安装win 11 需要跳过检测所需替换appraiserres.dll文件
- 使用hiredis存储数组元素
- 2021.11.3SpaceWar
- SpringBoot系统整理|基础篇|黑马视频
- python面试大全 萧井陌_有多少人按@萧井陌大神给出的Python+Flask路线找到工作了?...