<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Hadoop第10周練習—Mahout部署及進行20newsgroup數據分析例子

      1  運行環境說明... 3

      1.1  硬軟件環境... 3

      1.2  機器網絡環境... 3

      2  書面作業0:搭建Mahout環境... 3

      2.1  Mahout介紹... 3

      2.2  部署過程... 4

      2.2.1   下載Mahout4

      2.2.2   上傳Mahout4

      2.2.3   解壓縮... 4

      2.2.4   設置環境變量... 5

      2.2.5   驗證安裝完成... 6

      2.3  測試例子... 6

      2.3.1   下載測試數據,放到$MAHOUT_HOME/testdata目錄... 6

      2.3.2   啟動Hadoop. 7

      2.3.3   使用kmeans算法... 7

      2.3.4   查看結果... 7

      3  書面作業1:運行20newsgroup. 8

      3.1  書面作業1內容... 8

      3.2  算法流程... 8

      3.3  實現過程(mahout 0.6版本)... 9

      3.3.1   下載數據... 9

      3.3.2   上傳并解壓數據... 10

      3.3.3   建立訓練集... 11

      3.3.4   建立測試集... 11

      3.3.5   上傳數據到HDFS. 11

      3.3.6   訓練貝葉斯分類器... 12

      3.3.7   觀察訓練作業運行過程... 13

      3.3.8   查看生成模型... 14

      3.3.9   測試貝葉斯分類器... 14

      3.3.10觀察訓練作業運行過程... 15

      3.3.11查看結果... 16

      3.4     實現過程(mahout 0.7+版本)... 17

      4 問題解決... 18

      4.1  使用mahout0.7+版本對20Newsgroup數據建立訓練集時出錯... 18

      1 運行環境說明

      1.1 硬軟件環境

      l  主機操作系統:Windows 64 bit,雙核4線程,主頻2.2G6G內存

      l  虛擬軟件:VMware? Workstation 9.0.0 build-812388

      l  虛擬機操作系統:CentOS 64位,單核,1G內存

      l  JDK1.7.0_55 64 bit

      l  Hadoop1.1.2

      1.2 機器網絡環境

      集群包含三個節點:1namenode2datanode,其中節點之間可以相互ping通。節點IP地址和主機名分布如下:

      序號

      IP地址

      機器名

      類型

      用戶名

      運行進程

      1

      10.88.147.221

      hadoop1

      名稱節點

      hadoop

      NNSNNJobTracer

      2

      10.88.147.222

      hadoop2

      數據節點

      hadoop

      DNTaskTracer

      3

      10.88.147.223

      hadoop3

      數據節點

      hadoop

      DNTaskTracer

      所有節點均是CentOS6.5 64bit系統,防火墻均禁用,所有節點上均創建了一個hadoop用戶,用戶主目錄是/usr/hadoop。所有節點上均創建了一個目錄/usr/local/hadoop,并且擁有者是hadoop用戶。

      2 書面作業0:搭建Mahout環境

      2.1 Mahout介紹

      Mahout Apache Software FoundationASF) 旗下的一個開源項目,提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便快捷地創建智能應用程序。AMahout包含許多實現,包括聚類、分類、推薦過濾、頻繁子項挖掘。此外,通過使用 Apache Hadoop 庫,Mahout 可以有效地擴展到云中。

      2.2 部署過程

      2.2.1下載Mahout

      Apache下載最新的Mahout軟件包,點擊下載會推薦最快的鏡像站點,以下為下載地址:http://archive.apache.org/dist/mahout/0.6/

      clip_image002

      2.2.2上傳Mahout

      把下載的mahout-distribution-0.6.tar.gz安裝包,使用SSH Secure File Transfer工具(第12作業周2.1.3.1介紹)上傳到/home/hadoop/Downloads 目錄下

      clip_image004

      2.2.3解壓縮

      Downloads目中將mahout解壓縮

      cd /home/hadoop/Downloads/

      tar -xzf mahout-distribution-0.6.tar.gz

      clip_image006

      mahout-distribution-0.6目錄移到/usr/local目錄下

      sudo mv mahout-distribution-0.6 /usr/local/mahout-0.6

      cd /usr/local

      ls

      clip_image008

      2.2.4設置環境變量

      使用如下命令編輯/etc/profile文件:

      sudo vi /etc/profile

      clip_image010

      聲明mahouthome路徑和在path加入bin的路徑:

      export MAHOUT_HOME=/usr/local/mahout-0.6

      export MAHOUT_CONF_DIR=/usr/local/mahout-0.6/conf

      export PATH=$PATH:$MAHOUT_HOME/bin

      clip_image012

      編譯配置文件/etc/profile,并確認生效

      source /etc/profile

      2.2.5驗證安裝完成

      重新登錄終端,確保hadoop集群啟動,鍵入mahout --help命令,檢查Mahout是否安裝完好,看是否列出了一些算法:

      mahout --help

      clip_image014

      2.3 測試例子

      2.3.1下載測試數據,放到$MAHOUT_HOME/testdata目錄

      下載一個文件synthetic_control.data,下載地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把這個文件放在$MAHOUT_HOME目錄下clip_image016

      cd /home/hadoop/Downloads/

      mv synthetic_control.data /usr/local/mahout-0.6/

      clip_image018

      mkdir testdata

      cp synthetic_control.data testdata/

      ls

      clip_image020

      2.3.2啟動Hadoop

      ./start-all.sh

      clip_image022

      2.3.3使用kmeans算法

      使用如下命令進行kmeans算法測試:

      mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

      clip_image024

      2.3.4查看結果

      結果會在根目錄建立output新文件夾,如果下圖結果表示mahout安裝正確且運行正常:

      cd output

      ls

      clip_image026

      3 書面作業1:運行20newsgroup

      3.1 書面作業1內容

      安裝Mahout,并運行20newsgroup的測試樣例,抓圖說明實驗過程

      3.2 算法流程

      樸素貝葉斯分類是一種十分簡單的分類算法,樸素貝葉斯的思想基礎是這樣的:對于給出的待分類項,求解在此項出現的條件下各個類別出現的概率哪個最大,就認為此待分類項屬于哪個類別。

      這二十個新聞組數據集合是收集大約20,000新聞組文檔,均勻的分布在20個不同的集合。這20個新聞組集合采集最近流行的數據集合到文本程序中作為實驗,根據機器學習技術。例如文本分類,文本聚集。我們將使用MahoutBayes Classifier創造一個模型,它將一個新文檔分類到這20個新聞組集合范例演示

      clip_image028

       

      3.3     實現過程(mahout 0.6版本)

      3.3.1下載數據

      下載20Newsgroups數據集,地址為 http://qwone.com/~jason/20Newsgroups/ ,下載20news-bydate.tar.gz數據包

      clip_image030

      3.3.2上傳并解壓數據

      把下載的20news-bydate.tar.gz數據包,使用SSH Secure File Transfer工具(第12作業周2.1.3.1介紹)上傳到/home/hadoop/Downloads 目錄下:

      clip_image032

      解壓20news-bydate.tar.gz數據包,解壓后可以看到兩個文件夾,分別為訓練原始數據和測試原始數據:

      cd /home/hadoop/Downloads/

      tar -xzf 20news-bydate.tar.gz

      clip_image034

      mahout根目錄下建data文件夾,然后把20news訓練原始數據和測試原始數據遷移到該文件夾下:

      mkdir /usr/local/mahout-0.6/data

      mv 20news-bydate-t* /usr/local/mahout-0.6/data

      ls /usr/local/mahout-0.6/data

      clip_image036

      3.3.3建立訓練集

      通過如下命令建立訓練集,訓練的數據在20news-bydate-train目錄中,輸出的訓練集目錄為 bayes-train-input

      mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \

      -p /usr/local/mahout-0.6/data/20news-bydate-train \

      -o /usr/local/mahout-0.6/data/bayes-train-input \

      -a org.apache.mahout.vectorizer.DefaultAnalyzer \

      -c UTF-8

      clip_image038

      3.3.4建立測試集

      通過如下命令建立訓練集,訓練的數據在20news-bydate-test目錄中,輸出的訓練集目錄為 bayes-test-input

      mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \

      -p /usr/local/mahout-0.6/data/20news-bydate-test \

      -o /usr/local/mahout-0.6/data/bayes-test-input \

      -a org.apache.mahout.vectorizer.DefaultAnalyzer \

      -c UTF-8

      clip_image040

      3.3.5上傳數據到HDFS

      HDFS中新建./20news文件夾,把生成的訓練集和測試集上傳到HDFS./20news目錄中:

      hadoop fs -mkdir ./20news

      hadoop fs -put /usr/local/mahout-0.6/data/bayes-train-input ./20news

      hadoop fs -put /usr/local/mahout-0.6/data/bayes-test-input ./20news

      hadoop fs -ls ./20news

      hadoop fs -ls ./ 20news/bayes-test-input

      clip_image042

      3.3.6訓練貝葉斯分類器

      使用trainclassifier類訓練在HDFS./20news/bayes-train-input的數據,生成的模型放到./ 20news/newsmodel 目錄中:

      mahout trainclassifier \

      -i /user/hadoop/20news/bayes-train-input \

      -o /user/hadoop/20news/newsmodel \

      -type cbayes

      -ng2 \

      -source hdfs

      clip_image044

       

      3.3.7觀察訓練作業運行過程

      在訓練過程中在JobTracker頁面觀察運行情況,鏈接地址為http://hadoop1:50030/jobtracker.jsp,訓練任務四個作業,大概運行了15分鐘左右:

      clip_image046

      點擊查看具體作業信息

      clip_image048

      map運行情況

      clip_image050

      作業運行情況

      clip_image052

      3.3.8查看生成模型

      通過如下命令查看模型內容:

      hadoop fs -ls ./20news

      hadoop fs -ls ./20news/newsmodel

      hadoop fs -ls ./20news/newsmodel/trainer-tfIdf

      clip_image054

      3.3.9測試貝葉斯分類器

      使用testclassifier類訓練在HDFS./20news/bayestest-input的數據,使用的模型路徑為./ 20news/newsmodel

      mahout testclassifier \

      -m /user/hadoop/20news/newsmodel \

      -d /user/hadoop/20news/bayes-test-input \

      -type cbayes

      -ng2 \

      -source hdfs\

      -method mapreduce

       

      clip_image056

      3.3.10   觀察訓練作業運行過程

      在執行過程中在JobTracker頁面觀察運行情況,鏈接地址為http://hadoop1:50030/jobtracker.jsp,訓練任務1個作業,大概運行了5分鐘左右:

      clip_image058

      作業的基本信息

      clip_image060

      map運行情況

      clip_image062

      reduce運行情況

      clip_image064

      3.3.11   查看結果

      這個混合矩陣的意思說明:上述au分別是代表了有20類別,這就是我們之前給的20個輸入文件,列中的數據說明每個類別中被分配到的字節個數,classified說明應該被分配到的總數

      381  0  0  0  0  9  1  0  0  0  1  0  0  2  0  1  0  0  3  0  0  |  398  a = rec.motorcycles

      意思為rec.motorcycles 本來是屬于 a,有381篇文檔被劃為了a類,這個是正確的數據,其它的分別表示劃到 b~u類中的數目。我們可以看到其正確率為 381/398=0.9573 ,可見其正確率還是很高的了。

      clip_image066

      3.4 實現過程(mahout 0.7+版本)

      0.7版本的安裝目錄下$MAHOUT_HOME/examples/bin下有個腳本文件classifu-20newsgroups.sh,這個腳本中執行過程是和前面分布執行結果是一致的,只不過將各個APIshell腳本封裝到一起了。從0.7版本開始,Mahout移除了命令行調用的APIprepare20newsgroupstrainclassifiertestclassifier,只能通過shell腳本執行。

      執行 $MAHOUT_HOME/examples/bin/classify-20newsgroups.sh 四個選項中選擇第一個選項,

      clip_image068

       

      clip_image070

      4 問題解決

      4.1  使用mahout0.7+版本對20Newsgroup數據建立訓練集時出錯

      使用如下命令對20Newsgroupt數據建立訓練集時:

      mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \

      -p /usr/local/mahout-0.9/data/20news-bydate-train \

      -o /usr/local/mahout-0.9/data/bayes-train-input \

      -a org.apache.mahout.vectorizer.DefaultAnalyzer\

      -c UTF-8

      出現如下錯誤,原因在于從0.7版本開始,Mahout移除了命令行調用的prepare20newsgroupstrainclassifiertestclassifier API,只能通過shell腳本執行$MAHOUT_HOME/examples/bin/classify-20newsgroups.sh進行

      14/12/7 21:31:35 WARN driver.MahoutDriver: Unable to add class: org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups

      14/12/7 21:31:35 WARN driver.MahoutDriver: No org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups.props found on classpath, will use command-line arguments only

      Unknown program 'org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups' chosen.

      Valid program names are:

        arff.vector: : Generate Vectors from an ARFF file or directory

        baumwelch: : Baum-Welch algorithm for unsupervised HMM training

        .......

      調用shell腳本執行參見3.4

      posted @ 2015-01-12 09:05  shishanyuan  閱讀(5684)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产白丝jk捆绑束缚调教视频| 亚洲日本欧美日韩中文字幕| 日韩熟妇| 国产一区二区高清不卡| 特级做a爰片毛片免费看无码| 福利一区二区在线观看| 日韩高清在线亚洲专区不卡| 亚洲精品一区二区三区蜜| 日韩一区二区三区三级| 国产精品欧美福利久久| 久久精品波多野结衣| 疯狂做受XXXX高潮国产| 欧美成人精品手机在线| 国产精品亚洲一区二区在| 亚洲午夜亚洲精品国产成人| 精品素人AV无码不卡在线观看| 99riav精品免费视频观看| 无码中文字幕av免费放| 国产高潮视频在线观看| 国产第一页浮力影院入口| 色综合天天综合网国产人| 麻豆一区二区中文字幕| 亚洲熟妇无码另类久久久| 日韩精品一区二区三区久| 真实国产老熟女无套内射| 日本边添边摸边做边爱| 国产日产免费高清欧美一区| 强插少妇视频一区二区三区| 国产-第1页-浮力影院| 在线a亚洲老鸭窝天堂| 亚洲欧美激情另类| 精品中文人妻中文字幕| 国产精品人成视频免费播放| 亚洲成av人片在线观看www| 二区中文字幕在线观看| 九九热在线免费播放视频| 日本高清视频色欧WWW| 库车县| 丁香五月婷激情综合第九色| 日韩精品一区二区三区激情视频| 久久婷婷大香萑太香蕉AV人|