mahout 实现canopy】的更多相关文章

转自:http://www.cnblogs.com/vivounicorn/archive/2011/09/23/2186483.html Mahout学习——Canopy Clustering 聚类是机器学习里很重要的一类方法,基本原则是将“性质相似”(这里就有相似的标准问题,比如是基于概率分布模型的相似性又或是基于距离的相似性)的对象尽可能的放在一个Cluster中而不同Cluster中 对象尽可能不相似.对聚类算法而言,有三座大山需要爬过去:(1).a large number of cl…
环境: mahout-0.8 hadoop-1.1.2 ubuntu-12.04 理论这里就不说了,直接上实例: 下面举一个例子. 数据准备: canopy.dat文件,COPY到HDFS上,文件内容如下: 8.1 8.1 7.1 7.1 6.2 6.2 7.1 7.1 2.1 2.1 1.1 1.1 0.1 0.1 3.0 3.0 算法简单说明,步骤如下: (1) 将所有数据放进list中,选择两个距离,T1,T2,T1>T2 (2)While(list不为空) { 随机选择一个节点做cano…
canopy是聚类算法的一种实现 它是一种快速,简单,但是不太准确的聚类算法 canopy通过两个人为确定的阈值t1,t2来对数据进行计算,可以达到将一堆混乱的数据分类成有一定规则的n个数据堆 由于canopy算法本身的目的只是将混乱的数据划分成大概的几个类别,所以它是不太准确的 但是通过canopy计算出来的n个类别可以用在kmeans算法中的k值的确定(因为人为无法准确的确定k值到底要多少才合适,而有kmeans算法本身随机产生的话结果可能不是很精确.有关kmeans算法的解释请看点击打开链…
Canopy一般用在Kmeans之前的粗聚类.考虑到Kmeans在使用上必须要确定K的大小,而往往数据集预先不能确定K的值大小的,这样如果 K取的不合理会带来K均值的误差很大(也就是说K均值对噪声的抗干扰能力较差).总之基于以下三种原因,选择利用Canopy聚类做为Kmeans的前奏 比较科学.也是Canopy的优点. 一.canopy算法的优缺点 Canopy的优点: 1.Kmeans对噪声抗干扰较弱,通过Canopy对比较小的NumPoint的Cluster直接去掉 有利于抗干扰. 2.Ca…
第一部分: 学习Mahout必需要知道的资料查找技能: 学会查官方帮助文档: 解压用于安装文件(mahout-distribution-0.6.tar.gz),找到例如以下位置.我将该文件解压到win7的G盘mahout目录下,路径例如以下所看到的: G:\mahout\mahout-distribution-0.6\docs 学会查源码的凝视文档: 方案一:用maven创建一个mahout的开发环境(我用的是win7,eclipse作为集成开发环境,之后在Maven Dependencies中…
Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目, 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout相关资源 Mahout主页:http://mahout.apache.org/ Mahout 最新版本0.8下载: http://mirrors.hust.edu.cn/apache/mahout/0.8/ 使用mahout-distribution-0.8.tar.g…
开发+运行第一个Mahout的程序 代码: /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF lice…
在以前使用hadoop的时候因为mahout里面很多都要求输入文件时序列文件,所以涉及到把文本文件转换为序列文件或者序列文件转为文本文件(因为当时要分析mahout的源码,所以就要看到它的输入文件是什么,文本比较好看其内容).一般这个有两种做法,其一:按照<hadoop权威指南>上面的方面直接读出序列文件然后写入一个文本:其二,编写一个job任务,直接设置输出文件的格式,这样也可以把序列文件读成文本(个人一般采用这样方法).时隔好久,今天又重新试了下,居然不行了?,比如,我要编写一个把文本转为…
课程一.基于Linux操作系统平台下的Java语言开发(20课时)课程简介本套课程主要介绍了Linux系统下的Java环境搭建及最基础的Java语法知识.学习Linux操作系统下Java语言开发的好处 好处一:不再束缚在Windows操作系统下,开阔眼界.好处二:熟练Linux操作系统的指令,走出“指指点点”的开发,成为真正的代码程序员.好处三:增加自己的竞争实力,为自己应聘时加上浓浓的一笔.课程大纲第一讲 安装虚拟机以及Linux操作系统第二讲 Linux桌面系统第三讲 Linux文件和目录管…
Hadoop的前景 随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发人员并不多,直接导致了这几年hadoop技术的薪水远高于JavaEE及 Android程序员. Hadoop入门薪资已经达到了8K以上,工作1年可达到1.2W以上,具有2-3年工作经验的hadoop人才年薪可以达到30万—50万. 一般需要大数据处理的公司基本上都是大公司,所以学…