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();
NavigableMap<Double, Integer> map;
private static final double Constant = 1.0; public Zifp_gen(int nums, double skewness) {
// create the TreeMap
map = 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 = ;
//对每个rank,计算对应的词频,计算总词频
for (int i = ; i <= size; i++) {
//the frequency in position i
div += (Constant / Math.pow(i, skew));
}
//计算每个rank对应的y值,所以靠前rank的y值区间远比后面rank的y值区间大
double sum = ;
for (int i = ; i <= size; i++) {
double p = (Constant / Math.pow(i, skew)) / div;
sum += p;
map.put(sum, i - );
}
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(,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();
}
}
Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)的更多相关文章
- PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根 ...
- Java生成短链接
为什么要生成短链接 微博之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少. 那么使用短链接的作用有哪些呢?1.字数,2.统计,3.监控,4.过滤 ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- java 生成二维码、可带LOGO、可去白边
1.准备工作 所需jar包: JDK 1.6: commons-codec-1.11.jar core-2.2.jar javase-2.2.jar JDK 1.7: commons-codec- ...
- 使用Java生成word文档(附源码)
当我们使用Java生成word文档时,通常首先会想到iText和POI,这是因为我们习惯了使用这两种方法操作Excel,自然而然的也想使用这种生成word文档.但是当我们需要动态生成word时,通常不 ...
- springboot搭建项目,实现Java生成随机图片验证码。
这篇文章主要介绍了如何通过Java如何生成验证码并验证.验证码的作用我想必大家都知道,话不多说开始实施! 首先创建一个springboot项目以下是项目结构,内有utli工具类.存放生成图片验证码方法 ...
- JAVA生成EXCEL模板
JAVA生成excel模板,支持1.必填字段前加 红色 * 2.定义可选值下拉列表 valList3.定义名称并通过名称设置可选值 refName(名称在sheet2,sheet2自动隐藏)4.支持设 ...
- Java生成和操作Excel文件(转载)
Java生成和操作Excel文件 JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
随机推荐
- AtCoder Grand Contest 012 C:Tautonym Puzzle
题目传送门:https://agc012.contest.atcoder.jp/tasks/agc012_c 题目翻译 如果一个字符串是好的,那么这个字符串的前半部分和后半部分肯定一模一样.比如\(a ...
- 可移植的配置visual studio工程第三方库
现在编程有太多的好用的第三方库,例如 计算机视觉方面的opencv c++的扩充库boost 特殊的第三方库,相机库,通讯库等 使用这些库给我们带来了极大的便利,同时也有很多困扰.这个工程在我电脑上明 ...
- Eigen::Map
http://cherishlc.iteye.com/blog/2116800 Map类 是 矩阵库Eigen中用来将内存数据 映射为 任意形状的矩阵的类.
- react中虚拟DOM的基本概念
react中的核心概念 1.DOM的本质是什么: 浏览器中的概念,用js对象来表示页面上的元素,并提供操作DOM对象的API 2.什么事react中的虚拟DOM:是框架中的概念,是程序员用js对象来模 ...
- 删除链表中的倒数第n个元素
示例: 输入链表:1->2->3->4->5 , 2 输出:1->2->3->5 Python解决方案1: # Definition for singly-l ...
- C++ STL map使用
Map是c++的一个标准容器,它提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map构造函数:map<string , in ...
- __setitem__,__getitem,__delitem__
目录 __setitem__ __getitem__ __delitem__与__delattr__ class Foo: def __init__(self, name): self.name = ...
- pgsql如何重启
正常情况下,pgsql 停止可以执行一下命令: bin/pg_ctl stop -s -D pg_data/ -m fast 此命令和 kill -15 PID 效果相同 但是有时候 pgsql 也会 ...
- JS与JQ的对比与提高
来吧, 案例1:先上个例子js写的省市二级联动 <!DOCTYPE html><html> <head> <meta charset="UTF-8& ...
- C 语言实例 - 计算平均值
C 语言实例 - 计算平均值 C 语言实例 C 语言实例 使用数组来计算几个数的平均值. 实例 #include <stdio.h> int main() { int n, i; ], s ...