栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android Java实现余弦匹配算法示例代码

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Java实现余弦匹配算法示例代码

 Java实现余弦匹配算法

最近在做一个通讯交友的项目,项目中有一个这样的需求,通过用户的兴趣爱好,为用户寻找推荐兴趣相近的好友。其实思路好简单,把用户的兴趣爱好和其他用户的兴趣爱好进行一个匹配,当他们的爱好相似度比较高的时候就给双方进行推荐。那么如何进行比较是一个问题,其实我们可以通过余弦匹配算法来对用户的兴趣爱好进行比较,根据计算出来的值来得到一个兴趣爱好相近好友列表,并进行排序。

因为我做的项目是Android端的,所以算法是通过Java实现的,废话不过多说了,下面是算法的实现:

package com; 
 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
 
 
public class SimilarDegreeByCos { 
   
    
   public static double getSimilarDegree(String str1, String str2)  
   {  
    //创建向量空间模型,使用map实现,主键为词项,值为长度为2的数组,存放着对应词项在字符串中的出现次数  
     Map vectorSpace = new HashMap();  
     int[] itemCountArray = null;//为了避免频繁产生局部变量,所以将itemCountArray声明在此  

     //以空格为分隔符,分解字符串  
     String strArray[] = str1.split(" ");  
     for(int i=0; i

效果:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/160495.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号