`
jayghost
  • 浏览: 429413 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【转】mahout中的kmeans结果分析

 
阅读更多

转:http://blog.csdn.net/aidayei/article/details/6665530

运行官网上的mahout kmeas示例,结果文件夹有clusteredPoints,clusters-N,data,用命令mahout seqdumper仔细看了一下结果文件

clusteredPoints:存放的是最后聚类的结果,将cluster-id和documents-id都展示出来了,用mahout seqdumper读clusteredPoints结果的key-value类型是(IntWritable,WeightedVectorWritable)

clusters-N:是第N次聚类的结果,其中n为某类的样本数目,c为各类各属性的中心,r为各类属性的半径。 clusters-N结果类型是(Text,Cluster)

data:存放的是原始数据,这个文件夹下的文件可以用mahout vectordump来读取,原始数据是向量形式的,其它的都只能用mahout seqdumper来读取,向量文件也可以用mahout seqdumper来读取,只是用vectordump读取出来的是数字结果,没有对应的key,用seqdumper读出来的可以看到key,即对应的url,而value读出来的是一个类描述,而不是数组向量

为什么mahout seqdumper可以读任何SequenceFiles文件呢?看了一下源文件,是因为用的reader.getValueClass().newInstance()去读取的

clusters-0:读出来的结果(key,value)类型是(Text,Canopy),我猜应该是随机从原始数据里取出五个点来做初始聚类中心点,看到里面有RandomAccessSparseVector类,而后成的clusters-N读出来的(key,value)都是(Text,Cluster)类型,查了一下Canopy,说Canopy 聚类算法经常用于 K 均值聚类算法的预处理,用来找合适的 k 值和簇中心。

bin/mahout clusterdump --seqFileDir output/clusters-10 --pointsDir output/clusteredPoints --output /home/test/output
这个命令会将每一类的点列出来,seqFileDir指向的目录存放的是某类有几个点和该类的质心点及半径,即clusters-N目录,pointsDir指向的是所有输入点归于哪一类,即clusteredPoints目录,两者联合起来,就可以列举出属于同一类的所有点

注意seqFileDir指向的目录,要是最后一次迭代的结果目录,最后一次迭代的结果才是最终的结果

mahout Kmeans聚类有两个重要参数:收敛Delta和最大迭代次数.所以有时候改敛时,并还没有达到最大迭代次数  

 

关于mahout命令的运行的几点说明

1.如果没设置HADOOP_HOME,mahout seqdumper的输入路径是本地的目录,而不是HDFS上的目录,如果要查看HDFS上的结果,需要先将文件从HDFS上拷下来,当设置了HADOOP_HOME后,用seqdumper去查看结果时,输入路径则是HDFS上的目录。

2.读写路径跟源文件中是不是用到hadoop的FileSystem类无关,前面一直理解错了,以为用到这个类,就认为一定是在HDFS上操作,自己写了一个简单的SequenceFile文件读写测试,发现刚开始run as->java application,读写操作是操作的本地目录,如果run as->run on hadoop,则读写操作就在HDFS上,将hadoop停掉后,此时在去run as->java application,一直会提示连接不到hdfs,难道一次操作在hdfs上后,后面不管是run as->java application,还是run as->run on hadoop,都必须是在hdsf上吗?有知道原因的大侠,还请赐教!hadoop在启动过后,需要等一段时间,因为还在安全模式下,此时不能在hdfs上创建文件

3.将(Text,ParseText)->(Text,Text),这样才能用seq2sparse将文本转成向量,如果不这样的话,必须自己将文本信息用tfidf算法转成对应的数组,然后再由

RandomAccessSparseVector类或DenseVector类包装成向量,因为现有的算法中,还没有直接处理文本的,全都要转成数字来度量特征,然后根据某种条件收敛,从这里也可以看出计算机对数学的依赖有多大了,自然语言是不好处理的。

分享到:
评论

相关推荐

    mahout canopy+kmeans测试数据

    mahout canopy+kmeans测试数据

    mahout聚类算法

    mahout聚类算法的介绍,例如:Canopy,KMeans,Fuzzy-KMeans,Spectral Clustering等参数介绍和适用场景介绍

    mahout KMeansDriver测试相关jar包

    mahout KMeansDriver测试相关jar包,有需要的同学可以下载来试试。把这个包放入hadoop/lib下面然后就可以在eclipse里面运行调试了。

    mahout所需jar包

    Mahout支持K-Means等聚类算法,在此zip包中已经有打好jar包的资源,不需要用户再打jar包,可以直接使用。

    synthetic_control.data

    Mahout的kmeans聚类测试数据

    maven_mahout_template-mahout-0.6

    kmeans聚类算法 基于划分的方法单机版基于学习

    mahout学习

    mahout聚类算法学习必备,这只是一个最主要的kmeans算法,希望能帮到你们

    mahout0.9测试详细傻瓜说明

    mahout0.9测试详细傻瓜说明,简单测试外加kmeans算法,绝对详细

    mahout安装图文版

    mahout分布式数据挖掘工具,实现了在hadoop分布式环境下的各种数据挖掘算法,比如kmeans,聚类等,本文档是mahout的详细安装步骤。

    mahout-demo:mahout 演示展示了它是如何工作的

    Mahout 演示欢迎来到驯象师演示。 开发这个项目是为了展示 mahout 是如何工作的。... 模糊 KMeans 聚类使用 Maven 构建mvn 全新安装执行java -jar mahout-demo-0.0.1-SNAPSHOT-jar-with-dependencies.jar

    大数据技术 Hadoop开发者第二期 MapReduce HDFS Hive Mahout HBase 共64页.pdf

    1、Hadoop 业界资讯......................................... - 1 - 2、Nutch + Hadoop 构建商用分布式搜索引擎的问题探究 ..............12、Mahout Kmeans简介 .................................... - 57 -

    基于Spark框架的聚类算法研究

    大数据的挖掘是当今的研究热点,也有着巨大的商业价值。新型框架Spark部署在...该文研究了Spark中的机器学习中的聚类算法KMeans,先分析了算法思想,再通过实验分析其应用的方法,然后通过实验结果分析其应用场景和不足。

    mahout 0.4版本

    Mahout 0.4机器学习开源项目从大 量原始数据中解析出相关信息的需求急剧增长,以致于聚类、协同过滤和分类等机器学习技术的需 求也是呈稳定增长势态。

    mahout-distribution-0.5-src.tar.gz )

    分布式数据挖掘工具,实现了在hadoop分布式环境下的各种数据挖掘算法,比如kmeans,聚类等

    mapreduce-kmeans:使用MapReduce的朴素K均值聚类

    mapreduce-kmeans 代码。 请注意,这只是一个示例,而不是可用于生产的代码。 如果您要进行正式生产和正常工作的群集,请使用Mahout,Hama或Spark。 建造 您将需要Java 8来构建该库。 您可以简单地使用以下命令...

    mapreduce:映射学习自我

    false跑步课mvn exec:java -Dexec.mainClass =“ org.zhaolei.Kmeans” mvn exec:java -Dexec.mainClass =“ org.zhaolei.Kmeans” -Dexec.args =“ arg0 arg1 arg2” 映射学习自我/ www / local / mahout / ...

    hadoop开发者文档

    1、Hadoop 业界资讯......................................... - 1 - 2、Nutch + Hadoop 构建商用分布式搜索引擎的问题探究 ..............12、Mahout Kmeans简介 .................................... - 57 -

    开源力量——数据挖掘原理与实战

    整套大数据课程从hadoop入门开始,由浅入深,内置“hadoop源码解析与企业应用开发实战”,“Hive开发实战”,“Hbase开发实战”,“Spark,mahout,sqoop,storm诸模块开发实战”,“数据挖掘基础。这个系列课程有几...

    recsys-offline:一个推荐系统的offline端

    基于Hadoop,Mahout,HBase,Zookeeper开发的2.现有的算法只支持分布式,基于项目,Kmeans的推荐3.支持简单的可配置4.支持定时和协同两种工作模式当前版本:1.0-beta 包裹 : mvn清洁包装跑 : CD目标焦油xvf recsys...

Global site tag (gtag.js) - Google Analytics