Mahout-Pearson correlation的实现

Mahout-Pearson correlation的实现

大家好,又见面了,我是全栈君。

计算公式:
这里写图片描写叙述
并通过以下代码对Mahout in Action的结果进行了验证:
这里写图片描写叙述
代码例如以下:
`
package com.example.mahout;

public class TestColl {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    //int a[]={68,71,62,75,58,60,67,68,71,69,68,67,63,62,60,63,65,67,63,61};
    //double b[] ={4.1,4.6,3.8,4.4,3.2,3.1,3.8,4.1,4.3,3.7,3.5,3.2,3.7,3.3,3.4,4.0,4.1,3.8,3.4,3.6};
    double a[]={5,3.0,2.5};
    double b[]={4,3,2.0};

    int i,j;
    double sum_a=0,sum_b=0,sum_XY=0,sum_X=0,sum_Y=0,sum_X2=0,sum_Y2=0;
    double  mean_a,var_a,mean_b,var_b;
    for(i=0;i<a.length;i++){
        sum_a+=a[i];
        sum_b+=b[i];
        sum_XY+=a[i]*b[i];
        sum_X2+=a[i]*a[i];
        sum_Y2+=b[i]*b[i];
    }

    mean_a = sum_a/a.length;
    mean_b = sum_b/b.length;
    System.out.println("sum_a:"+sum_a);
    System.out.println("sum_b:"+sum_b);
    System.out.println("mean_a:"+mean_a);
    System.out.println("mean_b:"+mean_b);
    sum_X=sum_a;
    sum_Y = sum_b;

    sum_a=sum_b=0;
    for(i=0;i<a.length;i++){
        sum_a+=(a[i]-mean_a)*(a[i]-mean_a);
        sum_b+=(b[i]-mean_b)*(b[i]-mean_b);
    }
    var_a=sum_a/(a.length-1);
    var_b=sum_b/(a.length-1);
    System.out.println("var_a:"+var_a);
    System.out.println("var_b:"+var_b);
    System.out.println("sum_XY:"+sum_XY);
    System.out.println("sum_X:"+sum_X);
    System.out.println("sum_X2:"+sum_X2);
    System.out.println("sum_Y2:"+sum_Y2);
    double r_up = a.length*sum_XY-sum_X*sum_Y;
    double r_down = Math.sqrt((a.length*sum_X2-sum_X*sum_X)*(a.length*sum_Y2-sum_Y*sum_Y));
    double r=r_up/r_down;

    System.out.println("r_up:"+r_up);
    System.out.println("r_down:"+r_down);
    System.out.println("r:"+r);

}

}
`

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116278.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java基础之增强型for循环

    Java基础之增强型for循环目录增强型for循环语法:for(ElementTypeelement:arrayName){};增强for循环的原理增强型for循环注意事项增强型for循环语法:for(ElementTypeelement:arrayName){};举个例子:(1)int[]numArray={1,2,3,4,5,6};for(inti:numArray…

    2022年6月17日
    41
  • JS定时器是什么「建议收藏」

    JS定时器是什么「建议收藏」很多人都会遇到图片的轮播效果,并且两分钟播放一下,这时候就会需要定时器,那么js定时器是什么?下面我们来讲解一下js定时器使用方法。1.js定时器是什么js定时器是利用js实现定时的一种方法,在网

    2022年7月3日
    23
  • linux fsync实例,Python os.fsync()方法「建议收藏」

    linux fsync实例,Python os.fsync()方法「建议收藏」Python的os.fsync()方法返回强制将文件描述符fd写入磁盘。如果使用Python文件对象f,首先要执行f.flush(),然后执行os.fsync(f.fileno()),以确保与f关联的所有内部缓冲区都被写入磁盘。语法以下是fsync()方法的语法-os.fsync(fd)参数fd−这是缓冲区同步的文件描述符(必需的)。返回值此方法没有返回值。示例以下示例显示了fsync()…

    2022年5月31日
    79
  • java单例模式有什么用_java单例模式代码实现

    java单例模式有什么用_java单例模式代码实现Java的单例实现方式经典:懒汉式、饿汉式、双重检测锁关键:私有化构造方法通过方法去获取单例对象懒汉(调用时再去初始化)、饿汉(直接初始化)Demo://饿汉式publicclassDemo1{privatestaticDemo1demo1=newDemo1();privateDemo1(){sout(“初始化”);}publicstaticDemo1getInstance(){returndemo1;}

    2022年8月11日
    3
  • 微信支付_微信分付怎么借钱出来

    微信支付_微信分付怎么借钱出来微信支付

    2022年4月20日
    54
  • c语言findwindow函数_findwindow函数

    c语言findwindow函数_findwindow函数转自:http://blog.csdn.net/coolszy/article/details/5523486[DllImport(“User32.dll”,EntryPoint=”FindWindow”)]句柄,是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的指针,程序不能利用句柄来…

    2022年8月13日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号