古いものからの移設ガイド - spark.mllib

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

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) メソッドが完全なモデルを出力するために使われていました; 居mあは概要を出力します。完全なモデルについては、toDebugStringを使ってください。

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

1.0から1.1

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

  1. (Breaking change) The meaning of tree depth has been changed by 1 in order to match the implementations of trees in scikit-learn and in rpart. 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