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. UI-定时器与动画使用总结

    #pragma mark - 定时器   ******************************************************************************* ...

  2. react-hooks: custom hooks

    memberEntitiy: export interface MemberEntity { id: number; name: string; code: string; } const useMe ...

  3. 剑指offer--31.二叉树中和为某一值的路径

    深度优先搜索 --------------------------------------------------------------------------------------------- ...

  4. JavaScript 哈希表(散列表)实现和应用

    查找的效率与比较次数密切相关.基于比较的程序,运算效率是比较低的.比如平时可以通过indexOf查找一个数据.但这是一个基于比较的一个实现.如果是淘宝那样有上亿个商品,那么用indeOf 来查数据就会 ...

  5. access_ok | 检查用户空间内存块是否可用

    access_ok() 函数是用来代替老版本的 verify_area() 函数的.它的作用也是检查用户空间指针是否可用. 函数原型:access_ok (type, addr, size); 变量说 ...

  6. Spring核心AOP(面向切面编程)总结

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/75208354冷血之心的博客) 1.AOP概念: 面向切面编程,指扩 ...

  7. Uncaught TypeError: Cannot read property 'decimalSeparator' of undefined

    1.错误描述 jquery.jqGrid.min.js:477 Uncaught TypeError: Cannot read property 'decimalSeparator' of undef ...

  8. jmeter 查看提取的参数

    需求:查看“传入的参数”或者“正则表达提取的参数”等...... 解决:添加Debug Sampler组件,不需要配置,直接使用默认 1.使用CSV Data Set Config组件“传入的参数”直 ...

  9. Django之搭建学员管理系统

    GET请求传参数的方式: /xxx/?k1=v1&k2=v2 ? 前面的是URL ?后面的是请求的参数 多个参数之间用&分隔 POST请求传数据: 是放在请求体里面的 表结构设计. - ...

  10. 设计模式之享元(flyweight)模式

    现在在大力推行节约型社会,“浪费可耻,节俭光荣”.在软件系统中,有时候也会存在资源浪费的情况,例如,在计算机内存中存储了多个完全相同或者非常相似的对象,如果这些对象的数量太多将导致系统运行代价过高.那 ...