基于命令行的mahout软件0.8版本Canopy算法分析的数据处理流程

原创 2013年12月10日 18:36:06

mahout软件0.8版本Canopy算法分析的数据处理分为以下三个步骤:

  1. 从数据库提炼你需要处理的数据的字段
  2. 依据提炼的数据处理为vectors
  3. 将处理后的vectors数据读取

一、从数据库提炼数据

这是一个sqoop-->>hive-->>hdfs转储为vectors的过程

原理:首先通过sqoop将数据库数据保证表结构不变全部导入到hive中,然后使用下面的语句创建准备用于mahout数据的hive表使用如下语句

create table 表名 (字段声明) row format delimited fields terminated by ' '

需要注意,必须使用空格作为hive表中字段的分隔符才能够被以命令行方式调用的mahout数据处理工具识别。

二、将hive表的数据处理为vectors

mahout自带的org.apache.mahout.clustering.conversion.InputDriver类可以将全部数值的文件转换为vector的,如果是字符的文本转换则要使用seqdirectory seq2sparse
这两个工具,详细参数可以使用如下的方式从命令行获得

bin/mahout 类名 --help
需要注意,如果是以命令行方式处理数据,字符数据和数值数据不要混合在一个文件里,无论在数据库中字段是否在同一个表中,一个要分离为不同文件,或者将字符替代为数字。否则处理过程中会出现java虚拟机内存溢出或者内存不足的错误。

而被处理的数据也最好分为多个小的文件。

三、读取处理后的数据

Canopy算法处理后的数据是需要使用ClusterDump工具处理为非二进制格式,而不是VectorDump工具,同时,0.8版本的VectorDump工具参数已经发生重大变化和0.7以及0.6有了很大的不同

ClusterDump工具的输出路径需要是本地路径而不能hdfs的路径,否则会报出无法创建导出数据文件的错误。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Mahout之聚类Canopy分析

聚类是机器学习里很重要的一类方法,基本原则是将“性质相似”(这里就有相似的标准问题,比如是基于概率分布模型的相似性又或是基于距离的相似性)的对象尽可能的放在一个Cluster中而不同Cluster中对...
  • yclzh0522
  • yclzh0522
  • 2011年10月24日 15:07
  • 3797

Mahout聚类算法学习之Canopy算法的分析与实现

3.1 Canopy算法 3.1.1 Canopy算法简介 Canopy算法的主要思想是把聚类分为两个阶段:阶段一,通过使用一个简单、快捷的距离计算方法把数据分为可重叠的子集,称为“canopy”...
  • Gamer_gyt
  • Gamer_gyt
  • 2015年10月09日 16:05
  • 2632

mahout 实现canopy

mahout0.8 实现canopy
  • fz2543122681
  • fz2543122681
  • 2014年05月27日 16:42
  • 1599

Mahout聚类算法canopy源码分析(1)

对于canopy的输入数据需要的形式为序列文件,同时保证key:Text、value:VectorWritable。昨晚准备打算使用单纯的java程序搞定输入数据的准备,无奈老是会出点问题,昨晚的问题...
  • fansy1990
  • fansy1990
  • 2013年07月21日 19:06
  • 3905

Mahout Canopy聚类

读过孟岩的《理解矩阵》系列博文[1]~[3],其中的一段论述让我很受用:学习一门学问,最重要的是把握主干内容,迅速建立对于这门学问的整体概念,不必一开始就考虑所有的细枝末节和特殊情况,自乱阵脚[2]。...
  • xyilu
  • xyilu
  • 2013年07月30日 19:23
  • 3823

Mahout系列之推荐算法-基于物品协同过滤实践

上文已经说明了用户的协同过滤,这篇也来谈谈基于物品的协同过滤。 $ mahout recommenditembased -s SIMILARITY_LOGLIKELIHOOD -i /us...
  • hugolyl
  • hugolyl
  • 2016年02月02日 12:55
  • 1222

Mahout基于物品的协同过滤算法例子

每行测试数据分别标识用户id(uid),物品id(itemid),评分(rating),评分时间(time) 464,2551,4,967174774 3464,1753,3,967247306...
  • zll441488958
  • zll441488958
  • 2017年12月28日 16:31
  • 39

mahout下的Canopy Clustering实现

一、基本思想      1、基于Canopy Method的聚类算法将聚类过程分为两个阶段       Stage1、聚类最耗费计算的地方是计算对象相似性的时候,Canopy Method...
  • shisibushiba
  • shisibushiba
  • 2016年03月01日 18:42
  • 516

Mahout0.9 – Clustering (聚类篇)

Mahout – Clustering (聚类篇) Leave a reply 什么是Mahout? ” Apache Mahout™ project’s goal is t...
  • fz2543122681
  • fz2543122681
  • 2014年05月27日 16:23
  • 2504

python数据分析准备(安装python和canopy用于科学计算)

安装的时候走了点弯路,书上说的集成环境已经过时,后来百度了canopy做为集成环境安装 canopy做为集成环境,默认启动需要连到X Server,因此在linux主机上安装了X client相关命...
  • yu3000
  • yu3000
  • 2017年02月09日 16:29
  • 708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于命令行的mahout软件0.8版本Canopy算法分析的数据处理流程
举报原因:
原因补充:

(最多只允许输入30个字)