MLlibは、Apache Sparkのスケーラブルな機械学習ライブラリです。

使いやすさ

Java、Scala、Python、およびRで使用できます。

MLlibはSparkのAPIに適合し、PythonのNumPy(Spark 0.9以降)およびRライブラリ(Spark 1.5以降)と相互運用します。Hadoopデータソース(HDFS、HBase、ローカルファイルなど)を使用できるため、Hadoopワークフローに簡単に組み込むことができます。

data = spark.read.format("libsvm")\
  .load("hdfs://...")

model = KMeans(k=10).fit(data)
PythonでのMLlibの呼び出し

パフォーマンス

高品質なアルゴリズム、MapReduceより100倍高速。

Sparkは反復計算に優れており、MLlibの高速実行を可能にします。同時に、アルゴリズムのパフォーマンスにも配慮しています。MLlibには、反復を活用する高品質なアルゴリズムが含まれており、MapReduceで使用されることがあるワンパス近似よりも優れた結果が得られます。

HadoopとSparkにおけるロジスティック回帰

どこでも実行可能

Sparkは、Hadoop、Apache Mesos、Kubernetes、スタンドアロン、またはクラウドで、さまざまなデータソースに対して実行できます。

Sparkは、スタンドアロンクラスターモードEC2Hadoop YARNMesos、またはKubernetesを使用して実行できます。HDFSApache CassandraApache HBaseApache Hive、および数百もの他のデータソースのデータにアクセスできます。

アルゴリズム

MLlibには、多くのアルゴリズムとユーティリティが含まれています。

MLアルゴリズムには以下が含まれます

  • 分類:ロジスティック回帰、単純ベイズなど
  • 回帰:一般化線形回帰、生存回帰など
  • 決定木、ランダムフォレスト、勾配ブースティング木
  • レコメンデーション:交互最小二乗法(ALS)
  • クラスタリング:K平均法、ガウス混合モデル(GMM)など
  • トピックモデリング:潜在的ディリクレ配分法(LDA)
  • 頻出アイテムセット、相関ルール、シーケンシャルパターンマイニング

MLワークフローユーティリティには以下が含まれます

  • 特徴変換:標準化、正規化、ハッシュなど
  • MLパイプライン構築
  • モデル評価とハイパーパラメーターチューニング
  • MLの永続性:モデルとパイプラインの保存と読み込み

その他のユーティリティには以下が含まれます

  • 分散線形代数:SVD、PCAなど
  • 統計:要約統計量、仮説検定など

使用例については、MLlibガイドを参照してください。

コミュニティ

MLlibは、Apache Sparkプロジェクトの一部として開発されています。そのため、Sparkの各リリースでテストおよび更新されます。

ライブラリについて質問がある場合は、Sparkメーリングリストでお問い合わせください。

MLlibは依然として急速に成長しているプロジェクトであり、貢献を歓迎します。MLlibにアルゴリズムを送信したい場合は、Sparkへの貢献方法を読んで、パッチを送信してください!

はじめに

MLlibを使い始めるには