java实现logistic回归算法

  • K0_765098
    了解作者
  • 1.7KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-01 10:15
    上传日期
java实现logistic回归算法 java实现logistic回归算法 java实现logistic回归算法
logistic回归算法.rar
  • logistic回归算法
  • logistc
  • Logistic.java
    1.9KB
  • Mian.java
    1.8KB
内容介绍
package logistc; import java.util.ArrayList; public class Logistic { private ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>> datas=new ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>>();//训练集 private double alph=0.001; private Double[] b;//参数向量 public Logistic(ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>> datas,ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>> test){ this.datas=datas; init(datas); } public void init(ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>> datas){//初始化参数向量 b=new Double[this.datas.get(0).size()-1]; System.out.println(b.length); for(int i=0;i<b.length;i++) { b[i]=1.0; } } public double h_theta_x_i(int j) {//预测分类函数 double c=1.0; for(int i=1;i<this.b.length;i++) { c+=this.b[i]*this.datas.get(j).get(i); } return 1.0/(1+Math.exp(0.0-c)); } public double compute_partial_derivative_for_theta(int j) {//求thetaj的偏导 double sum=0.0; for(int i=0;i<this.datas.size();i++) { sum+=(datas.get(i).get(datas.get(0).size()-1)-h_theta_x_i(i))*datas.get(i).get(j); } return sum; } public void compute_theta() { //迭代求theta for(int i=1;i<b.length;i++) { b[i]+=this.alph*compute_partial_derivative_for_theta(i); } } public void print() { int a=1000000; while(a>0) { a--; compute_theta(); System.out.print(a+"theta:"); for(int i=0;i<b.length;i++) { System.out.print(b[i]+"\t"); } System.out.println(); } } public void predect(ArrayList<arrayList<Double rel='nofollow' onclick='return false;'>> test) { int count=0; double sum=0.0; for(int i=0;i<test.size();i++) { for(int j=0;j<test.get(0).size()-1;j++) { sum+=this.b[j+1]*test.get(i).get(j); } if((1.0/(1+Math.exp(0.0-sum)))>0.5) { System.out.print(1); if(test.get(i).get((test.get(i).size()-1))==1.0) count++; } else { System.out.print(0); if(test.get(i).get((test.get(i).size()-1))==0.0) count++; } } System.out.println("正确率为:"+(double)count/test.size()*100+"%"); } }
评论
    相关推荐
    • 数学建模十大回归算法
      数学建模十大回归模型算法,精心整理,有助于提高算法分析能力。
    • 门限回归算法程序代码
      门限回归算法VB程序代码,已通过测试,可直接使用,童叟无欺,欢迎下载,谢谢。
    • Logistic回归算法
      资源包含Logistic回归算法,以及一个应用实例:预测病马死亡率。可直接执行。
    • 关于岭回归算法的论文汇总
      这个包里面涵盖了很多现在主流的一些关于岭回归的论文集合,对算法研究十分全面
    • logistic回归
      logistic回归算法,有数据和说明,程序过程清楚。
    • Logistic回归、最优化理论与算法
      Logistic回归、最优化理论与算法blog对应的代码
    • 回归直线算法
      VB版求解回归直线源码,求解最逼近的直线方程y=kx+b
    • 基于回归算法的离心泵流量控制系统.zip
      基于回归算法的离心泵流量控制系统 本文提出了基本回归模型的离心泵流量控制方案,并应用SAS软件实现了离心泵的数据采集和流量自动控制,绘出了相应曲线。在化工原理实验课的离心泵性能测试实验中证明了SAS软件的...
    • 基于回归算法 用VB生成大树.rar
      基于回归算法 用VB生成大树,曾经让作者花了两年时间才完成,运用大量已优化的回归算法,通过给定的参数,简单的进行设置,可以生成一棵大树,算法值得一看,带全套背景、生成过程中带音乐,很不错。
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档