Web就活日記

愛と夢と人生について書きます

Machine Learning With Hadoop

Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)

Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)

Big DataのMachine Learning

Daily数百ギガバイトのAccessLogからDataMiningに必要なFeatureをかき集めるのにスタンドアロンの端末で処理を行うには時間が掛かりすぎます。バッチ処理で1日以内にUserのAccessLogを整形、必要な部分を取り出してDataMining/Machine Learningに掛けて、Userが利用するSystemに反映して行こうと考えると最初のバッチ処理で利用できる時間はそれほど多くありません。処理時間改善のためにHadoopを使い複数台のマシンに大量のログデータとバッチ処理を分散させる仕組みはBig Dataを扱う人の中では常識として利用されています。今日はBigDataをMachineLearningさせたいときの方法について調べた内容を載せます。Apache Mahout、PigのUDF、独自MapReduceの3つのうちどれかを使う事になりそうです。

Apache Mahout
  • Hadoop上で実行可能な機械学習ライブラリ。ファイルをDownloadして展開するだけで利用可能。一番お手軽だが未実装のAlgorithmもあり、公開されているPatchファイルを当てるなどの対応が必要になる場合がある。
  • Apache Mahout: Scalable machine learning and data mining はてなブックマーク - Apache Mahout: Scalable machine learning and data mining
  • Algorithms はてなブックマーク - Algorithms
    • Classification
    • Clustering
    • Pattern Mining
    • Regression
    • Dimension reduction
    • Evolutionary Algorithms
    • Recommenders / Collaborative Filtering
    • Vector Similarity
Pig
training = load `training.txt'
using SVMLightStorage()
as (target: int, features: map[]);
store training into `model/'
using FeaturesLRClassifierBuilder();
独自MapReduce
その他

スポンサーリンク