我们有两组数据,比如连续5年的pv与uv。

我们想预测一下,uv达到500k那么pv会是多少。当然更有意思可能是,如果销售额是500w的话,pv会是多少。

机器学习里的一元线性回归方法是比较简单的方法,就是我们猜是满足y=wx+b的。

那么,按求均方误差的偏导后,可得到如下两公式:

下面是求b的公式,要用到w:

用java代码来实现一下这两公式:

package net.highersoft.svm;

import java.text.DecimalFormat;

import java.util.Arrays;

import java.util.List;

public class TestLineXY {

public static void main(String[] args) {

DecimalFormat df=new DecimalFormat("0.##");

//x pv

//y uv

List x=Arrays.asList(5,9,15,19,19,45);

List y=Arrays.asList(4,6,12,15,15,37);

/*

List x=Arrays.asList(4,6,8,10,12);

List y=Arrays.asList(7.8d,9.3d,9.9d,11.2d,11.9d);

*/

System.out.println(x+""+y);

if(x.size()!=y.size()) {

System.out.println("分子分母数量不一致。");

return;

}

long sum=0;

for(Integer xi:x) {

sum+=xi;

}

double avgx=sum*1.0/y.size();

System.out.println("avg_x:"+avgx);

//w的分子

double w_molecule=0;

for(int i=0;i

w_molecule+=y.get(i)*(x.get(i)-avgx);

//System.out.print(y.get(i)+"*("+x.get(i)+"-"+avgx+") +");

}

System.out.println();

//System.out.println("w_molecule:"+w_molecule);

//w的分母

double w_denominator=0;

int w_denominator_xi=0;

for(int i=0;i

w_denominator+=Math.pow(x.get(i),2);

w_denominator_xi+=x.get(i);

}

w_denominator=w_denominator-(1.0/x.size())*(Math.pow(w_denominator_xi,2));

//System.out.println("w_denominator:"+w_denominator+" w_denominator_xi:"+w_denominator_xi);

double w=w_molecule/w_denominator;

System.out.println("w:"+w);

double b=1.0/x.size();

double sum_y_wx=0;

for(int i=0;i

sum_y_wx+=(y.get(i)-w*x.get(i));

}

b=b*sum_y_wx;

System.out.println("b:"+b);

String symbol="+";

if(b<0) {

symbol="";

}

System.out.println("y="+df.format(w)+"x"+symbol+df.format(b));

System.out.println(w*15+b);

}

}

评论:

提交

JAVA一元线性回归法_一元线性回归的java实现相关推荐

  1. java 基础 笔试题_非常全面的java基础笔试题

    1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...

  2. java list e 查找_源码(04) -- java.util.ListE

    java.util.List 源码分析(JDK1.7) ------------------------------------------------------------------------ ...

  3. java我的世界_我的世界Java版

    我的世界Java迎来了新玩法新版本,更加自由好玩的沙盒世界,一场非对称性的竞技战斗环节,玩家可以自由发挥,在这里玩家就是世界的主宰.在偌大的沙盒世界里,玩家可以根据自己的需求进行建造.体验建造.守卫和 ...

  4. 李兴华java视频在线观看_李兴华Java开发实战经典视频教程_IT教程网

    资源名称:李兴华Java开发实战经典视频教程 资源目录: [IT教程网]010201_[第2章:简单Java程序]_简单Java程序 [IT教程网]010301_[第3章:Java基础程序设计]_Ja ...

  5. 李兴华java实战经典视频_李兴华Java开发实战经典视频教程

    资源名称:李兴华Java开发实战经典视频教程 资源目录:[一品资源网]010201_[第2章:简单Java程序]_简单Java程序[一品资源网]010301_[第3章:Java基础程序设计]_Java ...

  6. java中char类型_【考点】JAVA中的char类型

    写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...

  7. java面试32问_学员分享:JAVA面试32问(11-20)

    第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;有错,s1是shor ...

  8. java下拉菜单_薪资对比:Java开发和web前端薪资哪个好

    Web前端开发和Java开发哪个薪资更高,Web前端开发和Java开发发展前景更好? 互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了 ...

  9. java为什么被开发者_为什么开发者对Java 9如此的兴奋

    随着标准 Java 的版本更新,开发者总是可以从升级后的版本中获取想要的功能.那么 Java 9 的发布为什么会让开发者如此的兴奋?下面列出了一些主要原因: 1.模块化的源代码 JDK 源代码将以模块 ...

  10. java主要内存区域_可能是把Java内存区域讲的最清楚的一篇文章

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄 ...

最新文章

  1. java 静态内部类
  2. python整型为空的情况_深度剖析凭什么python中整型不会溢出
  3. c语言memset函数作用,详解C语言中的memset()函数
  4. 前端验证的Ajax框架——myAjax.js
  5. android 自定义输入法布局,Android 输入法详解
  6. AI嘻哈写歌词软件总结
  7. 双向链表、双向循环链表
  8. ObjectARX动态添加AutoCAD传统下拉菜单入门篇(一)
  9. 希尔密码(原理+代码)
  10. 计算机职称英浯单词背记 app,8款经典背单词软件 帮你轻松过英语6级
  11. Win10 删除 微软输入法
  12. [VN2020 公开赛]simpleHeap-记录一次gef调试过程
  13. 精挑细选的良心APP,每款都非常惊艳
  14. 计算数据的经验分布函数与MATLAB作图
  15. 【项目】问答系统-代码-后台
  16. 利用python进行身份证号码大全_2分钟就能学会的3个函数,快速从身份证中提取出生日期、年龄...
  17. 2020年机械员-岗位技能(机械员)考试及机械员-岗位技能(机械员)考试资料
  18. CentOS7安装guacamole
  19. ip68能达到什么程度防水_运动达到什么程度才能达到减肥健身的效果?
  20. Python 入门指南第二节 | 使用 Python 解释器

热门文章

  1. 中兴设备交换机路由器清除清理指定接口计数的统计信息命令
  2. linux启动报错23修复
  3. 惠普T5325 惠普T5565 惠普T5400 瘦客机评测
  4. Ruby On Rails简介
  5. oozie中管理datax脚本方法实践
  6. 分享100个好看且实用的JavaScript特效
  7. SPSS教程-t检验怎么做?
  8. MATLAB在线网页链接使用
  9. 中职学校计算机专业课程设置,中职学校计算机专业课程设置的几点思考
  10. 2021年安全生产模拟考试(建筑安全员A证-企业负责人模拟考试题库)安考星