- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 機械学習/MacでMahoutを使う へ行く。
- 1 (2011-02-18 (金) 17:00:52)
- 2 (2011-02-18 (金) 18:50:39)
- 3 (2011-02-19 (土) 14:53:38)
この記事はまだ書きかけです.
はじめに †
Apache Mahoutは,分散環境Hadoopの上で動くスケーラブルな機械学習ライブラリーです.
この記事の内容は,Mac OS X 10.6.6, Hadoop 0.21.0, Maven 3.0.2, Mahout 0.40で確認しました.
必要なもの †
- Java SE 1.6
Mac OS X 10.6.6には標準でJava SE (JDK) 1.6が入っていると思います. ユーティリティーにあるJava Preferencesを実行すると,インストールされているJavaのバージョンが確認できます.
ダウンロード †
Hadoop †
- Apache Hadoop
http://hadoop.apache.org/
Hadoop CommonのDownloadにあるDownload a realease now!からミラー・サーバーのリストに行き,その中のどれかからhadoop-0.21.0.tar.gzをダウンロードします.
Maven †
- Apache Maven
http://maven.apache.org/
Downloadのところにあるapache-maven-3.0.2-bin.zipをダウンロードします. 今回はtar.gzがうまくダウンロードできなかったのでzipにしましたが,基本的にはどちらでも同じです.
Mahout †
- Apache Mahout
http://mahout.apache.org/
download mahoutにあるOfficial Releaseからミラー・サーバーのリストに行き,その中のどれかから"mahout-distribution-0.4.tar.gz''をダウンロードします.
Hadoopのインストール †
まずはダウンロードしたhadoop-0.21.0.tar.gzをダブル・クリックして展開します.
展開したhadoop-0.21.0を/usr/local/に移動します. また,/usr/local/hadoopというリンクを作成します.
$ sudo mv hadoop-0.20.2 /usr/local/ $ sudo ln -s /usr/local/hadoop-0.20.2 /usr/local/hadoop
つぎに,環境変数を設定するため,~/.bashrcに次の内容を追加します.
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home export PATH=$JAVA_HOME/bin:$PATH export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH
動作確認します.
$ hadoop -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
Mavenのインストール †
Apache Mavenはソフトウェア・プロジェクト管理ツールで,Hadoopをビルドするのに必要です.
まず,ダウンロードしたapache-maven-3.0.2-bin.zipをダブル・クリックして展開します.
展開したapache-maven-3.0.2 を/usr/local/に移動します. また,/usr/local/mavenというリンクを作成します.
$ sudo mv apache-maven-3.0.2 /usr/local/ $ sudo ln -s /usr/local/apache-maven-3.0.2 /usr/local/maven
つぎに,環境変数を設定します. Hadoopのときと同様に,~/.bashrcに次の内容を追加します.
export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH
動作確認します.
$ 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.jdk/Contents/Home Default locale: ja_JP, platform encoding: SJIS OS name: "mac os x" version: "10.6.6" arch: "x86_64" Family: "mac"
Mahoutのインストール †
いよいよApache Mahoutをインストールします.
まず,ダウンロードしたmahout-distribution-0.4-src.tar.gzをダブル・クリックして展開します.
展開したmahout-distribution-0.4を/usr/local/に移動します. また,/usr/local/mahoutというリンクを作成します.
$ sudo mv mahout-distribution-0.4 /usr/local $ sudo ln -s /usr/local/mahout-distribution-0.4 /usr/local/mahout
/usr/local/mahoutディレクトリーへ移動し,Mavenでのインストールを行います.
$ cd /usr/local/mahout $ sudo mvn install
この処理にはかなり時間がかかりますので,気長に待ちます.
つづいて,今まで同じように,~/.bashrcに環境変数を設定します.
export MAHOUT_HOME=/usr/local/mahout export PATH=$MAHOUT_HOME/bin:$PATH
Mahoutを使ってみる †
MahoutはHadoopの上で動くので,まずはHadoopを起動し,次にMahoutを起動するという順序になります. HadoopはHDFSと呼ばれる分散環境用の特製ファイル・システムを用いますので,Hadoopを起動したら,HDFSにデータ・ファイルをコピーするという作業が必要です. また,Mahoutの実行が終わったら,HDFS上のファイルをMacのファイル・システムにコピーするという作業も必要になります.
データのダウンロード †
Quickstartをクリックして,例題のリストを表示します. ここでは,一番上のクラスタリング「Clustering of synthetic control data」を使います.
このデータは,管理図の時系列データを集めたもので,600個のデータに対し時系列を成す60個の説明変数があります. 最初の100個のデータが「正常」,その次の100個のデータが「周期的」,以下同様に「増加トレンド」,「減少トレンド」,「上方シフト」,「下方シフト」となっています.
データ・ファイルをダウンロードし,適当なフォルダーに保存します.
Hadoopの準備 †
Hadoopを起動するのに,sshを使います. そこで,システム環境設定を起動して「共有」をクリックし,「リモートログイン」にチェックを入れておきます.
つぎに,Hadoopを起動します.
$ $HADOOP_HOME/bin/start-all.sh
Hadoopを起動したら,Hadoopのファイル・システムの上にディレクトリーを作成し,データ・ファイルをMacのファイル・システムからHadoopのファイル・システムにコピーします..
$ hadoop fs -mkdir testdata 11/02/18 17:36:27 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000 $ hadoop fs -put synthetic_control.data.txt testdata 11/02/18 18:10:00 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000
実行 †
すみません. まだ実行できていません.
続きは,いずれまた.
参考情報 †
- MacでMadoop (MapReduce) | suz-lab
- Mahoutを試してみた | suz-lab