packagecom.zjanalyse.spark.maths;importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importorg.ujmp.core.DenseMatrix;importorg.ujmp.core.Matrix;public classLastSquare {/*** y=ax+b a(0,1] b[5,20] x[0,500] y>=5*/
public static voidmain(String[] args) {//y= 0.8d*x+15//当x不变动时,y对应有多个值;此时把y求均值。
List samples = new ArrayList();
samples.add(new Sample(0.8d * 11 + 15 + 1, 11d));
samples.add(new Sample(0.8d * 24 + 15 + 0.8, 24d));
samples.add(new Sample(0.8d * 33 + 15 + 0.7, 33d));
samples.add(new Sample(0.8d * 24 + 15 + 0.4, 24d));
samples.add(new Sample(0.8d * 47 + 15 + 0.3, 47d));
samples.add(new Sample(0.8d * 60 + 15 + 0.4, 60d));
samples.add(new Sample(0.8d * 14 + 15 + 0.2, 14d));
samples.add(new Sample(0.8d * 57 + 15 + 0.3, 57d));
samples.add(new Sample(0.8d * 70 + 60 + 0.3, 70d));
samples.add(new Sample(0.8d * 80 + 60 + 0.3, 80d));
samples.add(new Sample(0.8d * 40 + 30 + 0.3, 40d));
sortSample(samples);
System.out.println("原始样本数据");for(Sample sample : samples) {
System.out.println(sample);
}
System.out.println("开始“所有点”通过“业务数据取值范围”剔除:");//按照业务过滤。。。
filterByBusiness(samples);
System.out.println("结束“所有点”通过“业务数据取值范围”剔除:");for(Sample sample : samples) {
System.out.println(sample);
}int sampleCount =samples.size();int fetureCout = 2;
System.out.println("第一次拟合。。。&