Mahout-Pearson correlation的实现

原创 2015年07月07日 19:59:21

计算公式:
这里写图片描述
并通过下面代码对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);

}

}
`

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Pearson correlation

Pearson product-moment correlation coefficient in java(java的简单相关系数算法)

是使用Java语言实现的简单的CORR(correlation coefficient,相关系数)。 在统计学中,皮尔逊积矩相关系数(英语:Pearson product-moment correl...

相关性检验之Pearson系数及python实现

皮尔森相关系数是用来反应俩变量之间相似程度的统计量,在机器学习中可以用来计算特征与类别间的相似度,即可判断所提取到的特征和类别是正相关、负相关还是没有相关程度。

统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现

统计相关系数简介     由于使用的统计相关系数比较频繁,所以这里就利用几篇文章简单介绍一下这些系数。   相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度。   如果有两...

统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现

统计相关系数简介     由于使用的统计相关系数比较频繁,所以这里就利用几篇文章简单介绍一下这些系数。   相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度...

统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现

统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现 标签: matlabfunction 2010-07-11 18:45 82823人阅读 评论(9) 收藏 举报 ...
  • crcr
  • crcr
  • 2017-02-28 14:13
  • 2773

Eclipse下mahout实现推荐的简单实例

环境:ubuntu下的eclipse 数据准备:test.txt 第一列为UserID ,第二列为ItemID,第三列为Preference Value 即评分 1,101,5 1,102,3...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)