始める無料で始める

テスト/トレイン分割を作成して ALS モデルを構築する

前の章ですでに ALS モデルの作り方を学びました。ここでも同様に進めますが、今回はクロスバリデーション済みのモデルを完成させるために、いくつか追加の手順を踏みます。

まず、必要な関数をインポートし、クロスバリデーションの準備としてトレイン/テストのデータセットを作成しましょう。

この演習はコースの一部です

PySpark で作る Recommendation Engines

コースを見る

演習の手順

  • ml.evaluation から RegressionEvaluatorml.recommendation から ALS アルゴリズム、ml.tuning から ParamGridBuilderCrossValidator をインポートします。
  • ratings データに対して randomSplit メソッドを使い、0.80/0.20 のトレイン/テスト分割を作成します。データセット名は traintest とし、ランダムシードは 1234 に設定します。
  • ALS モデルを構築し、ratings データフレーム内で userColitemColratingCol に対応する列名を Spark に指定します。nonnegative 引数は TruecoldStartStrategy"drop"implicitPrefs ではないことを示すために implicitPrefs 引数は False に設定します。モデル名は als とします。
  • als に対して type() 関数を呼び出し、モデルが作成されたことを確認します。出力はモデルの型を示すはずです。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____

# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)

# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)

# Confirm that a model called "als" was created
type(____)
コードを編集して実行