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. 记录下工作中使用的pdf.js

    在工作中遇到一个通过网页的形式浏览pdf文件以及图片的需求,图片简单,直接通过网页的形式打开这个图片的URL即可.而pdf这边,通过查询发现有一个名为pdf.js的神器. 简单介绍下,它可以在html ...

  2. 关于vsftpd.conf配置

    vsftpd配置文件详解   转自http://yuanbin.blog.51cto.com/363003/108262/   1.默认配置: 1>允许匿名用户和本地用户登陆.      ano ...

  3. H264的start code是什么?

    H.264起始码 在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码.但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位 ...

  4. Java加载jar文件并调用jar文件当中有参数和返回值的方法

    在工作当中经常遇到反编译后的jar文件,并要传入参数了解其中的某些方法的输出,想到Java里面的反射可以实现加载jar文件并调用其中的方法来达到自己的目的.就写了个Demo代码. 以下的类可以编译生成 ...

  5. Ganymed实现基本的自动化部署API

    Ganymed SSH-2 for Java是一个纯Java实现的SHH2库,官网为http://www.ganymed.ethz.ch/ssh2/,最新的更新时间为2006年10月,在用之前,请仔细 ...

  6. ng $interval(周期性定时器) $timeout(延迟定时器)

    <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <met ...

  7. .net 系列化与反序列化(转载)

    .net序列化及反序列化 转载自:http://www.cnblogs.com/Tim_Liu/archive/2010/11/09/1872587.html 序列化是指一个对象的实例可以被保存,保存 ...

  8. [QT][转载] Qt信号和槽

    From: http://blog.csdn.net/rl529014/article/details/51346955 GUI 程序除了要绘制控件,还要响应系统和用户事件,例如重绘.绘制完成.点击鼠 ...

  9. 剑指Offer面试题:9.打印1到最大的n位数

    一 题目:打印1到最大的n位数 题目:输入数字n,按顺序打印从1到最大的n位十进制.比如输入3,则打印出1.2.3一直到最大的3位数即999. 二 不考虑大数解法 // 打印从1到最大的n位数 voi ...

  10. SQL中遇到多条相同内容只取一条的实现

    例如出现BID为1673的两条重复数据,要第一条 select * from(select no=row_number() over(partition by Bid order by getdate ...