package com.relief.algorithm;
import java.util.Random;
import java.util.Set;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Relief {
public Relief(){
}
public double[][] matrix;
public int length;
public int width;
public double[] weight;
//样本抽样次数
public int m;
//样本数量
public int k;
public int n_vars;
/**
* relief算法
*/
public void relief(){
matrix = new double[length][width];
//将样本数据赋值到matrix中
//权重值全部置为0
weight = new double[n_vars];
for(int i = 0; i < n_vars; i++){
weight[i] = 0.0;
}
//属性的最大值和最小值
double[] max = new double[n_vars];
double[] min = new double[n_vars];
for(int i = 0; i < width; i++){
for(int j = 0; j < length; j++){
double d = matrix[j][i];
if(d > max[i]){
max[i] = d;
}
if(d < min[i]){
min[i] = d;
}
}
}
//随机抽样m次
for(int i = 0; i < m; i++){