機械学習/MacでMahoutを使う
をテンプレートにして作成
開始行:
*はじめに [#of548cb6]
[[Apache Mahout:http://mahout.apache.org/]]は,分散環境Ha...
ただし,「Hadoop上でMapReduceを使った機械学習をやりたい」...
「別にMapReduceでなくてもいい」という人は,別のツールを使...
この記事の内容は,Mac OS X 10.6.6, Hadoop 0.20.2, Maven 3...
*必要なもの [#he1838fc]
-Java SE 1.6
Mac OS X 10.6.6には標準でJava SE (JDK) 1.6が入っていると...
ユーティリティーにあるJava Preferencesを実行すると,イン...
*ダウンロード [#f55e60ba]
**Hadoop [#tf54febc]
-Apache Hadoop~
http://hadoop.apache.org/
Hadoop CommonのDownloadにあるDownload a realease now!から...
Hadoop 0.21.0上ではMahoutが動きませんでした.
Hadoop 0.20.2にしておきましょう.
**Maven [#n0635ae6]
-Apache Maven~
http://maven.apache.org/
Downloadのところにある''apache-maven-3.0.2-bin.zip''をダ...
今回はtar.gzがうまくダウンロードできなかったのでzipにしま...
**Mahout [#id2d258c]
-Apache Mahout~
http://mahout.apache.org/
download mahoutにあるOfficial Releaseからミラー・サーバー...
*Hadoopのインストール [#t93d4728]
まずはダウンロードしたhadoop-0.20.2.tar.gzをダブル・クリ...
展開したhadoop-0.20.2を/usr/local/に移動します.
また,/usr/local/hadoopというリンクを作成します.
#geshi(bash){{
$ sudo mv hadoop-0.20.2 /usr/local/
$ sudo ln -s /usr/local/hadoop-0.20.2 /usr/local/hadoop
}}
つぎに,環境変数を設定するため,~/.bashrcに次の内容を追加...
#geshi(bash){{
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framew...
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
}}
動作確認します.
#geshi(bash){{
$ hadoop -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-1...
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mi...
}}
*Mavenのインストール [#jae2d9df]
Apache Mavenはソフトウェア・プロジェクト管理ツールで,Mah...
まず,ダウンロードしたapache-maven-3.0.2-bin.zipをダブル...
展開したapache-maven-3.0.2 を/usr/local/に移動します.
また,/usr/local/mavenというリンクを作成します.
#geshi(bash){{
$ sudo mv apache-maven-3.0.2 /usr/local/
$ sudo ln -s /usr/local/apache-maven-3.0.2 /usr/local/maven
}}
つぎに,環境変数を設定します.
Hadoopのときと同様に,~/.bashrcに次の内容を追加します.
#geshi(bash){{
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH
}}
動作確認します.
#geshi(bash){{
$ mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
Java version: 1.6.0_22
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0...
Default locale: ja_JP, platform encoding: SJIS
OS name: "mac os x" version: "10.6.6" arch: "x86_64" Fami...
}}
*Mahoutのインストール [#o66e1929]
いよいよApache Mahoutをインストールします.
まず,ダウンロードしたmahout-distribution-0.4-src.tar.gz...
展開したmahout-distribution-0.4を/usr/local/に移動します.
また,/usr/local/mahoutというリンクを作成します.
#geshi(bash){{
$ sudo mv mahout-distribution-0.4 /usr/local
$ sudo ln -s /usr/local/mahout-distribution-0.4 /usr/loca...
}}
/usr/local/mahoutディレクトリーへ移動し,Mavenでのインス...
#geshi(bash){{
$ cd /usr/local/mahout
$ sudo mvn install
}}
この処理にはかなり時間がかかりますので,気長に待ちます.
つづいて,今まで同じように,~/.bashrcに環境変数を設定しま...
#geshi(bash){{
export MAHOUT_HOME=/usr/local/mahout
export PATH=$MAHOUT_HOME/bin:$PATH
}}
*Mahoutを使ってみる [#pb6daa87]
Mahoutの実行は,次のような手順になります.
+Hadoopを起動する
+データ・ファイルをHadoop上にコピーする
+Mahoutを実行する
+Mahoutの出力をダンプする
+Hadoopを停止する
**データのダウンロード [#p42041fa]
[[Mahoutのサイト:http://mahout.apache.org/]]にある[[Quick...
ここでは,一番上のクラスタリング「Clustering of synthetic...
このデータは,管理図の時系列データを集めたもので,600個の...
最初の100個のデータが「正常」,その次の100個のデータが「...
データ・ファイルをダウンロードし,適当なフォルダーに保存...
**Hadoopの準備 [#x0a99377]
Hadoopを起動するのに,sshを使います.
そこで,システム環境設定を起動して「共有」をクリックし,...
つぎに,Hadoopを起動します.
#geshi(bash){{
$ $HADOOP_HOME/bin/start-all.sh
}}
何度かログイン用のパスワード入力を求められます.
パスワード入力を省きたい人はssh-agentの設定をしましょう.
また,途中で,JavaのExceptionが発生しますが,原因はわかり...
Hadoopを起動したら,Hadoopのファイル・システムの上にディ...
#geshi(bash){{
$ hadoop fs -mkdir testdata
11/02/18 17:36:27 INFO security.Groups: Group mapping imp...
$ hadoop fs -put synthetic_control.data.txt testdata
11/02/18 18:10:00 INFO security.Groups: Group mapping imp...
}}
**Mahoutの実行 [#f99b0006]
ここでは,Mahoutを使ってK-meansクラスタリングを実行します.
その他のクラスタリングの実行については,[[こちら:https://...
#geshi(bash){{
$ mahout org.apache.mahout.clustering.syntheticcontrol.km...
}}
outputというディレクトリーが作成され,その中に出力されま...
これらのファイルはHadoop用のファイル・システムに書かれた...
**結果の確認 [#lee6a72e]
まず,outputディレクトリーに出力されたファイルのリストを...
#geshi(bash){{
$ hadoop fs -lsr output
}}
outputディレクトリーの中にあるClusters-xというのが学習さ...
Mahoutのclusterdumpを使って,Clusters-xの中身を書き出しま...
ここでは,clusters-0の内容をclusteranalyze-0.txtに書き出...
#geshi(bash){{
$ mahout clusterdump --seqFileDir output/clusters-0 --poi...
}}
出力されたファイルの1行目はこんな感じです.
#geshi(text){{
C-0{n=21 c=[29.552, 33.073, 35.876, 36.375, 35.118, 32.76...
}}
クラスター0(C-0)は,21個のデータを参照していて,そのク...
**Hadoopの終了 [#y708acdb]
最後に,Hadoopを終了します.
#geshi(bash){{
$ $HADOOP_HOME/bin/stop-all.sh
}}
*コメント [#oad62fb0]
用意されたサンプルではなく自分のデータに対してMahoutを使...
残念ながら,ちょっと試してみるというわけにはいかないよう...
Jobファイル作りに挑戦するのは,またいつか.
*参考情報 [#qb4469d4]
-[[Mahoutの開発環境をMaven+Eclipseで作る (1):http://d.hat...
-[[Mahoutの開発環境をMaven+Eclipseで作る (2) Hadoopセット...
-[[Mahoutの開発環境をMaven+Eclipseで作る (3) EclipseでHad...
-[[MacでMadoop (MapReduce):http://blog.suz-lab.com/2010/0...
-[[Mahoutを試してみた:http://blog.suz-lab.com/2010/01/mah...
終了行:
*はじめに [#of548cb6]
[[Apache Mahout:http://mahout.apache.org/]]は,分散環境Ha...
ただし,「Hadoop上でMapReduceを使った機械学習をやりたい」...
「別にMapReduceでなくてもいい」という人は,別のツールを使...
この記事の内容は,Mac OS X 10.6.6, Hadoop 0.20.2, Maven 3...
*必要なもの [#he1838fc]
-Java SE 1.6
Mac OS X 10.6.6には標準でJava SE (JDK) 1.6が入っていると...
ユーティリティーにあるJava Preferencesを実行すると,イン...
*ダウンロード [#f55e60ba]
**Hadoop [#tf54febc]
-Apache Hadoop~
http://hadoop.apache.org/
Hadoop CommonのDownloadにあるDownload a realease now!から...
Hadoop 0.21.0上ではMahoutが動きませんでした.
Hadoop 0.20.2にしておきましょう.
**Maven [#n0635ae6]
-Apache Maven~
http://maven.apache.org/
Downloadのところにある''apache-maven-3.0.2-bin.zip''をダ...
今回はtar.gzがうまくダウンロードできなかったのでzipにしま...
**Mahout [#id2d258c]
-Apache Mahout~
http://mahout.apache.org/
download mahoutにあるOfficial Releaseからミラー・サーバー...
*Hadoopのインストール [#t93d4728]
まずはダウンロードしたhadoop-0.20.2.tar.gzをダブル・クリ...
展開したhadoop-0.20.2を/usr/local/に移動します.
また,/usr/local/hadoopというリンクを作成します.
#geshi(bash){{
$ sudo mv hadoop-0.20.2 /usr/local/
$ sudo ln -s /usr/local/hadoop-0.20.2 /usr/local/hadoop
}}
つぎに,環境変数を設定するため,~/.bashrcに次の内容を追加...
#geshi(bash){{
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framew...
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
}}
動作確認します.
#geshi(bash){{
$ hadoop -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-1...
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mi...
}}
*Mavenのインストール [#jae2d9df]
Apache Mavenはソフトウェア・プロジェクト管理ツールで,Mah...
まず,ダウンロードしたapache-maven-3.0.2-bin.zipをダブル...
展開したapache-maven-3.0.2 を/usr/local/に移動します.
また,/usr/local/mavenというリンクを作成します.
#geshi(bash){{
$ sudo mv apache-maven-3.0.2 /usr/local/
$ sudo ln -s /usr/local/apache-maven-3.0.2 /usr/local/maven
}}
つぎに,環境変数を設定します.
Hadoopのときと同様に,~/.bashrcに次の内容を追加します.
#geshi(bash){{
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH
}}
動作確認します.
#geshi(bash){{
$ mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
Java version: 1.6.0_22
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0...
Default locale: ja_JP, platform encoding: SJIS
OS name: "mac os x" version: "10.6.6" arch: "x86_64" Fami...
}}
*Mahoutのインストール [#o66e1929]
いよいよApache Mahoutをインストールします.
まず,ダウンロードしたmahout-distribution-0.4-src.tar.gz...
展開したmahout-distribution-0.4を/usr/local/に移動します.
また,/usr/local/mahoutというリンクを作成します.
#geshi(bash){{
$ sudo mv mahout-distribution-0.4 /usr/local
$ sudo ln -s /usr/local/mahout-distribution-0.4 /usr/loca...
}}
/usr/local/mahoutディレクトリーへ移動し,Mavenでのインス...
#geshi(bash){{
$ cd /usr/local/mahout
$ sudo mvn install
}}
この処理にはかなり時間がかかりますので,気長に待ちます.
つづいて,今まで同じように,~/.bashrcに環境変数を設定しま...
#geshi(bash){{
export MAHOUT_HOME=/usr/local/mahout
export PATH=$MAHOUT_HOME/bin:$PATH
}}
*Mahoutを使ってみる [#pb6daa87]
Mahoutの実行は,次のような手順になります.
+Hadoopを起動する
+データ・ファイルをHadoop上にコピーする
+Mahoutを実行する
+Mahoutの出力をダンプする
+Hadoopを停止する
**データのダウンロード [#p42041fa]
[[Mahoutのサイト:http://mahout.apache.org/]]にある[[Quick...
ここでは,一番上のクラスタリング「Clustering of synthetic...
このデータは,管理図の時系列データを集めたもので,600個の...
最初の100個のデータが「正常」,その次の100個のデータが「...
データ・ファイルをダウンロードし,適当なフォルダーに保存...
**Hadoopの準備 [#x0a99377]
Hadoopを起動するのに,sshを使います.
そこで,システム環境設定を起動して「共有」をクリックし,...
つぎに,Hadoopを起動します.
#geshi(bash){{
$ $HADOOP_HOME/bin/start-all.sh
}}
何度かログイン用のパスワード入力を求められます.
パスワード入力を省きたい人はssh-agentの設定をしましょう.
また,途中で,JavaのExceptionが発生しますが,原因はわかり...
Hadoopを起動したら,Hadoopのファイル・システムの上にディ...
#geshi(bash){{
$ hadoop fs -mkdir testdata
11/02/18 17:36:27 INFO security.Groups: Group mapping imp...
$ hadoop fs -put synthetic_control.data.txt testdata
11/02/18 18:10:00 INFO security.Groups: Group mapping imp...
}}
**Mahoutの実行 [#f99b0006]
ここでは,Mahoutを使ってK-meansクラスタリングを実行します.
その他のクラスタリングの実行については,[[こちら:https://...
#geshi(bash){{
$ mahout org.apache.mahout.clustering.syntheticcontrol.km...
}}
outputというディレクトリーが作成され,その中に出力されま...
これらのファイルはHadoop用のファイル・システムに書かれた...
**結果の確認 [#lee6a72e]
まず,outputディレクトリーに出力されたファイルのリストを...
#geshi(bash){{
$ hadoop fs -lsr output
}}
outputディレクトリーの中にあるClusters-xというのが学習さ...
Mahoutのclusterdumpを使って,Clusters-xの中身を書き出しま...
ここでは,clusters-0の内容をclusteranalyze-0.txtに書き出...
#geshi(bash){{
$ mahout clusterdump --seqFileDir output/clusters-0 --poi...
}}
出力されたファイルの1行目はこんな感じです.
#geshi(text){{
C-0{n=21 c=[29.552, 33.073, 35.876, 36.375, 35.118, 32.76...
}}
クラスター0(C-0)は,21個のデータを参照していて,そのク...
**Hadoopの終了 [#y708acdb]
最後に,Hadoopを終了します.
#geshi(bash){{
$ $HADOOP_HOME/bin/stop-all.sh
}}
*コメント [#oad62fb0]
用意されたサンプルではなく自分のデータに対してMahoutを使...
残念ながら,ちょっと試してみるというわけにはいかないよう...
Jobファイル作りに挑戦するのは,またいつか.
*参考情報 [#qb4469d4]
-[[Mahoutの開発環境をMaven+Eclipseで作る (1):http://d.hat...
-[[Mahoutの開発環境をMaven+Eclipseで作る (2) Hadoopセット...
-[[Mahoutの開発環境をMaven+Eclipseで作る (3) EclipseでHad...
-[[MacでMadoop (MapReduce):http://blog.suz-lab.com/2010/0...
-[[Mahoutを試してみた:http://blog.suz-lab.com/2010/01/mah...
ページ名: