- Mahoutは、オープンソースソフトウェアの機械学習ライブラリ
- Map-Reduceを使って実装されているので簡単に利用出来るのが特徴
- コマンドラインやJAVAなどのプログラムで、Mahoutを使う事が出来ます。
Mahoutの概要
Mahoutとは、Apache Software Foundationにより公開されているオープンソースソフトウェアの機械学習ライブラリです。
Mahoutを使えば、ビッグデータの分散処理を可能とするApache Hadoopのメリットを活かして、機械学習システムを構築する事が出来ます。
無料で使えるライブラリでありながら、クラスタリングやレコメンドなどの機械学習アルゴリズムがMapReduceで実装されていて、ドキュメント類も整備されていますので、本格的な機械学習アプリケーションを構築する事が可能です。
Mahoutに実装されている機能
Mahoutには、
・レコメンデーション(Recomendation)
・クラスタリング(Clustering)
・分類(Classification)
を中心とした機能が実装されています。
Hadoopプロジェクトで実装された分散プログラミング用APIである Map-Reduceを使って実装されているので、簡単に利用出来るのが特徴です。
具体的な機能として以下のようなものが用意されています。
- K平均法、ファジィK平均法、Canopy、ディリクレ、平均シフトなどのMap-Reduce に対応するクラスタリング実装
- 分散型と補完型の単純ベイズ分類器
- 進化的プログラミングに使用する分散型適応度関数
- 行列とベクトルに関するライブラリ
Mahoutの利用方法
Hadoopが使える環境でJava1.6以上が環境変数JAVA_HOMEに設定されていれば、バイナリ配布版を入手して展開するだけで、Mahoutを利用出来ます。
Mahoutをコマンドラインで使う場合は、mahoutシェルスクリプトに対して、
・コマンド
・パラメータ
・入出力ディレクトリ
などを指定するだけです。
Javaなどのプログラムからも、ドライバでAPIを使えば簡単にMahoutの機能が利用出来ます。
本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。
参考文献
- 試すのが難しい―機械学習の常識はMahoutで変わる
- Apache Mahoutの紹介
- Mahoutによる機械学習の実際:Apache Mahoutの使い方:テキスト分類のアルゴリズムを活用する (1/3) – @IT