始める無料で始める

音楽アーティストのレコメンドシステム その1

この演習と次の演習では、これまで学んだNMFの知識を活かして、おすすめの音楽アーティストを出してみましょう。ここでは、行にアーティスト、列にユーザーが入る疎行列artistsが用意されています。各成分は、各ユーザーが各アーティストを再生した回数を表します。

この演習では、パイプラインを構築し、配列を正規化されたNMF特徴量に変換します。パイプラインMaxAbsScalerの最初のステップは、各ユーザーが何人のアーティストを聴いたかに関わらず、すべてのユーザーがモデルに対して同じ影響力を持つようにデータを変換します。次の演習では、この正規化されたNMF特徴量を使ってレコメンドを行います。

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

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • 以下をインポートしてください。
    • sklearn.decompositionからNMF
    • sklearn.preprocessingからNormalizerMaxAbsScaler
    • sklearn.pipelineからmake_pipeline
  • MaxAbsScalerのインスタンスを作成し、scalerという名前を付けてください。
  • 成分数20NMFインスタンスを作成し、nmfという名前を付けてください。
  • Normalizerのインスタンスを作成し、normalizerという名前を付けてください。
  • scalernmfnormalizerを連結したパイプラインを作成し、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 = ____
コードを編集して実行