マハウト-はじめに

私たちは、情報が豊富にある時代に生きています。情報過多は、小さなメールボックスの管理が困難になるほどの高さにまで拡大しています。人気のあるウェブサイト(Facebook、Twitter、Youtubeなど)のいくつかが毎日収集および管理しなければならないデータと記録の量を想像してみてください。あまり知られていないWebサイトでも、大量の情報を大量に受け取ることは珍しくありません。

通常、データマイニングアルゴリズムに頼ってバルクデータを分析し、傾向を特定して結論を​​導き出します。ただし、計算タスクがクラウド上に分散された複数のマシンで実行されない限り、非常に大きなデータセットを処理して結果を迅速に提供するのに十分な効率のデータマイニングアルゴリズムはありません。

これで、計算タスクを複数のセグメントに分割し、各セグメントを異なるマシンで実行できる新しいフレームワークができました。 Mahout は、通常、バックグラウンドでHadoopインフラストラクチャと組み合わせて実行され、大量のデータを管理するデータマイニングフレームワークです。

Apache Mahoutとは何ですか?

象使いは、そのマスターとして象を駆動するものです。この名前は、象をロゴとして使用するApacheHadoopとの密接な関係に由来しています。

Hadoop はApacheのオープンソースフレームワークであり、単純なプログラミングモデルを使用して、コンピューターのクラスター全体の分散環境でビッグデータを保存および処理できます。

Apache Mahoutは、主にスケーラブルな機械学習アルゴリズムを作成するために使用されるオープンソースプロジェクトです。次のような一般的な機械学習手法を実装しています。

  • Recommendation
  • Classification
  • Clustering

Apache Mahoutは、2008年にApacheのLuceneのサブプロジェクトとして開始されました。2010年に、MahoutはApacheのトップレベルプロジェクトになりました。

マハウトの特徴

ApacheMahoutの基本的な機能を以下に示します。

  • MahoutのアルゴリズムはHadoopの上に記述されているため、分散環境でうまく機能します。Mahoutは、Apache Hadoopライブラリを使用して、クラウドで効果的にスケーリングします。

  • Mahoutは、大量のデータに対してデータマイニングタスクを実行するためのすぐに使用できるフレームワークをコーダーに提供します。

  • Mahoutを使用すると、アプリケーションは大量のデータセットを効果的かつ迅速に分析できます。

  • k-means、ファジーk-means、Canopy、Dirichlet、Mean-ShiftなどのMapReduce対応のクラスタリング実装がいくつか含まれています。

  • 分散型ナイーブベイズおよび補完型ナイーブベイズ分類の実装をサポートします。

  • 進化的プログラミングのための分散型適応度関数機能が付属しています。

  • 行列およびベクトルライブラリが含まれています。

Mahoutのアプリケーション

  • Adobe、Facebook、LinkedIn、Foursquare、Twitter、Yahooなどの企業はMahoutを社内で使用しています。

  • Foursquareは、特定の地域で利用できる場所、食べ物、娯楽を見つけるのに役立ちます。Mahoutのレコメンダーエンジンを使用しています。

  • Twitterは、ユーザーインタレストモデリングにMahoutを使用しています。

  • Yahoo! パターンマイニングにMahoutを使用します。