一个简单的基于用户的推荐系统

DataModel model=new FileDataModel(new File("intro.csv")); //.csv是逗号文件

UserSimilarity similarity=new PearsonCorrelationSimilarity(model);

UserNeighborhood neighborhood=new nearestNUserNeighborhood(2,similarity,model);

Recommender recommender=new GenericUserBasedRecommender(model,neighborhood,similarity);

UserSimilarity封装了用户间相似性的概念,而Userneighborhood封装了最相似用户组的概念。它们是标准的基于用户推荐算法的必要组件。

一个推荐系统,通常包括如下组件:

1.数据模型,由DataModel实现

2.用户间的相似性度量,由UserSimilarity实现

3.用户领域(组)的定义,由UserNeighborhood实现

4.推荐引擎,由一个Recommender实现

时间: 2024-11-07 18:20:02

一个简单的基于用户的推荐系统的相关文章

jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)

JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter前要先下载jdk包,配置java环境.(参见Java环境配置教程) 配置完成后在运行窗口检查一下java -version确定java环境配置完成. 一.利用badboy进行自动脚本录制 下载BadboyInstaller-2.2.5.exe 并安装 下载地址:http://download.csd

一个简单的基于内容的推荐算法

最近闲下来又开始继续折腾推荐系统了,声明一下,本文只是介绍一下最基础的基于内容的推荐系统(Content-based recommender system)的工作原理,其实基于内容的推荐系统也分三六九等Orz,这里只是简单的较少一下最原始的.最基本的工作流程. 基于内容的推荐算法思路很简单,它的原理大概分为3步: 1.为每个物品(Item)构建一个物品的属性资料(Item Profile) 2.为每个用户(User)构建一个用户的喜好资料(User Profile) 3.计算用户喜好资料与物品属

一个简单的基于HTTP协议的屏幕共享应用

HTTP协议可以能是应用层协议里使用最广泛并且用途最多样的一个了.我们一般使用HTTP协议来浏览网页,但是HTTP协议还用来做很多其它用途.对开发人员来讲很常见的一种就是用HTTP协议作为各种版本控制系统和发布系统的一种底层协议,比如SVN/GIT/WebDav等等都有HTTP的支持.甚至一些数据库用HTTP作为链接的底层协议.HTTP的特点是简单,基于文本(可读),容易扩展(各种头部随便加),支持代理(让很多没有外网连接的主机可以通过HTTP代理访问外部主机,实际上HTTP Proxy Tun

一个简单的基于数据库实现的多机任务抢占调度

一般的协调工作,让zookeeper来做那是最好的,问题是你得部署zookeeper.如果没有能否模拟一个协调者呢?这是本篇文章需要介绍的内容. 背景 有合同约定,如果总消费额达到一定的额度,需要启动折扣,达到另一个更高的额度后,会启动另一个折扣.用户的消费记录都是小额的,如1毛一笔,折扣需要详细到每一笔交易.现在已经有了很大批量的这种数据,需要计算总价.应用部署了3台机器,如何让3台机器都可以参与处理,并且一个合同的消费数据只能由一台机器处理,并且,如果这台机器处理了合同的部分数据死掉后,需要

用java实现一个简单的单用户登陆功能的思路

引用 所谓"单用户单账户登录"是指:在同一系统中,一个用户名不能在两个地方同时登录. 我们参照 QQ 实现效果:当某账号在 A 处登录后,在未退出的情况下,如果再到 B 处登录,那么,系统会挤下 A 处登录的账号. 要实现这样一个功能,如果我们项目使用了springmvc我们可以使用拦截器来替代过滤器,否则我们使用过滤器也可以实现,我们需要一个这样的东西来进行拦截用户的请求.我们的user表里也需要添加一个token字段,用于存放当前登录者的一个唯一标识. 大致的思路是这样的: 用户A

一个简单的基于Tornado二手房信息统计项目的开发实现

Purpose 最近因为要买房子,扫过了各种信息,貌似lianjia上的数据还是靠点谱的(最起码房源图片没有太大的出入),心血来潮想着做几个图表来显示下房屋的数据信息,顺便练练手. 需求分析 1从lianjia的网站上获取关键的房屋信息数据,然后按照自己的需求通过图表显示出来. 2每天从lianjia的网站上获取一次数据 3以上海地区为主(本人在上海) 4最终生成图表有:房屋交易总量,二手房均价,在售房源,近90天成交量,昨日带看次数 分析获取网站数据 1 数据源 数据的获取主要是从两个地方:

springMVC用法 以及一个简单的基于springMVC hibernate spring的配置

替代struts 1  web.xml中配置springmvc中央控制器 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="

一个简单的基于jQuery的焦点图(幻灯片)代码

本代码实现的是横向循环滚动, <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery的焦点图(幻灯片)</title> <sc

一个简单的基于多进程实现并发的Socket程序

在单进程的socket的程序的基础上,实现多进程并发效果的思路具体是:在server端开启"链接循环",每建立一次链接就生成一个Process对象进行server-client的互动,而client端不用做任何变化,因为对于client来说每运行一次程序就相当于与server端建立了一个链接. 具体代码如下: # -*- coding: utf-8 -*- # -*- Author: WangHW -*- import socket import os from multiproces