機械学習ライブラリ(MLlib)ガイド

MLlibはSparkの機械学習(ML)ライブラリです。その目的は実用的な機械学習をスケーラブルおよび簡単にすることです。高レベルでは、それは以下のようなツールを提供します:

発表: データフレームに基づいたAPIは主要なAPIです

MLlib RDDベースのAPIは、今はメンテナンスモードにあります。

Spark 2.0の時点で、spark.mllibパッケージ内のRDDに基づいたAPIはメンテナンスモードに入りました。Sparkのための主要な機械学習APIは、今はspark.mlパッケージ内のDataFrameに基づいたAPIです。

何を意味するのか?

なぜMLlibはデータフレームに基づいたAPIに切り替わっているのか?

"Spark ML"とは何か?

MLlibは非推奨ですか?

依存

MLlib は線形代数パッケージ Breezeを使用します。これは最適化された数学処理のためにnetlib-javaに依存します。実行時にネイティブライブラリ1が利用できない場合は、警告メッセージが表示され、ピュアJVM実装が代わりに使われるでしょう。

ランタイムのプロプライエタリ バイナリのライセンスの問題で、デフォルトではnetlib-javaのネイティブ proxiesを含んでいません。システムに最適化されたバイナリを使用するために netlib-java / Breeze を設定するには、プロジェクトの依存としてcom.github.fommil.netlib:all:1.1.2 をインクルード(あるいはSparkを -Pnetlib-lgpl付きでビルド)して、プラットフォームの追加のインストレーション説明のために netlib-javaドキュメントを読んでください。

PythonでMLlibを使用するには、NumPy バージョン1.4以上が必要になるでしょう。

Migration guide

MLlib はアクティブに開発中です。Experimental/DeveloperApiと印が付けられているAPIは将来のリリースで変更するかも知れません。以下の移行ガイドはリリース間の全ての変更を説明するでしょう。

From 2.0 to 2.1

破壊的な変更

非推奨のメソッドは削除されました。

非推奨と挙動の変更

非推奨

挙動の変更

以前のSparkのバージョン

以前の移行ガイドはこのページに保管されています。


  1. システムに最適化されたネイティブコードの恩恵とバックグラウンドについて知るために、High Performance Linear Algebra in ScalaでのSam HallidayのScalaXトークを見たいと思うかも知れません。

TOP
inserted by FC2 system