相关系数的值介于–1与+1之间,即–1≤r≤+1。其性质如下:

当r>0时,表示两变量正相关,r<0时,两变量为负相关。

当|r|=1时,表示两变量为完全线性相关,即为函数关系。

当r=0时,表示两变量间无线性相关关系。

当0

且|r|越接近1,两变量间线性关系越密切;

|r|越接近于0,表示两变量的线性相关越弱。

一般可按三级划分:|r|<0.4为低度线性相关;

0.4≤|r|<0.7为显著性相关;0.7≤|r|<1为高度线性相关。

1. [代码][Java]代码

package com.Social.cbra.praron2;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.logging.Logger;

/**

*

* @author larry

*

*/

public class Similarity {

static Logger logger = Logger.getLogger(Similarity.class.getName());

Maprating_map = new HashMap();

/**

* @param args

*/

public static void main(String[] args) {

Similarity similarity1 = new Similarity();

similarity1.rating_map.put("1", 434d);

similarity1.rating_map.put("2", 7d);

similarity1.rating_map.put("3", 23d);

Similarity similarity2 = new Similarity();

similarity2.rating_map.put("1", 6d);

similarity2.rating_map.put("2", 2d);

similarity2.rating_map.put("3", 6d);

logger.info("" + similarity1.getsimilarity_bydim(similarity2));

}

public double getsimilarity_bydim(Similarity u) {

double sim = 0d;

double common_items_len = 0;

double this_sum = 0d;

double u_sum = 0d;

double this_sum_sq = 0d;

double u_sum_sq = 0d;

double p_sum = 0d;

Iteratorrating_map_iterator = this.rating_map.keySet().iterator();

while(rating_map_iterator.hasNext()){http://www.huiyi8.com/flashjc/

String rating_map_iterator_key = rating_map_iterator.next();

Iteratoru_rating_map_iterator = u.rating_map.keySet().iterator();

while(u_rating_map_iterator.hasNext()){flash教程

String u_rating_map_iterator_key = u_rating_map_iterator.next();

if(rating_map_iterator_key.equals(u_rating_map_iterator_key)){

double this_grade = this.rating_map.get(rating_map_iterator_key);

double u_grade = u.rating_map.get(u_rating_map_iterator_key);

//评分求和

//平方和

//乘积和

this_sum += this_grade;

u_sum += u_grade;

this_sum_sq += Math.pow(this_grade, 2);

u_sum_sq += Math.pow(u_grade, 2);

p_sum += this_grade * u_grade;

common_items_len++;

}

}

}

//如果等于零则无相同条目,返回sim=0即可

if(common_items_len > 0){

logger.info("common_items_len:"+common_items_len);

logger.info("p_sum:"+p_sum);

logger.info("this_sum:"+this_sum);

logger.info("u_sum:"+u_sum);

double num = common_items_len * p_sum - this_sum * u_sum;

double den = Math.sqrt((common_items_len * this_sum_sq - Math.pow(this_sum, 2)) * (common_items_len * u_sum_sq - Math.pow(u_sum, 2)));

logger.info("" + num + ":" + den);

sim = (den == 0) ? 1 : num / den;

}

//如果等于零则无相同条目,返回sim=0即可

return sim;

}

}

阅读(1931) | 评论(0) | 转发(0) |

java 皮尔逊相关系数_皮尔逊相关系数的java实现相关推荐

  1. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  2. java 判断类型_如何快速入门Java编程学习(干货)

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  3. 支持java虚拟主机_为何缺乏支持Java的虚拟主机

    现在很多站长们,都青睐于香港虚拟主机建站.现在常见的是asp和PHP的程序空间很多,但是Java的少之又少,下面小编我给大家聊一聊! 一.香港Java虚拟主机成本高 使用Java程序建站,就必须要用支 ...

  4. 做Java头发少_这35个Java代码优化细节,你用了吗

    链接:https://www.jianshu.com/p/6e472304b5ac 前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有 ...

  5. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享

    我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...

  6. java编程赋值运算符_跟我学java编程—简单赋值运算符“=”

    赋值运算符是双目运算符,用在赋值表达式中.赋值运算符将值存储在运算符左边操作数指定的变量中.有两种赋值操作,简单赋值和复合赋值,简单赋值把运算符右边的操作数的值存储在运算符左边操作数指定的变量中:复合 ...

  7. java session使用_使用Neo4j和Java进行大数据分析 第2部分

    本文的第一部分介绍了Neo4j及其Cypher查询语言.如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响.您还在开发环境中安装了N ...

  8. java 异常信息_优雅的异常处理 -- Java中的异常

    处理异常自己处理 try-catch抛出让别人处理 throws 获得异常信息 直接打印异常对象 通过异常对象调用getMessage()方法获得 通过异常对象调用printStackTrace()方 ...

  9. java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点

    随社会的脚步的不断发展,Java技术在不断的与时俱进,这也是Java一直长盛不衰的原因之一.Java技术的学习,永远没有早晚之分,技不压身,对于21世纪的我们80后,90后,甚至00后,尤其适用! 那 ...

  10. java类加载过程_面试官:java类的加载过程

    Java 类加载机制 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段. 其中类加载过程包括加载.验证.准备.解析和初始化五个阶段. 类的加载 ...

最新文章

  1. Nucleus-SE迁移:未实现的设施和兼容性
  2. activity重启问题
  3. java调用matlab 数组_JAVA调用matlab程序 输入输出数据转换
  4. vscode卸载background插件_使用插件一键启用 Visual Studio Code 的毛玻璃效果
  5. ReactNative学习笔记(一)环境搭建
  6. 详细介绍Linux硬盘挂载步骤
  7. js确保正确this的几种写法
  8. XShell远程连接LInux服务器(地址端口映射方法)
  9. 15个著名的设计心理学原理以及在设计中的应用
  10. web前端开发初学者十问集锦(5)
  11. python所有软件-python
  12. 短视频去水印接口支持全网解析源码/自定义API接口
  13. 学术答辩PPT模板分享
  14. 职称论文发表时怎么选择期刊
  15. java groovy 表达式_Groovy的基础语法
  16. 全智通A+常见问题汇总解答—A+配件仓库—维修领料—编辑领料单:最后一个仓库无法显示
  17. java控制台编译_【java c#】通过控制台编译和运行程序//不依赖IDE
  18. 私密视频误发到微信群,如何避免视频扩散?
  19. 保送研究生有什么要求吗?
  20. NCJLQCJT邮件系统建设方案

热门文章

  1. 【Fiddler】启动Fiddler后访问网站显示“您的连接不是私密连接”
  2. OpenCV字符识别
  3. UVC摄像头嵌入式Linux应用
  4. guvcview调试UVC摄像头
  5. 2021 年,腾讯研发人员暴涨 41%,Go 首次超越 C++ 成为最热门语言
  6. python项目自动化部署_Jenkins+GitLab+Msbuild+Python自动化部署.Net项目
  7. jQuery 获取属性
  8. 学生用计算机的按键名称,电脑键盘操作方法 电脑键盘各键的名称及使用方法...
  9. find中的德摩根定律和条件权限perm
  10. 微信小程序,大多数人都搞错的八个问题(转)