共計 5650 個字符,預計需要花費 15 分鐘才能閱讀完成。
這篇文章主要講解了“mahout kmeans 怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“mahout kmeans 怎么使用”吧!
Mahout 是 apache Soft Foundation 旗下的一個開源項目
提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便快捷的創建智能應用程序
Mahout 的許多實現,包括聚類,分類,推薦過濾,頻繁子項目挖掘,此外,通過使用 Apache Hadoop 庫
Mahout 可以有效的擴展到云中
運行 Mahout 自帶的 kmeans 算法同時驗證 Mahout 是否能夠正常運行
準備測試數據下載文件
把文件放在 $MAHOUT_HOME 目錄下 synthetic_con
23 17
[hdfs@cloudra ~]$ hadoop fs -mkdir testdata
[hdfs@cloudra root]$ hadoop fs -mkdir /output
[hdfs@cloudra ~]$ hadoop fs -put synthetic_control.data testdata
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
You have new mail in /var/spool/mail/root
/usr/java/default
export JAVA_HOME=/usr/java/jdk1.7.0_79
hdfs@cloudra ~]$ mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
或者 jar mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
[root@localhost mahout-distribution-0.9]# hadoop fs -mkdir /user/root/testdata
16/11/23 05:28:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
mkdir: `/user/root/testdata : No such file or directory
[root@localhost mahout-distribution-0.9]# hadoop fs -mkdir -p /user/root/testdata
16/11/23 05:28:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
[root@localhost mahout-distribution-0.9]# ls
bin lib mahout-examples-0.9.jar NOTICE.txt
conf LICENSE.txt mahout-examples-0.9-job.jar README.txt
docs mahout-core-0.9.jar mahout-integration-0.9.jar
examples mahout-core-0.9-job.jar mahout-math-0.9.jar
[root@localhost mahout-distribution-0.9]# cd ..
[root@localhost soft]# cd ..
[root@localhost ~]# cd –
/root/soft
[root@localhost soft]# ls
data hadoop-2.6.0 jdk1.7.0_79 mahout-distribution-0.9
[root@localhost soft]# cd data
[root@localhost data]# ls
synthetic_control.data
[root@localhost data]# hadoop fs -put /user/root/testdata
16/11/23 05:29:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
put: `/user/root/testdata : No such file or directory
[root@localhost data]# hadoop fs -put synthetic_control.data /user/root/testdata
16/11/23 05:29:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
[root@localhost data]# ls
synthetic_control.data
[root@localhost data]# cd ..
[root@localhost soft]# ls
data hadoop-2.6.0 jdk1.7.0_79 mahout-distribution-0.9
[root@localhost soft]# cd mahout-distribution-0.9/
[root@localhost mahout-distribution-0.9]# ls
bin lib mahout-examples-0.9.jar NOTICE.txt
conf LICENSE.txt mahout-examples-0.9-job.jar README.txt
docs mahout-core-0.9.jar mahout-integration-0.9.jar
examples mahout-core-0.9-job.jar mahout-math-0.9.jar
[root@localhost mahout-distribution-0.9]# hadoop jar mahout-examples-0.9-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
16/11/23 05:30:30 INFO kmeans.Job: Running with default arguments
16/11/23 05:30:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
16/11/23 05:30:40 INFO kmeans.Job: Preparing Input
16/11/23 05:30:41 INFO client.RMProxy: Connecting to ResourceManager at hadoop02/127.0.0.1:8032
16/11/23 05:30:42 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
16/11/23 05:30:46 INFO input.FileInputFormat: Total input paths to process : 1
16/11/23 05:30:46 INFO mapreduce.JobSubmitter: number of splits:1
16/11/23 05:30:47 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1479907436985_0002
16/11/23 05:30:49 INFO impl.YarnClientImpl: Submitted application application_1479907436985_0002
16/11/23 05:30:49 INFO mapreduce.Job: The url to track the job: http://localhost:8088/proxy/application_1479907436985_0002/
16/11/23 05:30:49 INFO mapreduce.Job: Running job: job_1479907436985_0002
16/11/23 05:31:40 INFO mapreduce.Job: Job job_1479907436985_0002 running in uber mode : false
16/11/23 05:31:40 INFO mapreduce.Job: map 0% reduce 0%
mahout seqdumper 將 SequenceFile 文件轉成可讀的文本形式對應的源文件是 org.apache.mahout.utils.SequenceFileDumper.java 將向量文件轉化成
可讀的文本形式,對應的源文件是 org.apache.mahout.utils.vectors.VectorDumper.java
mahout clusterdump 分析最后聚類的輸出結果,對應的源文件是 org.apache.mahout.utils.clustering.ClusterDumper.java
[root@localhost bin]# mahout seqdumper -s output/clusters-5/part-r-00000 -o ~/txt.data
mahout clusterdump –seqFileDir /user/root/output/clusters-10-final –pointsDir /user/root/output/clusteredPoints –output $MAHOUT_HOME/examples/output/clusteranalyze.txt
Mahout 包含三大塊聚類,協同過濾(推薦 item user),分類算法 (貝葉斯)
聚類又稱為群分析,他是研究(樣品或指標)分類的一種統計算法,同時也是數據挖掘的一個重要算法
聚類分析是一個度量的向量,或者是多維空間的一個點
聚類分析已相似性為基礎,在一個聚類中模式之間比不在同一聚類的模式之間更有相似性
聚類的用途很廣泛,
列入在商業上,聚類可以幫助市場分析人員從消費數據庫中區分出不同的消費群體來,并且概括出每一類消費者的消費模式或者說習慣
聚類算法 Canopy 算法(canopy clustering)K 均值算法 (k means cluster) 模糊 K 均值 (fuzzy kmeans),EM 聚類(期望最大化聚類 EXPECTION MAXMIZATION)
均值漂移聚類(Mean shirt clustering)層次聚類(hieratical cluster)狄克磊過程聚類(oirichiet process clustering)
latent dinchiet allocation LOA 聚類
分類 就是按照某種標準給對象貼標簽,再根據標簽來區分歸類
分類是事先定義好類別,類別數不變 比如大豆和綠豆 區分值顏色大小
算法 邏輯回歸(logistic regression)貝葉斯(Bayesian)支持向量機(Support vector machine)感知器算法
(perceptron and winnow)神經網絡(Neural network)隨機森林(random forests)
有限玻爾茲曼機(restric boltzman machine)
協同過濾
推薦系統(商品推薦,用戶推薦)
推薦 / 協同過濾 Non-distributed recommenders/(Distribute Recommenders) TasteUserCF(item cf,slotone)/item cf
向量相似度計算 RowSimilantyJob /VectorDistanceJob 計算列間相似度 / 計算向量間距離
非 MR 算法 Hidden markov models 馬爾科夫模型
集合方法擴展 collocations 擴展了 java 的 collection 類
關聯規則挖掘 parallel Fp growth algorithim 并行 FP growth 算法
回歸 Locally Weighted Linear Regression 局部加權線性回歸
降維 stochastic singular value DeCOMPOSITION 奇異值分解 /pricipal components Analysis 主成分分析 /independent components analysis 獨立成分分析 /
gaussian discriminative analysis 高斯判別分析
進化算法 并行化 watchmake 框架
感謝各位的閱讀,以上就是“mahout kmeans 怎么使用”的內容了,經過本文的學習后,相信大家對 mahout kmeans 怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!