之前有幸在MOOC学院抽中小象学院hadoop体验课。 
这是小象学院hadoop2.X的笔记

由于平时对数据挖掘做的比较多,所以优先看Mahout方向视频。

Mahout有很好的扩展性与容错性(基于HDFS&MapReduce开发),实现了大部分常用的数据挖掘算法(聚类、分类、推荐算法)不过数据挖掘调参和业务理解是关键,个人觉得真正想学习的话,还是看正规机器学习的课程比较好。

这里省略了大部分比较技术那一块的笔记。。。

虽然mahout在速度上有天然优势。但R/Python其实也在接入hadoop,如RHadoop等 
而且正如[别老扯什么Hadoop了,你的数据根本不够大](http://geek.csdn.net/news/detail/2780) 这里提到的,在轻量级数据上,还是没有太大必要折腾hadoop,在hadoop上用mahout的前提应该是数据量非常大

不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

一、课程概述

1、综合介绍 
2、聚类算法 
3、分类算法 
4、推荐算法

二、聚类算法

聚类应用场景如新闻聚类(多少条与之相关)。最常用的是k-means聚类 
基本流程应该是指定聚类次数,定位中心点,计算平均距离,最后实现产品分类。 
在Mahout里

1、提取feature

对新闻正文分词,对词编码,如doc1有哪些词出现,转化为0-1多维向量

2、feature向量化,多维的向量

之前的多维向量浪费空间,需要换一种表达方式,mahout里提供lucene或其他工具把这些feature转化为向量格式 
总之要实现有序的、节省空间的feature,最后储存为SequenceFile格式。

3、用kmeans实施聚类

bin/mahout kmeans \ 并可调相应格式

另外,mahout提供多种向量之间距离计算org.apache.mahout.distance

因此kmeans参数调优,有一个方法是对向量距离计算方法调优

cannopy算法:寻找最优的初始点

一般配合其他聚类方法使用 
如cannopy算法可以协助kmeans确定初始点

就是先随机选一个点,计算不同距离的点的个数,然后迭代计算,最后可以找出一个包含度较高的初始点 
(kmeans默认用随机点,指定canopy的话可以寻找最优的初始点,这个改进应该也是调参之一)

三、分类算法

属于有监督的机器学习算法,分类已经实现订好了,现在看什么因素是可以让我们快速定位其为该分类的数据 
所以应用步骤应该是,用训练集获得分类模型,测试调优后用于线上产品里

再调用其他的参数引用分类模型

模型评估常用的两个指标:confusion混淆矩阵 & AUC

不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

四、推荐算法

用户,对什么物品,打多少分 
preference:倾向度,可以用user-item矩阵进行评分

就是用用户对其他物品的打分(基于相似用户的打分,重点是查找用户相似度)以及其他用户对该item的打分(重点查找相似的物品,用商品相似度作为权重填充)

User-based的推荐效果更好,用户效果好 
Item-based的效果较差,但是计算效率高,适合实时推荐系统

Mahout有自带一个Taste推荐系统实现。基于java,协同过滤,属于可靠高效的推荐引擎

Hadoop里的数据挖掘应用-Mahout——学习笔记<三>的更多相关文章

  1. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  2. Typescript 学习笔记三:函数

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  3. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  4. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  5. angular学习笔记(三十)-指令(10)-require和controller

    本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...

  6. angular学习笔记(三十)-指令(7)-compile和link(2)

    继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...

  7. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  8. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

  9. MySql学习笔记三

    MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...

随机推荐

  1. Cookie无法读取

    问题描述:用谷歌调试可以看到,但是用js去读取的时候,一直提示undefined

  2. faster_rcnn c++版本的 caffe 封装(1)

    转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 由于需要把FasterRCNN做的工程化,因此这里需要对Caff ...

  3. 基于移动端Reactive Native轮播组件的应用与开发详解

    总结下这段时间学习reactive native的一些东西,我们来认识一下,被炒得这么火的rn,究竟是个什么东西,以及如何去搭建自己的demo. reactive  native是什么 由facebo ...

  4. no-proxy 和proxy 的区别

    Child   <-   many-to-one   ->Parent         class   Child   {         private   Parent   paren ...

  5. [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法

    using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...

  6. [No000072]Windows环境变量列表

    环境变量是目录的可以直接在绝对路径中引用,所有值均可在CMD下用 echo 命令显示以查看. 最常用的有—— %APPDATA% %HOMEPATH% %ProgramFiles% %SYSTEMRO ...

  7. concat() 方法用于连接两个或多个数组。

    我们创建了三个数组,然后使用 concat() 把它们连接起来: <script type="text/javascript"> var arr = new Array ...

  8. 代码比较器 Araxis Merge

    Araxis Merge 是一个可视化的文件比较.合并和同步的软件,能够方便的被软件工程师和 web 站点开发者使用快速精确地比较.了解和联合不同版本的源文件:进行版本和质量控制,创建 HTML 或是 ...

  9. Jsoup 使用教程:输入

    使用背景: 使用网络爬虫(或者手动复制),从别的网站上下载下来的内容,都是一堆的html,很多标签.样式 等等都可能是你所不需要的,或者 想要变成你想要的样式.那么该怎么办呢? 我们知道,每一个网页都 ...

  10. axure快速原型设计工具

    Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程 ...