• 大小: 3KB
    文件类型: .java
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: Java
  • 标签: 相似度  Java  

资源简介

使用Java 语言,实现了皮尔森和余弦相似度公式,供大家参考。

资源截图

代码片段和文件信息

/**
*class similarity提供将要比较相似的的向量放到二维数组中,
×然后计算向量直接的 皮尔森pearson,和余弦相似度的计算。
×
×@author fengsushi
*/
public class similarity {
public similarity(){System.out.println(“similarity has run!!“);}

 //static int[][] uiarray={{554113}{544111}{444113}{154123}{453222}{214153}};
 //static int row=6;
// static int clo=6;
 //static double[][] uiarray={{3.881.5}{3.6333347.291651.3125}{3.871}{3.8083346.6251.625}};
// static int row=4;
 //static int clo=3;

 //static int[][] uiarray={{2111211212}{5454545454}{4534554453}{2122112212}};
 //static int row=4;
 //static int clo=10;
private  int[][] uiarray={{554113}{445224}{544111}{453123}{534141}};//存放要比较相似度的向量
private int row=5;//uiarray数组的行列数
private int clo=6;

 private double av[]=new double[row];//存放uiarray中每个向量的平均值
 private double wei_pearson[]=new double[row];//存放相似度计算结果,即用pearson公式生成的用户之间的相似度similarity。
 private double wei_consin[]=new double[row];//存放相似度计算结果,即用余弦公式生成的用户之间的相似度similarity。
 
 
 /*
 *用pearson公式计算向量之间的相似度
 */
public void pearson(){

//求每个人的平均值
for(int i=0;i float avi=0;//存放每个向量各个元素的平均值
float sumrate=0;//存放向量各个元素的和

  for(int j=0;j  sumrate+=uiarray[i][j];   
           }
avi=sumrate/clo;
av[i]=avi;
System.out.print(“第“+(i+1)+“:“+av[i]);
       } 
System.out.println();
System.out.println(“pearson:“);
for(int i=0;i  double sum1=0;
 double sum2=0;
 double sum3=0;
 double sum33=0;
 double sumji=0;
  for(int j

评论

共有 条评论