摘要: 本系列的第一篇为读者概要介绍了推荐引擎,下面几篇文章将深入介绍推荐引擎的相关算法,并帮助读者高效的实现这些算法。 在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法。它以其方法模型简单,数据依赖性低,数据方便采集 , 推荐效果较优等多个优点成为大众眼里的推荐算法“No.1”。本文将带你深入了解协同过滤的秘密,并给出基于 Apache Mahout 的协同过滤算法的高效实现。Apache Mahout 是 ASF 的一个较新的开源项目,它源于 Lucene,构建在 Hadoop 之上,关注海量数据上的机器学习经典算法的高效实现。集体智慧和协同过滤什么是集体智慧集体智慧 阅读全文
posted @ 2014-04-02 14:42 左晓 阅读(364) 评论(0) 推荐(0)
摘要: "探索推荐引擎内部的秘密"系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用。同时在理论讲 解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法。本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其 中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助用户清楚的了解和快速构建适合自己的推荐引擎。推荐引擎推荐引擎到底是怎么工作的。推荐引擎利用特殊的信息过滤技术,将不同的物品或内容推荐给可能对它们感兴趣的用户。图 1. 推荐引擎 阅读全文
posted @ 2014-04-02 11:22 左晓 阅读(388) 评论(0) 推荐(0)
摘要: 函数的定义def,这个关键字通知python:我在定义一个函数冒号和缩进来表示的隶属关系return可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)。在Python中,当程序执行到return的时候,程序将停止执行函数内余下的语句。return并不是必须的,当没有return, 或者return后面没有返回值时,函数将自动返回None。None是Python中的一个特别的数据类型,用来表示什么都没有,相当于C中的NULL。None多用于关键字参数传递的默认值。函数调用和参数传递Python有丰富的参数传递方式,还有关键字传递、表传递、字典传递等,基础教程将只涉及位置传递a = 1 阅读全文
posted @ 2014-03-17 22:14 左晓 阅读(221) 评论(0) 推荐(0)
摘要: 1、运算数学 +, -, *, /, **, % >>>print 3**2 # 乘方 判断 ==, !=, >, >=, >>print 4>5, 4>=0 # >, 大于; >=, 大于等于 >>>print 5 in [1,3,5] # 5是list [1,3,5]的一个元素逻辑 and, or, not2、缩进和选择if语句之后的冒号:以四个空格的缩进来表示隶属关系, Python中不能随意缩进if : statementelif : statementelif : statementelse: sta 阅读全文
posted @ 2014-03-17 22:03 左晓 阅读(817) 评论(0) 推荐(0)
摘要: 变量不需要声明,数据类型是Python自动决定的。不需要删除原有变量就可以直接赋值,回收适用。以L结尾,表示长整型在数字面前加0,表示八进制;加0x表示十六进制;给浮点数前加0,没有变化布尔类型要注意大小写,True或Falseprint的另一个用法,也就是print后跟多个输出,以逗号分隔。内置函数type(), 用以查询变量的类型。序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple >>>s2 = [Tru 阅读全文
posted @ 2014-03-17 21:40 左晓 阅读(273) 评论(0) 推荐(0)
摘要: 在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, … xn),Y=(y1, y2, y3, … yn)。下面来看看主要可以用哪些方法来衡量两者的差异,主要分为距离度量和相似度度量。距离度量距离度量(Distance)用于衡量个体在空间上存在的距离,距离越远说 阅读全文
posted @ 2014-03-16 22:33 左晓 阅读(347) 评论(0) 推荐(0)
摘要: 1、用在数据不是很规范的时候2、最佳拟合线3、夸大分值4、皮尔逊积差系数数学特征其中,E是数学期望,cov表示协方差,和是标准差。因为,,同样地,对于,可以写成当两个变量的标准差都不为零,相关系数才有定义。从柯西-施瓦茨不等式可知,相关系数的绝对值不超过1。当两个变量的线性关系增强时,相关系数趋于1或-1。当一个变量增加而另一变量也增加时,相关系数大于0。当一个变量的增加而另一变量减少时,相关系数小于0。当两个变量独立时,相关系数为0.但反之并不成立。 这是因为相关系数仅仅反映了两个变量之间是否线性相关。比如说,X是区间[-1,1]上的一个均匀分布的随机变量。Y=X2. 那么Y是完全由X确定。 阅读全文
posted @ 2014-03-16 22:12 左晓 阅读(1291) 评论(0) 推荐(0)