2.2.3 Analyzing the output

在之前的程序运行结果中我们得到的结果输出是:
RecommendedItem [item:104, value:4.257081]

程序要求选择一个最适合的,排名最考前的书目给用户1,结果给出来了,就是104,原因是因为评分达到了4.25.这个是所有书目里面分数最高的了。
我们再次结合之前的图来进行分析:


书目107没有没推荐出来,虽然107也是可以推荐的,但是推荐的情形应该是有那些有相反的喜好的用户。因为用户3和用户1的喜好是相反的。
选择出来了104,而没有选择106,这样也是很有道理的,因为104相比106,有更高的评分。

很明显,通过原始数据我们很难判断哪个书是比较适合用户1的,但是我们的推荐系统通过精细的计算,给出了一个比较满意有意义的答案,经得起推敲。 正是这种特性,我们才会爱上机器学习。

但是在现实中,我们面对的原始数据可能会很大很多,而且充满噪音。譬如说,对于一本书的评价,可能包含用户对他的点击,阅读,停留时间等等,但是很多这样的数据都不是特别精确,可能用户是误点击,或者点击了但是不一定稀罕他,所以这种情况就不应该被计算在里面。

因此我们必须明白,通过这样的数据我们的确可以简单的获取我们想要的结果推荐,并且不会很繁琐。但是我们要明白,这样标准的操作流程会导致差强人意的结果。在后面的某一个时间会进一步解释我们如何通过调配系统来获得精准的推荐结果。

下面是程序运行的简要流程图:

1.君子应该‘有所为有所不为’,每个人的精力都是有限的,不能尽善尽美,选择最重要的最紧要的事情来做,深化。
2.失去了梦想,失去了激情,失去对很多事情的向往,没有了之前的豪情,对妹子的渴望也已不再。但是俺对开心的向往,对财务自由的向往永远不会失去。爱亲人爱自己,活着也很有价值。
3.每一天都没什么事干,日子也不能白过,不能在这里坐等过年。重拾Hadoop,mahout算法分析搞起来。
4.年纪不大不小的时候,千万不要心浮气躁,欲速不达。一切都要平常心,心平气和,与人为善,助人为乐,遵守社会的传统。
5.不要太贪婪,前世因今生果,要敬畏。若水的品质虽不能做到,但是俺往这边靠,不争不抢不急躁,一定可以拿到自己想要拿到的。



Charles 于2015-12-18 Phnom Penh



版权说明:
本文由Charles Dong原创,本人支持开源以及免费有益的传播,反对商业化谋利。
CSDN博客:http://blog.csdn.net/mrcharles
个人站:http://blog.xingbod.cn
EMAIL:charles@xingbod.cn

mahout in Action2.2-给用户推荐图书(2)-分析对用户推荐书目的结果的更多相关文章

  1. mahout in Action2.2-给用户推荐图书(1)-直观分析和代码

    This chapter covers  What recommenders are, within Mahout  A first look at a recommender in action ...

  2. mahout in Action研读(1)-给用户推荐图书

    1.mahout in Action2.2第一个例子   Running a first recommender engine   数据: 第一个数字是用户ID 第二个是书的ID,第三个是用户对书的评 ...

  3. mahout in Action2.2-给用户推荐图书(3)-评价推荐系统

    推荐系统引擎是一个工具,一种回答问题的手段,"对用户来讲什么是最好的推荐?",在研究回答的前先研究一下这个问题.一个好的推荐的准确含义是什么?如何知道推荐系统是如何生成推荐的?下面 ...

  4. 【Machine Learning】Mahout基于协同过滤(CF)的用户推荐

    一.Mahout推荐算法简介 Mahout算法框架自带的推荐器有下面这些: l  GenericUserBasedRecommender:基于用户的推荐器,用户数量少时速度快: l  GenericI ...

  5. 推荐算法之用户推荐(UserCF)和物品推荐(ItemCF)对比

    一.定义 UserCF:推荐那些和他有共同兴趣爱好的用户喜欢的物品 ItemCF:推荐那些和他之前喜欢的物品类似的物品 根据用户推荐重点是反应和用户兴趣相似的小群体的热点,根据物品推荐着重与用户过去的 ...

  6. 【推荐图书】+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等

    [推荐图书]+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等 3赞 发表于 2016/7/4 21:14:12 阅读(1921) 评论(3) 初次接触FPGA,到 ...

  7. "用户增长"--快速身份认证实现用户增长的技术和产品方案

    "用户增长"--快速身份认证实现用户增长的技术和产品方案 1   引言 作为一个互联网产品,用户量的增长是一个非常重要的衡量指标. 这是一个集合了销售,市场,运营,技术的综合能力. ...

  8. Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!

    01.前言 很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析用户之间的关系,电影之间的联系,以及用户和电影之间的隐藏关系. 02.爬取观 ...

  9. [转]一个用户SQL慢查询分析,原因及优化

    来源:http://blog.rds.aliyun.com/2014/05/23/%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7sql%E6%85%A2%E6%9F%A5%E ...

随机推荐

  1. Android自定义控件之仿美团下拉刷新

    美团的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个绿色的椭圆随着下拉的距离动态改变其大小. 第二个部分为放开刷新状态(release to r ...

  2. maven install时自动施行单元测试

    maven install时自动执行单元测试 1.maven-surefire-plugin简介 Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUni ...

  3. 在CodeBlocks上配置OpenGL问题

    问题:出现No such file or directory.之后重建了C++project 仍然出现这个error.嘿 奇了怪了! 原因:前几日写密码学作业,用到NTL库,将编译器路径设置为NTL库 ...

  4. (八)js函数二

    1.变量 a)局部变量:在所有函数内部定义的变量,或者在函数内部未使用var声明的变量也属于全局变量. b)全局变量:在所有函数外部定义的变量. eg: 1)     var a = 5,b = 4, ...

  5. 利用aop完成功能权限验证遇到的问题

    报错信息如上,找不到此方法原因是services层的有的方法带了parameters! 解决:注解解析器这里的代码不变:  将得到的service层的class遍历所有方法(存在效率问题) 匹配该方法 ...

  6. RabbitMQ学习系列一安装RabbitMQ服务

    RabbitMQ学习系列一:windows下安装RabbitMQ服务 http://www.80iter.com/blog/1437026462550244 Rabbit MQ 是建立在强大的Erla ...

  7. 解决get方法传递URL参数中文乱码问题

    [转]解决get方法传递URL参数中文乱码问题 来自:http://www.javaeye.com/topic/483158 应用一:解决tomcat下中文乱码问题(先来个简单的) 在tomcat下, ...

  8. 剑指offer-第五章优化时间和空间效率(连续子数组的最大和)

    题目:输入一个数组,数组中有正也有负,数组中连续的一个或者连续的多个数字组成一个子数组.求所有的子数组和的最大值.要求时间复杂度为O(n) 思路:我们的最直观的想法就是求出这个数组中的所有的子数组,然 ...

  9. Mac OS X显示隐藏文件命令

    defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件 defaults wr ...

  10. 也谈TDD,以及三层架构、设计模式、ORM……没有免费的午餐,选择了,必付出代价

    想在园子里写点东西已经很久了,但一直没有落笔,忙着做 一起帮 的开发直播,还有些软文做推广,还要做奶爸带孩子,还要……好吧,我承认,真正的原因是: 太特么的难写了! 但再难写也要写啊,要等到“能写好了 ...