mahout 聚类大全

本文介绍如何使用Apache Mahout进行数据预处理,包括转换原始数据为稀疏向量格式,并通过k-means、模糊k-means及Canopy等算法进行聚类分析。此外还展示了如何设置初始点、迭代次数等参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://my.oschina.net/u/1047640/blog/263742

mahout要求数据时空格分割的序列化文件,所以先把,逗号都换成空格,然后使用inputDriver这个工具类对文件处理

把用户主目录下testdata文件下的空格分隔文件,处理一下

mahout org.apache.mahout.clustering.conversion.InputDriver -i testdata/p04.csv -o testouput/vectorfiles -v org.apache.mahout.math.RandomAccessSparseVector 

处理完,因为mahout还要求输入初始点,所以先建了一个空文件夹表示药房初始点集,不过我们这里指定k随机抽取

mkdir testdata/intpoint

可以聚类了。聚类之后可是使用工具命令把结果导出来,也可以去mahout源码下运行clusterdumper类

cd 表示收敛差值的阀值,x表示最大迭代次数,k初始点有多少个,k有了之后,忽略-c的内容

mahout kmeans -i testdata/vectorfiles -o testoutput/kmeans-10-4 -c testdata/initpoint\ -cd 0.5 -x 10 -cl -k 4 -ow

mahout clusterdump -i testouuput/kmeans-10-4/cluster-1-final \ -o testoutput/kmeans-10-4/result.txt

mahout canopy -i testdata/vectorfiles -o testoutput/canopy-0.2-0.1 -ow -t1 0.2 -t2 0.1
mahout clusterdump -i testoutput/canopy-0.2-0.1/clusters-0-final \
-o testoutput/canopy-0.2-0.1/result.txt

C-0{n=8 c=[0.495, 0.614] r=[0.181, 0.135]}

C-1{n=5 c=[0.615, 0.608] r=[0.100, 0.105]}

C-2{n=5 c=[0.443, 0.383] r=[0.170, 0.137]}

C-3{n=5 c=[0.599, 0.503] r=[0.079, 0.120]}

mahout fkmeans -i testdata/vectorfiles -o testoutput/fuzzekmeans \
-c testdata/initpoint -cd 0.5 -x 10 -cl -k 4 -ow -m 2
mahout clusterdump -i testoutput/fuzzekmeans/clusters-1-final \
-o testoutput/fuzzekmeans/result.txt

SV-1476{n=629 c=[0.439, 0.621] r=[0.150, 0.147]}

SV-810{n=587 c=[0.585, 0.470] r=[0.191, 0.123]}

SV-1084{n=423 c=[0.627, 0.578] r=[0.202, 0.140]}

SV-1530{n=160 c=[0.763, 0.407] r=[0.223, 0.155]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值