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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 接口400是什么错误_接口报500是什么错误

    接口400是什么错误_接口报500是什么错误原文地址:https://blog.csdn.net/lw1242189467/article/details/80048407首先,遇到400问题,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。该例是我前端传送JSON格式,使用postmen接收。一.发现400错误的,第一步确认postmen中发送的数据类型是json。比如Headers中Content-Type类型是application/json;或是前端代码Ajax中添加:conten

    2022年9月27日
    2
  • mysql数据库SQL查询语句SELECT详细查询(超详细)「建议收藏」

    mysql数据库SQL查询语句SELECT详细查询(超详细)「建议收藏」常规查询查询所有字段:select*from表名;查询指定字段:select列1,列2,…from表名;使用as给字段起别名:select字段as名字….from表名;查询某个表的某个字段:select表名.字段….from表名;可以通过as给表起别名:select别名.字段….from表名as别名;消除重复行:distinct字段条件查询㈠比较运算符:>,<,>=,<=,=,!=,

    2022年5月18日
    41
  • Android Studio 4.0.+NDK .so库生成打包

    Android Studio 4.0.+NDK .so库生成打包本篇博文主要讲解了使用AndroidStudio4.0.+生成.so文件详细过程,文中有通过Cmake自动生成和传统生成两种打包.so文件的方案。各方案有详细的图文介绍,保证一看就懂不学就会。对于NDK开发的进阶学习请继续阅读我的NDK系列博文。

    2022年6月21日
    38
  • 漫画大全更新了吗_所有的漫画台

    漫画大全更新了吗_所有的漫画台无会员,10万+本漫画,统统免费!!!最新最热门的免费漫画大全,最全最二次元的撸漫平台,超多正版高清彩漫尽在漫画大全APP!《斗罗大陆》《斗破苍穹》《凤逆天下》《妃夕妍雪》《穿越西元3000后》《纯情丫头火辣辣》《勇者是女孩》《龙族》《哑舍》《暴走邻家》等等,全部免费,喜欢的统统都到碗里来!!!欢迎下载使用 …

    2022年10月8日
    1
  • 怎么使用nbtscan工具一条命令扫描局域网内所有的IP及MAC

    怎么使用nbtscan工具一条命令扫描局域网内所有的IP及MAC具体操作方法:1、下载nbtscan.rar文件并解压。2、然后将解压好的cygwin1.dll和nbtscan.exe两文件拷贝到C:\WINDOWS\system32根目录下(根目录下即可);3、进入cmd窗口就可以输入命令:nbtscan192.168.X.98/24(此处的ip为扫描主机地址)。请注意:nbtscan只能用于局域网 …

    2022年10月20日
    2
  • Eclipse提示:The import java.util cannot be resolved「建议收藏」

    Eclipse提示:The import java.util cannot be resolved「建议收藏」Eclipse提示:The import java.util cannot be resolved

    2022年4月24日
    36

发表回复

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

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