marchine learning 之 皮尔逊相关系数

来源:互联网 发布:淘宝客佣金在哪里设置 编辑:程序博客网 时间:2024/06/06 08:30
/**皮尔逊相关系数 *ρ =(∑xy - ∑x∑y/n)/(∑x^2 - (∑x)^2/n)(∑y^2-(∑y)^2/n)^0.5 */public class PersonCorrelationCoefficient {    public double personCoefficient(Instance a,Instance b){        if (a.noAttributes() != b.noAttributes())            throw new RuntimeException("两个数据实例的属性数目不一致");        double xy =0;        double sumX = 0;        double sumY = 0;        double xTo = 0;        double yTo =0;        for (int i=0;i<a.noAttributes();i++){            xy += a.value(i) * b.value(i);            sumX += a.value(i);            sumY += b.value(i);            xTo += a.value(i) * a.value(i);            yTo += b.value(i) * b.value(i);        }        int n = a.noAttributes();        return (xy - (sumX * sumY) / n)                / Math.sqrt((xTo-(sumX * sumX)/n)*(yTo - (sumY * sumY) / n));    }}
0 0
原创粉丝点击