音楽アーティストのレコメンドシステム その1
この演習と次の演習では、これまで学んだNMFの知識を活かして、おすすめの音楽アーティストを出してみましょう。ここでは、行にアーティスト、列にユーザーが入る疎行列artistsが用意されています。各成分は、各ユーザーが各アーティストを再生した回数を表します。
この演習では、パイプラインを構築し、配列を正規化されたNMF特徴量に変換します。パイプラインMaxAbsScalerの最初のステップは、各ユーザーが何人のアーティストを聴いたかに関わらず、すべてのユーザーがモデルに対して同じ影響力を持つようにデータを変換します。次の演習では、この正規化されたNMF特徴量を使ってレコメンドを行います。
この演習はコースの一部です
Pythonで学ぶ教師なし学習
演習の手順
- 以下をインポートしてください。
sklearn.decompositionからNMFsklearn.preprocessingからNormalizerとMaxAbsScalersklearn.pipelineからmake_pipeline
MaxAbsScalerのインスタンスを作成し、scalerという名前を付けてください。- 成分数
20のNMFインスタンスを作成し、nmfという名前を付けてください。 Normalizerのインスタンスを作成し、normalizerという名前を付けてください。scaler、nmf、normalizerを連結したパイプラインを作成し、pipelineという名前を付けてください。pipelineの.fit_transform()メソッドをartistsに適用してください。結果をnorm_featuresに代入してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Perform the necessary imports
from ____ import ____
from ____ import ____, ____
from ____ import ____
# Create a MaxAbsScaler: scaler
scaler = ____
# Create an NMF model: nmf
nmf = ____
# Create a Normalizer: normalizer
normalizer = ____
# Create a pipeline: pipeline
pipeline = ____
# Apply fit_transform to artists: norm_features
norm_features = ____