協調フィルター トレーナー

協調フィルタリングは、レコメンド システムでよく使用されます。ユーザー、製品、および評価の入力データが与えられると、協調フィルタリング トレーナーは交互最小二乗 (ALS) 法を使用します。この手法では、ユーザーと製品は、スパース行列の未知のエントリまたは空のエントリを予測するために使用できる小さな潜在因子セットによって記述されます。

情報一覧

パラメーター

説明
カテゴリー モデル
データ ソース タイプ HD
出力を他のオペレーターに送信 はい
データ処理ツール Spark

入力

少なくとも 3 つのカラムを含む HDFS 表形式データセット。人物、製品、評価を表すカラムがそれぞれ 1 つある必要があります。

値が不正または欠落しています
Null 値はデータセットから削除されます。削除された Null 値の数は、出力の [サマリー] セクションにリストされます。

制限事項

[試行する追加パラメーター] に高い値を使用すると、ALS アルゴリズムを何度も実行する必要があるため、パフォーマンスに影響します。詳細についてはパラメーターリストを参照してください。

構成

パラメーター 説明
ノート このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。
ユーザー カラム データセット内のユーザーに関する情報が含まれるカラムを選択します。
製品カラム データセット内の製品に関する情報が含まれるカラムを選択します。
評価カラム データセット内の評価に関する情報が含まれるカラムを選択します。
潜在因子数(ランク) MLlib モデルのパラメーター。これは、モデルをトレーニングするための潜在的な因子の数を表します。 3 ~ 100 の間である必要があります。

範囲: 3 ~ 100 (両端を含む)。デフォルト値: 5

反復回数 MLlib ALS モデルに渡されるパラメーター。これは、ALS の各実行に使用される反復回数を表します。

[パラメーターを変更して誤差が最も低いモデルを選択] パラメーターで複数のモデルをトレーニングすることを選択した場合、このパラメーターの値が最初に選択された値となり、次の値はこの数値をパラメーターとして使用してランダムに選択されます。シード。

範囲: 1 ~ 20 (両端を含む)。デフォルト値: 10

モデルごとの正則化パラメータ (λ) データのオーバー フィッティングを防ぐために ALS をトレーニングするときにスカラーとして使用するために MLlib モデルに渡されるパラメーター。

範囲: 0.0 ~ 1.0 (これを除く)。デフォルト値: 0.01

パラメーターを変更し、誤差が最も低い (遅い) モデルを選択する
  • いいえ (デフォルト) - 上で選択したランク、反復子の数、および λ の値を使用して MLlib ALS アルゴリズムを 1 回実行します。 (α= 0.01を使用します)。
  • はい - MLlib ALS モデルの複数のバージョンを実行し、二乗平均平方根誤差が最も優れたものを選択します。より具体的には、次のようにアルゴリズムをトレーニングします。
    1. トレーニング データをトレーニング、テスト、検証セットに分割します (トレーニング 60%、テスト 20%、検証 20%)。
    2. トレーニング セットで MLlib ALS アルゴリズムを実行します。まず、上記のランク、反復子の数、および λ の値を使用します。
    3. これらのパラメーターの異なる半ランダムな値を使用して、アルゴリズムをさらに数回実行します。
    4. 実行ごとに、検証セットに対するテスト セットの二乗平均平方根誤差 (RMSE) を計算します。
    5. 最低の RMSE をもたらすトレーニング パラメーターについては、すべての入力データでモデルを再トレーニングし、それを返します。

出力には、ALS アルゴリズムの各パスのトレーニングに使用されたパラメーターと、それぞれに関連付けられた二乗平均平方根誤差が表示されます。

試行する追加パラメーターの数 各モデル パラメーター (ランク、反復子の数、ラムダ) に対して試行するランダムな値の数。元のパラメーター値とランダムに選択された値の組み合わせごとに MLlib ALS アルゴリズムを実行します。
ノート: この値が大きいほど、計算コストが高くなります。値が大きい場合、これには非常に長い時間がかかることがあります。たとえば、5 を入力した場合、3 つのパラメーター (ランク、反復子の数、ラムダ) ごとに 6 つの値 (入力した値 + ランダムに選択された 5 つの値) が調べられます。この場合、ALS アルゴリズムを 3^6、つまり 243 回実行します。これらの実行ごとに、RMSE も計算します。これには、Spark 側でデータをシャッフルする必要があり、パフォーマンスにさらに影響します。このパラメーターの値は賢明に選択してください。

範囲: 0 ~ 20 (両端を含む)。デフォルト値: 0

出力ディレクトリ 出力ファイルを保存する場所。
高度な Spark 設定の自動最適化
  • [はい] は、デフォルトの Spark 最適化設定の使用を指定します。
  • [いいえ] を選択すると、カスタマイズされた Spark 最適化を提供できます。 [設定の編集] をクリックして、Spark の最適化をカスタマイズします。詳細については、「詳細設定ダイアログ」を参照してください。

出力

ビジュアル出力

選択したパラメーターと二乗平均平方根誤差を示す表。このプロセス中に複数のモデルがトレーニングされた場合 ([パラメーターを変更して誤差が最も低いモデルを選択] を選択した場合)、他のモデルがここに表示されます。

結果の出力場所、処理された行数、および個別のユーザーと製品の数を説明するサマリー。

データ出力
ユーザー ID と製品 ID の潜在要素は HDFS に保存され、次のオペレーターに送信されます。このオペレーターを協調フィルター レコメンダーまたは予測器と組み合わせて使用して、レコメンデーションを作成します。