【DSW Gallery】Alternating Least Squares Algorithm to Solve Recommendation Related Problems
はじめに:ALS (Alternating Lease Square) 交互最小二乗法は、モデルベースの協調フィルタリングアルゴリズムであり、評価マトリックスを行列分解してアイテムに対するユーザーのスコアを予測するために使用されます。全ユーザーのプロダクトに対する評価を観察することで、各ユーザーの好みを推測し、適切なプロダクトを推薦します。
直接実行する
推薦関連の問題を解決するために交互最小二乗法アルゴリズムを開き、右上の「Open in DSW」をクリックしてください。
ALS 映画推薦
1:ALS (Alternating Lease Square) 交互最小二乗法は、モデルベースの協調フィルタリングアルゴリズムであり、評価マトリックスを行列分解してアイテムに対するユーザーのスコアを予測するために使用されます。全ユーザーのプロダクトに対する評価を観察することで、各ユーザーの好みを推測し、適切なプロダクトを推薦します。
2:この記事では、Alink の ALS アルゴリズムを使用して PAI-DSW で映画を推薦する方法を紹介します。
動作環境の要件
1. PyAlink は PAI-DSW の公式イメージにデフォルトでインストールされており、メモリ要件は 4 GB 以上です。
2. このノートブックのコンテンツは、追加のファイルなしで直接実行して表示できます。
from pyalink.alink import *
useLocalEnv(2) # set parallelism to 2
PyAlink の使用を開始するには、以下のいずれかのコマンドを使用します:
- useLocalEnv(parallelism, flinkHome=None, config=None):PyAlink スクリプトをローカルで実行します。
- useRemoteEnv(host, port, parallelism, flinkHome=None, localIp="localhost", config=None):PyAlink スクリプトを Flink クラスターで実行します。
- getMLEnv():PyAlink スクリプトを PyFlink スクリプトとして実行します。'flink run -py xxx.py' をサポートします。
resetEnv() を呼び出して環境をリセットし、別の環境に切り替えます。
JVM listening on 127.0.0.1:58422
より大規模なデータへのスケーリング
この例では、useLocalEnv を使用して Alink ジョブをローカル(DSW コンテナ内)で実行し、マルチスレッドを使用して分散コンピューティングをシミュレートします。
より大規模なデータの場合は、usePAIEnv を使用して大規模クラスターにジョブを送信します。help(usePAIEnv) で詳細な使用法を確認できます。
データの準備
Movielens データソース:http://files.grouplens.org/datasets/movielens/ml-100k/
ALS アルゴリズムには、入力データとして 3 列(userId、itemId、ratings)、つまりユーザー ID、プロダクト ID、およびユーザーのプロダクトに対する評価情報が必要です。
ALS モデルのトレーニング
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alstrainbatchop
ALS アルゴリズムは、入力されたトリプレット情報を行列に分解することで、各 userId と itemId に対応するベクトル表現を取得します。
ALS モデルを使用したスコアリング
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alsraterecommender
ALS モデルを使用して指定された (userId, itemId) のペアにスコアを付けます。通常、ユーザーが特定の映画をどの程度好むかを判断するために使用されます。
ALS モデルを使用したユーザーへの映画推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/fmitemsperuserrecommender
指定された userId に関連する itemId リストを推薦します。通常、ユーザーが好みそうな映画を数本推薦するために使用されます。
ALS モデルを使用した映画と類似した映画の検索
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alssimilaritemsrecommender
指定された itemId に関連する itemId リストを推薦します。通常、ある映画を視聴したユーザーが好みそうな映画を数本推薦するために使用されます。
ALS モデルを使用した類似ユーザーの推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alssimilar
指定された userId に関連する userId リストを推薦します。通常、興味関心の近いユーザーグループを推薦するために使用され、ユーザー間の交流を促進します。
ALS モデルを使用した映画への潜在ユーザー推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alsusersperitemrecommender
指定された itemId に関連する userId リストを推薦します。通常、ある映画の潜在的な視聴者を推薦するために使用され、新作映画のプロモーション推薦に活用されます。
直接実行する
推薦関連の問題を解決するために交互最小二乗法アルゴリズムを開き、右上の「Open in DSW」をクリックしてください。
ALS 映画推薦
1:ALS (Alternating Lease Square) 交互最小二乗法は、モデルベースの協調フィルタリングアルゴリズムであり、評価マトリックスを行列分解してアイテムに対するユーザーのスコアを予測するために使用されます。全ユーザーのプロダクトに対する評価を観察することで、各ユーザーの好みを推測し、適切なプロダクトを推薦します。
2:この記事では、Alink の ALS アルゴリズムを使用して PAI-DSW で映画を推薦する方法を紹介します。
動作環境の要件
1. PyAlink は PAI-DSW の公式イメージにデフォルトでインストールされており、メモリ要件は 4 GB 以上です。
2. このノートブックのコンテンツは、追加のファイルなしで直接実行して表示できます。
from pyalink.alink import *
useLocalEnv(2) # set parallelism to 2
PyAlink の使用を開始するには、以下のいずれかのコマンドを使用します:
- useLocalEnv(parallelism, flinkHome=None, config=None):PyAlink スクリプトをローカルで実行します。
- useRemoteEnv(host, port, parallelism, flinkHome=None, localIp="localhost", config=None):PyAlink スクリプトを Flink クラスターで実行します。
- getMLEnv():PyAlink スクリプトを PyFlink スクリプトとして実行します。'flink run -py xxx.py' をサポートします。
resetEnv() を呼び出して環境をリセットし、別の環境に切り替えます。
JVM listening on 127.0.0.1:58422
より大規模なデータへのスケーリング
この例では、useLocalEnv を使用して Alink ジョブをローカル(DSW コンテナ内)で実行し、マルチスレッドを使用して分散コンピューティングをシミュレートします。
より大規模なデータの場合は、usePAIEnv を使用して大規模クラスターにジョブを送信します。help(usePAIEnv) で詳細な使用法を確認できます。
データの準備
Movielens データソース:http://files.grouplens.org/datasets/movielens/ml-100k/
ALS アルゴリズムには、入力データとして 3 列(userId、itemId、ratings)、つまりユーザー ID、プロダクト ID、およびユーザーのプロダクトに対する評価情報が必要です。
ALS モデルのトレーニング
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alstrainbatchop
ALS アルゴリズムは、入力されたトリプレット情報を行列に分解することで、各 userId と itemId に対応するベクトル表現を取得します。
ALS モデルを使用したスコアリング
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alsraterecommender
ALS モデルを使用して指定された (userId, itemId) のペアにスコアを付けます。通常、ユーザーが特定の映画をどの程度好むかを判断するために使用されます。
ALS モデルを使用したユーザーへの映画推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/fmitemsperuserrecommender
指定された userId に関連する itemId リストを推薦します。通常、ユーザーが好みそうな映画を数本推薦するために使用されます。
ALS モデルを使用した映画と類似した映画の検索
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alssimilaritemsrecommender
指定された itemId に関連する itemId リストを推薦します。通常、ある映画を視聴したユーザーが好みそうな映画を数本推薦するために使用されます。
ALS モデルを使用した類似ユーザーの推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alssimilar
指定された userId に関連する userId リストを推薦します。通常、興味関心の近いユーザーグループを推薦するために使用され、ユーザー間の交流を促進します。
ALS モデルを使用した映画への潜在ユーザー推薦
アルゴリズム関連ドキュメント:https://www.yuque.com/pinshu/alink_doc/alsusersperitemrecommender
指定された itemId に関連する userId リストを推薦します。通常、ある映画の潜在的な視聴者を推薦するために使用され、新作映画のプロモーション推薦に活用されます。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
