古いものからの移設ガイド - MLlib

最新のSparkバージョンのための移行ガイドはMLlib ガイド メインページにあります。

1.5から1.6

spark.mllib あるいは spark.mlパッケージの中で、APIの破壊的な変更はありませんが、非推奨と挙動の変更があります。

非推奨:

挙動の変更:

1.4から1.5

spark.mllib パッケージの中では、幾つかの挙動の変更がありますが、APIを損なう変更はありません。

spark.ml パッケージの中では、一つの破壊的なAPIの変更と、一つの挙動の変更があります:

1.3から1.4

spark.mllibパッケージの中では、幾つかの非互換の変更がありますが、全ては開発中のAPI あるいは 実験的な API です。

spark.ml パッケージの中では、幾つかの主要なAPIの変更がありました。以下を含みます:

spark.ml API はSPark1.3でアルファコンポーネントだったため、ここでは全ての変更をリスト化しません。しかし、1.4からのspark.mlはもうアルファコンポーネントではないため、将来のリリースのためのAPIの変更の詳細を提供するつもりです。

1.2から1.3

spark.mllibパッケージの中で、幾つかの破壊的な変更がありました。最初の変更(ALS) はアルファあるいは実験的として印を付けてられなかったコンポーネントの中で唯一のものです。

spark.ml パッケージで、Spark SQLの主要なAPIの変更があります。最も重要な変更を以下にリスト化します:

他の変更はLogisticRegressionです:

1.1から1.2

MLlib v1.2での唯一のAPIの変更は DecisionTreeで、これはMLlib 1.2の実験的なAPIのままです。

  1. (破壊的な変更) 分類のためのScala APIはクラスの数を指定する名前付きの引数を取ります。MLlib v1.1 では、この引数はPythonではnumClassesと呼ばれ、ScalaではnumClassesForClassification と呼ばれます。MLlib v1.2では、両方の名前がnumClassesに設定されます。この numClasses パラメータは Strategy、あるいは DecisionTree static trainClassifiertrainRegressorメソッドを使って指定されます。

  2. (破壊的な変更) NodeのためのAPIが変更されました。(trainClassifier あるいは trainRegressor メソッドを使う代わりに)ユーザが手動で決定木を構築していない場合は、これは一般的にユーザコードには影響しません。ツリーのNodeは、予想されたラベルの確率(分類のため)を含むより多くの情報を、今は含んでいます。

  3. Printing メソッドの出力が代わりました。toString (Scala/Java) と__repr__ (Python) メソッドが完全なモデルを出力するために使われていました; 今では概要を出力します。完全なモデルについては、toDebugStringを使ってください。

Spark配布物の中の例と、決定木のガイドの中の例が、それに応じて更新されました。

1.0から1.1

MLlib v1.1での唯一のAPIの変更は DecisionTreeで、これはMLlib 1.1の実験的なAPIのままです。

  1. (破壊的な変更) scikit-learnrpartの中での木の実装と合わせるために、木の深さの意味が1つだけ変更されました。MLlib v1.0では、深さ1の木は1つの葉を持ち、深さ2の木は1つのrootノードと2つの葉ノードを持っていました。MLlib v1.1では、a 深さ0の木は1つの葉を持ち、深さ1の木は1つのノードと2つの葉ノードを持ちます。この深さはStrategyでのmaxDepth パラメータ、あるいは DecisionTree static trainClassifiertrainRegressor メソッドによって指定されます。

  2. (破壊的な変更) DecisionTreeを構築するためには、古いパラメータクラスStrategyの使用ではなく、新しく追加されたtrainClassifiertrainRegressor メソッドを使うことをお勧めします。これらの新しい訓練メソッドは明示的に分類と回帰を分割し、それらは特別なパラメータタイプ を単純なStringタイプに置き換えます。

お勧めのtrainClassifiertrainRegressor の新しい例は、決定木ガイドの中で与えられます。

0.0から1.0

MLlib v1.0では、統一された方法でdenseとsparseの両方をサポートします。これは新しい破壊的な変更を導入します。もしデータがsparseであれば、ストレージおよび計算の両方でのまばらさを利用するために、denseの代わりにsparse形式でそれを格納してください。詳細は以下で説明されます。

TOP
inserted by FC2 system