集体智慧编程学习笔记--第二章
来源:互联网 发布:风险评价矩阵图 编辑:程序博客网 时间:2024/05/17 20:09
前言
什么是集体智慧?
答:为了创造新的想法,而将一群人的行为、偏好或思想组合在一起。
第二章:提供推荐
例子:影片推荐
一、名词:协作型过滤算法(collaborative filtering)
对一大群人进行搜索,从中找到与我们品味相近的一小群人。
二、搜集偏好
非常简单的方法是使用一个嵌套的字典
三、寻找品味相近的人
步骤:
2、相似度评价值:用来确定与其他人的相似程度的度量。
常用两种度量:
①【欧几里得距离】:欧式空间上两点之间的距离的模值。
python中pow(m,n) m的n次方 sqrt(m)m的平方根。
在使用aqrt时要注意,from math import sqrt
距离越小,偏好越接近。不过为了使得总是返回0-1之间的值,对距离进行处理1/(1+sqrt(pow(a-b,2)+pow(c-d),2))),+1是为了避免被零整除。
这样,值越接近1就表示越相似。
代码
但是,如果影评者对影片的总体评价对于平均水平偏离很大,那么可能用距离的度量就不是很好。使用皮尔森系数会给出比较好的结果
②【皮尔逊相关系数】:就是线性相关程度。是介于-1与1之间的数,1完全正相关,-1完全负相关。
想想如果一个人对不同电影打分总是比另一个人偏高,而二者的分值只差又始终保持一致。
反应在坐标系上,数据会拟合成一条直线。两个的分数的相关程度越高,说明两人仍有着相对近似的偏好。
代码
③【其他度量】:jaccard系数、曼哈顿街区距离。
3、为评论者打分
就是将所有评论者的相似度进行列表排序,顺序由高到低。
代码中n代表显示趣味相投的前n个人
4、推荐物品
有一个问题是,有时候有的人对一部影片进行评论但未对另一部影片进行评论。还有一个问题是有的人会对一部影片进行比较偏激的评论。
为了解决这种问题,设置权值。把相似度看成权值,这样与被推荐人趣味相近的人对推荐做的贡献就大。
加权后的评价值= 评价值*相似度系数 ,影片得分=加权评价值之和 / 相似度系数之和
为了解决这种问题,设置权值。把相似度看成权值,这样与被推荐人趣味相近的人对推荐做的贡献就大。
加权后的评价值= 评价值*相似度系数 ,影片得分=加权评价值之和 / 相似度系数之和
这样就得到了一个经过排名的影片列表,还可以据此推测出自己对每部影片的评价。
现在,就建立起一个推荐系统,适用于任何类型的商品推荐或者网络连接。
需要的就是建立一个有人员、物品、评价的字典。然后度量相似度。最后按照相似度排序进行推荐。
0 0
- 集体智慧编程第二章学习笔记
- 集体智慧编程学习笔记--第二章
- 《集体智慧编程》笔记2.1---第二章
- 集体智慧编程第二章
- 集体智慧编程第二三章学习总结
- 集体编程智慧代码摘抄【第二章】
- 【集体智慧编程】第二章、提供推荐
- 集体智慧编程 第二章 提供推荐
- 集体智慧编程 第二章 匹配商品
- 《集体智慧编程》第二章(一)
- 集体智慧编程学习笔记--搜索引擎
- 集体智慧编程学习笔记--决策树
- 集体智慧编程学习笔记--文档过滤
- 集体智慧编程学习笔记之优化
- 《集体智慧编程》学习笔记001
- 集体智慧编程学习笔记...更新
- 集体智慧编程学习笔记-推荐系统
- 《集体智慧编程》学习笔记(一)
- TOMCAT设置能访问软连接映射的文件及软连接的创建
- 数据库SQL优化
- 58. Length of Last Word
- docker v1.11 源码重构分析
- 用Python写一段发邮件的小程序
- 集体智慧编程学习笔记--第二章
- 第二章作业
- vi编辑器进阶教程
- 阿里云使用经验
- Hadoop案例之单表关联输出祖孙关系
- UCOSIII 中断
- Spring MVC 之 参数绑定
- 对 linux文件三个时间的认识
- 关于支付账户体系研究