基于Hadoop的好友推荐系统项目综述

一、好友推荐系统项目概述

1、项目介绍

该系统利用基于密度的新型聚类算法,对给定用户基于好友推荐。本系统的开发IDE采用eclipse,使用maven构建项目,数据库选用Mysql,后台技术采用Struts2+Hibernate+Spring的架构,前端使用Easyui+Ajax的技术实现前后端的数据交互,算法的主要计算任务用Hadoop Mapreduce来完成。综合来说,本系统面临的主要挑战如下:

  • 如何用MapReduce来实现聚类算法;
  • 如何使用JavaWeb技术实现Hadoop任务的远程提交;
  • 如何实现Hadoop任务的实时监控

2、项目采用的用户数据源

本此项目的用户数据源样例如下:

<row Id="-1" Reputation="9" CreationDate="2010-07-28T16:38:27.683" DisplayName="Community" EmailHash="a007be5a61f6aa8f3e85ae2fc18dd66e" LastAccessDate="2010-07-28T16:38:27.683" Location="on the server farm" AboutMe="&lt;p&gt;Hi, I'm not really a person.&lt;/p&gt;&#xD;&#xA;&lt;p&gt;I'm a background process that helps keep this site clean!&lt;/p&gt;&#xD;&#xA;&lt;p&gt;I do things like&lt;/p&gt;&#xD;&#xA;&lt;ul&gt;&#xD;&#xA;&lt;li&gt;Randomly poke old unanswered questions every hour so they get some attention&lt;/li&gt;&#xD;&#xA;&lt;li&gt;Own community questions and answers so nobody gets unnecessary reputation from them&lt;/li&gt;&#xD;&#xA;&lt;li&gt;Own downvotes on spam/evil posts that get permanently deleted&#xD;&#xA;&lt;/ul&gt;" Views="0" UpVotes="142" DownVotes="119" />
<row Id="2" Reputation="101" CreationDate="2010-07-28T17:09:21.300" DisplayName="Geoff Dalgas" EmailHash="b437f461b3fd27387c5d8ab47a293d35" LastAccessDate="2011-09-01T23:16:56.353" WebsiteUrl="http://stackoverflow.com" Location="Corvallis, OR" Age="34" AboutMe="&lt;p&gt;Developer on the StackOverflow team.  Find me on&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.twitter.com/SuperDalgas&quot; rel=&quot;nofollow&quot;&gt;Twitter&lt;/a&gt;&#xA;&lt;br&gt;&lt;br&gt;&#xA;&lt;a href=&quot;http://blog.stackoverflow.com/2009/05/welcome-stack-overflow-valued-associate-00003/&quot; rel=&quot;nofollow&quot;&gt;Stack Overflow Valued Associate #00003&lt;/a&gt; &lt;/p&gt;&#xA;" Views="25" UpVotes="7" DownVotes="0" />

该数据源是http://stackoverflow.com/ 网站上的用户数据。该网站我就不做介绍了,程序员收藏夹必备网站之一。该网站的网页截图如下:
这里写图片描述

本次好友推荐系统建立在如下假设上:

  • 用户对于一个领域问题的“偏好程度”就可以反映出该用户的价值取向,并依据此价值取向来对用户进行聚类分组。
  • 这里的”偏好程度“可以使用指定的几个指标属性来评判
  • 原始用户数据包含的属性有多个,从中挑选出最能符合用户观点的属性,作为该用户的“偏好程度”进行分析。

针对以上假设,对原始用户数据进行分析,挑选的代表属性如下:

  • ID 用户聚类时的代表标志
  • EmailHash 用户去重时的依据
  • reputation 声望或者名声度
  • up
  • 21
    点赞
  • 151
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值