特征选取relief算法
来源:互联网 发布:excel怎么剔除重复数据 编辑:程序博客网 时间:2024/05/21 17:53
摘录的一个特征选取relief算法的一段java代码,还是讲的很清晰的
样本点之间的距离用欧氏距离来实现
原文链接:
http://blog.csdn.net/nma_123456/article/details/51490637
/** * 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++){ //随机抽取样本R Random random = new Random(); int R_index = random.nextInt(width); double[] R = new double[width]; for(int index = 0; index < width; index++){ R[index] = matrix[R_index][index]; } //计算出距离样本R最近的样本和最远的样本 double maxvalue = 0.0; double minvalue = 0.0; int maxrow = 0; int minrow = 0; double distince = 0.0; for(int len = 0; len < length; len++){ if(len != R_index){ for(int wid = 0; wid < width; wid++){ distince += Math.pow(R[wid]-matrix[len][wid], 2); } distince = Math.sqrt(distince); if(len == 0){ maxvalue = distince; minvalue = distince; } if(distince > maxvalue){ maxvalue = distince; maxrow = len; } if(distince < minvalue){ minvalue = distince; minrow = len; } } } // 得到了距离最近(minrow)和距离最远(maxrow)两个样本数据 int H_index = minrow; double[] H = new double[width]; for (int index = 0; index < width; index++) { H[index] = matrix[H_index][index]; } int M_index = maxrow; double[] M = new double[width]; for(int index = 0; index < width; index++){ M[index] = matrix[M_index][index]; } //relief计算权重 for(int j = 0; j < n_vars; j++){ weight[j] = weight[j]-(Math.abs(R[j]-H[j])/(max[j]-min[j]))/m + (Math.abs(R[j]-M[j])/(max[j]-min[j]))/m; } } for(int i = 0; i < width; i++){ System.out.println(weight[i]); } }
阅读全文
1 0
- 特征选取relief算法
- 特征选择算法-Relief
- 特征选择算法-Relief(转)
- 特征选择算法-Relief(转)
- Relief 特征选择算法简单介绍
- 特征选择之relief及reliefF算法
- relief算法
- 特征选取
- 特征选取
- 特征选取
- 特征选取
- Relief算法应用
- relief算法研究
- 西瓜书《机器学习》课后答案——chapter11_11.1 Relief特征选择算法
- RELIEF Feature Selection(RELIEF特征选择) Python实现
- 推荐算法之特征选取和业务理解的重要性
- 支持向量机的一种特征选取算法
- relief
- Python常用函数
- static 作用总结
- C语言学习:简单了解下stdlib中的字符串转换函数
- hdu5352城市重建 (km,最大流,费用流)
- [BZOJ2238]填表格
- 特征选取relief算法
- Nginx系列—location总结及rewrite规则写法
- Vases and Flowers HDU
- AlarmManager实现闹钟
- java集合TreeMap使用自然排序,定制排序
- 最大子段和的拓展
- 分数化小数 (decimal) 算法竞赛入门经典 第二版 习题 2-5
- 分拆素数和
- 谭爷的黑暗沙拉 UESTC