logo资料库

最小最大规范化、 小数定标、z_score规范化算法.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
数据挖掘实验报告 ——最小最大规范化、 小数定标、z_score 规范化算法 指导老师:刘建伟 学院:理学院 班级:091001 学号:091001106 姓名:马昊
数据挖掘实验报告 ——最 小 最 大 规 范 化 、小 数 定 标 、 z_score 规范化算法 一、实验目的 1.加强对最小最大规范化、小数定标、z_score 规范化算法的理解; 2.锻炼分析问题、解决问题并动手实践的能力; 二、实验原理 最小最大规范化:支持向量回归会发现,归一化之后的预测结果 和 没有归一化之后的预测精度很不一样。所以归一化是重要的。归 一化 的方法有很多,一般用最小最大值规范化的情况比较多. 小数定标:表示小数可采用数的定标来实现。 z_score 规范化:提供这个函数也是用来对 pls 数据进行预处理 的,即归一化的。其实 zscore 的原理很简单,就是原数据减去均值, 再除以标准差就可以了 执行代码就是 z = (x–mean(x))./std(x) 三、实验内容 运用 java 编程语言实现求最小最大规范化、小数定标、z_score 规范化的算法。 四、源代码 package com.zz.rule;
import java.util.Iterator; import java.util.List; import java.util.Collections; public class Rule { //最小最大规范化 public static double min_max(double min,double max,double v,double new_max,double new_min){ double newv = 0; newv = (v-min)*(new_max-new_min)/(max-min)+new_min; return newv; } //z-score 规范化 static public double z_score(double avg,double standardmin,double v){ double newv = 0; newv = (v - avg)/standardmin; return newv; } //小数定标 public static double point(double min,double max, int v){ double minabs = Math.abs(min); double maxabs = Math.abs(max);
double absmax = minabs>=maxabs?minabs:maxabs; double newv = 0; int i = 0; for(int j = 0;;j++){ if(absmax/(Math.pow(10,j))<1){ i = j; break; } } newv = (v/Math.pow(10, i)); return newv; } //求标准差 public static double standard(List list){ double standardmin = 0; double powsum = 0; double sum = 0; double mean = 0; for(Iterator ite = list.iterator();ite.hasNext();){ sum+=ite.next(); } mean = sum/list.size(); for(Iterator it = list.iterator();it.hasNext();){ double d = it.next();
powsum += Math.pow(d-mean,2); } standardmin = Math.sqrt(powsum); return standardmin; } public static void main(String[] args){ double v = min_max(12000, 98000, 73600, 1.0, 0); System.out.println("最小最大规范化:"); System.out.println(v); v = point(-986,917,-986); System.out.println("小数定标:"); System.out.println(v); v = z_score(54000, 16000, 73600); System.out.println("z_score 规范化:"); System.out.println(v); } } 实验结果 最小最大规范化:0.7162790697674418
小数定标: -0.986 z_score规范化: 1.225 五、实验总结 通过本次实验,我了解了java最小最大规范化、小数定标、z_score 规范化的算法,更加深入的学习到了java的应用方法。
分享到:
收藏