不多说直接贴代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
//File file = new File("D:/iris2.txt");
//D:\GD\WC\part-r-00000
public class smote {
public void test(String pathname) throws Exception {
int num_k = 8; // 参数一,SMOTE过程中使用的k近邻
int num_feature = 4; // 参数二,特征的个数
int num_rate = 5; // 参数三,过采样倍率
double[][] min_orignal = new double[100][num_feature]; // 生成指定列数的数组
int len = 0; // 计数一共有多少个少数类样本点
// String pathname = "D:\\GD\\WC\\part-r-00000"; //
// 绝对路径或相对路径都可以,写入文件时演示相对路径,读取以上路径的input.txt文件
// 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw;
// 不关闭文件会导致资源的泄露,读写文件都同理
// Java7的try-wi