资源简介

JAVA数据预处理中的等宽和等频分箱操作源代码

资源截图

代码片段和文件信息

package splitData;

import java.util.Random;
import java.util.Scanner;
import java.math.*;

public class SplitData {
public int[] createData(int num){
int[] data = new int[num];
Random rand = new Random(47);
//System.out.print(“分箱数据:“);
for(int i = 0; i < num; i ++){
data[i] = rand.nextInt(1000);
//System.out.print(data[i] + “ “);
}

return data;
}
public void splitByWidth(int dataCount int dataWidth){
//调用createData生成数据
int[] datas = createData(dataCount);
for(int j:datas){
System.out.print(j + “ “);
}
System.out.println();
System.out.println(“数据生成完毕“);
//开始排序算法(冒泡)
int temp = 0;
for (int i = datas.length - 1; i > 0; --i) {
for (int j = 0; j < i; ++j) {
if (datas[j + 1] < datas[j]) {
temp = datas[j];
datas[j] = datas[j + 1];
datas[j + 1] = temp;
}
}
}
//冒泡完毕
for(int j:datas){
System.out.print(j + “ “);
}
System.out.println();
System.out.println(“数据整理完毕“);
int count = (datas[datas.length-1] - datas[0])/dataWidth + 1;
System.out.println(“一共可以分箱的数目为: “ + count + “个“);
for(int i = 0; i < count; i++){
System.out.println(“分箱“ + (i+1) + “:“);
for(int j = 0; j < datas.length ; j++ ){
if(datas[j] >= (datas[0] + i*dataWidth) && datas[j] < (datas[0] + (i + 1)*dataWidth)){
System.out.print(datas[j] + “ “);
}
}
System.out.println();
}
}

public void splitByFrequent(int dataCount int dataFreq) {
// 调用createData生成数据
int[] datas = createData(dataCount);
for (int j : datas) {
System.out.print(j + “ “);
}
System.out.println();
System.out.println(“数据生成完毕“);
// 开始排序算法(冒泡)
int temp = 0;
for (int i = datas.length - 1; i > 0; --i) {
for (int j = 0; j < i; ++j) {
if (datas[j + 1] < datas[j]) {
temp = datas[j];

评论

共有 条评论