- 浏览: 1655926 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (405)
- C/C++ (16)
- Linux (60)
- Algorithm (41)
- ACM (8)
- Ruby (39)
- Ruby on Rails (6)
- FP (2)
- Java SE (39)
- Java EE (6)
- Spring (11)
- Hibernate (1)
- Struts (1)
- Ajax (5)
- php (2)
- Data/Web Mining (20)
- Search Engine (19)
- NLP (2)
- Machine Learning (23)
- R (0)
- Database (10)
- Data Structure (6)
- Design Pattern (16)
- Hadoop (2)
- Browser (0)
- Firefox plugin/XPCOM (8)
- Eclise development (5)
- Architecture (1)
- Server (1)
- Cache (6)
- Code Generation (3)
- Open Source Tool (5)
- Develope Tools (5)
- 读书笔记 (7)
- 备忘 (4)
- 情感 (4)
- Others (20)
- python (0)
最新评论
-
532870393:
请问下,这本书是基于Hadoop1还是Hadoop2?
Hadoop in Action简单笔记(一) -
dongbiying:
不懂呀。。
十大常用数据结构 -
bing_it:
...
使用Spring MVC HandlerExceptionResolver处理异常 -
一别梦心:
按照上面的执行,文件确实是更新了,但是还是找不到kernel, ...
virtualbox 4.08安装虚机Ubuntu11.04增强功能失败解决方法 -
dsjt:
楼主spring 什么版本,我的3.1 ,xml中配置 < ...
使用Spring MVC HandlerExceptionResolver处理异常
这章主要讲了如何做推荐,现在推荐最常用的几种算法:Collaborative Filtering、Cluster Models、Search-Based Methods、Item-to-Item Collaborative Filtering.前两种是通过找相似的Customer,后两种通过找相似的Item.论文Amazon.com Recommendations Item-to-Item Collaborative Filtering 对这几种算法都有介绍。这章主要提了Collaborative Filtering和tem-to-Item Collaborative Filtering。 Collaborative Filtering:通过搜索大量的Customer数据集来找到那一小撮和你口味相似的。书中举了一个电影评论的例子,每个人都对一些电影进行评等级,通过这些数据来找到和你口味相似的人,以及对你没有看过的电影做推荐,并以这个例子演示了如何做推荐。
准备数据:(本笔记的代码使用ruby实现,python代码的实现见原书)
critics={ 'Lisa Rose' => {'Lady in the Water' => 2.5, 'Snakes on a Plane' => 3.5, 'Just My Luck' => 3.0, 'Superman Returns' => 3.5, 'You, Me and Dupree' => 2.5, 'The Night Listener' => 3.0}, 'Gene Seymour' => {'Lady in the Water' => 3.0, 'Snakes on a Plane' => 3.5, 'Just My Luck' => 1.5, 'Superman Returns' => 5.0, 'The Night Listener'=> 3.0, 'You, Me and Dupree' => 3.5}, 'Michael Phillips' => {'Lady in the Water' => 2.5, 'Snakes on a Plane' => 3.0, 'Superman Returns' => 3.5, 'The Night Listener' => 4.0}, 'Claudia Puig' => {'Snakes on a Plane' => 3.5, 'Just My Luck' => 3.0, 'The Night Listener' => 4.5, 'Superman Returns' => 4.0, 'You, Me and Dupree' => 2.5}, 'Mick LaSalle'=> {'Lady in the Water' => 3.0, 'Snakes on a Plane' => 4.0, 'Just My Luck' => 2.0, 'Superman Returns' => 3.0, 'The Night Listener' => 3.0, 'You, Me and Dupree' => 2.0}, 'Jack Matthews'=> {'Lady in the Water' => 3.0, 'Snakes on a Plane' => 4.0, 'The Night Listener'=> 3.0, 'Superman Returns'=> 5.0, 'You, Me and Dupree' => 3.5}, 'Toby' => {'Snakes on a Plane' =>4.5,'You, Me and Dupree' =>1.0,'Superman Returns' => 4.0} }
定义相似度:
欧拉距离:
代码实现:
def sim_distance(prefs,person1,person2) si = {} prefs[person1].each_key do |item| si[item] = 1 if prefs[person2][item] end return 0 if si.empty? sum_of_squares = si.keys.inject(0) do |sum,item| sum + (prefs[person1][item] - prefs[person2][item]) ** 2 end return 1 / (1 + sum_of_squares) end
Pearson Correlation Score:
代码实现:
def sim_pearson(prefs,person1,person2) si = {} prefs[person1].each_key do |item| si[item] = 1 if prefs[person2][item] end return 0 if si.empty? sum1 = si.keys.inject(0){|sum,item| sum + prefs[person1][item]} sum2 = si.keys.inject(0){|sum,item| sum + prefs[person2][item]} sum1Sq = si.keys.inject(0){|sum,item| sum + prefs[person1][item] ** 2} sum2Sq = si.keys.inject(0){|sum,item| sum + prefs[person2][item] ** 2} pSum = si.keys.inject(0){|sum,item| sum + prefs[person1][item] * prefs[person2][item]} num = pSum - (sum1 * sum2 / si.size) den = Math.sqrt((sum1Sq - sum1 ** 2 / si.size) * (sum2Sq - sum2 ** 2 / si.size)) return (if den == 0 then 0 else num/den end) end
待续
发表评论
-
推荐系统note
2013-06-24 18:36 0推荐系统 第一章 Introduction 1.1基本概念 1 ... -
[zz]推荐系统-从入门到精通
2013-04-20 14:38 2499为了方便大家从理论到实践,从入门到精通,循序渐进系统地理解和掌 ... -
[ZZ]计算机视觉、模式识别、机器学习常用牛人主页链接
2012-11-30 13:13 12220牛人主页(主页有很多论文代码) Serge ... -
计算广告学
2012-08-12 13:53 0计算广告学一: 1、核 ... -
期望最大(EM)算法推导
2012-08-05 19:54 8433X是一个随机向量,我们希望找到 使得取得最大值,这就是关于的最 ... -
Large-Scale Support Vector Machines: Algorithms and Theory
2012-04-12 00:32 0支持向量机是一种流行 ... -
[zz]数据挖掘邻域的5篇经典文章
2011-05-12 13:50 1789转载自 http://www.dataminingblog.c ... -
大规模数据挖掘-第三章 学习笔记二
2011-05-02 21:12 34793.4 文档局部性敏感哈希 ... -
大规模数据挖掘-第三章 学习笔记一
2011-05-01 00:06 10860第三章 查找相似的Items 数据挖掘的一个基本问题是检测相似 ... -
HtmlUnit解析html会丢掉不可见的Element
2010-01-15 21:06 2915最近使用htmlunit来作为后端抽取数据,htmlunit的 ... -
信息抽取思考笔记
2009-12-07 21:48 1709信息抽取的两种方式:基于内嵌浏览器的navigation的抽取 ... -
基于模式发现的信息抽取(1)
2009-12-03 23:37 2688IEPAD:基于模式发现的 ... -
分享一本文本挖掘的书
2009-09-21 23:28 1702好不容易从国外找到的,有需要的可以下来看看。 The inf ... -
《Web Data Mining Exploring Hyperlinks, Contents, and Usage Data》列入读书单中
2009-09-10 18:00 2053liubing同学写的,web content mining的 ... -
机器学习的开放源代码项目mahout
2009-04-16 23:05 5447最近看了刚发布的开放源代码项目mahout,实现了很多机器学习 ... -
网页分析/挖掘中常用数据结构和算法
2008-12-30 11:28 2753网页在render的时候都生成DOM树的,所以树形的数据结构用 ... -
一个很好的Machine Learning的开源工具网站
2008-12-30 10:41 2226mloss.org http://www.mloss.org/ ... -
基于firefox浏览器的Deep Web Navigation总结
2008-12-29 12:24 2215先占个位置,这两天准备回家,办手续,定房子什么的,比较忙,先提 ... -
一份夭折了的Information Extraction的总体设计
2008-12-26 17:46 1302由于项目提前closed,我的一个Information Ex ... -
Programming Collective Intelligence读书笔记三 推荐系统(续)
2008-12-26 17:14 1916根据前面的两个相似度 ...
相关推荐
集体智慧编程/Programming Collective Intelligence 中英文版
集体智慧编程(Programming Collective Intelligence)中文版 pdf-part1机器学习相关书籍
Programming Collective Intelligence: Building Smart Web 2.0 Applications 英文epub版本
《集体智慧编程》(Programming Collective Intelligence)官方源代码,非手敲。
《programming collective intelligence》是一本使用Python语言学习机器学习的教材。全书以英文原版呈现,难度适中,非常适合自学的读者。这本书被一些业界专家广泛推荐,因为它不仅对于初学者来说容易理解,而且还...
集体智慧编程 English edition
《编程集体智能》(Programming Collective Intelligence)是一本旨在帮助读者掌握如何利用Python语言进行机器学习的技术书籍。本书深入浅出地介绍了各种复杂的机器学习算法,并通过实际案例将这些算法的应用变得简单...
集体智慧编程(Programming Collective Intelligence)中文版 pdf-part2机器学习 贝叶斯 决策树
Segaran -- Programming Collective Intelligence -- 2008 -- code.7z
《Programming Collective Intelligence》是一本深度探讨如何利用编程技术来挖掘和分析数据,从而实现集体智慧的书籍。这本书主要面向对Python编程有一定基础,并希望通过编程手段理解并应用大数据、机器学习和人工...
集体智慧编程的全部代码,本人自行全部学完并且基本上都实操运行过,可靠。现在分享给大家,象征性的收一个积分,希望大家学习愉快。
中文版电子书 + 英文版电子书 + 源代码 本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从...
A new category of powerful programming techniques lets you discover the patterns, inter-relationships, and individual profiles-the collective intelligence–locked in the data people leave behind as ...
Collective Intelligence in Action (Manning 2008).pdf