音楽アーティストを推薦する パート I
この演習と次の演習では、NMF について学んだことを使って人気の音楽アーティストを推薦してみます。スパース配列 artists が与えられており、行がアーティスト、列がユーザーに対応しています。各要素は、各ユーザーが各アーティストを再生した回数を表します。
この演習では、パイプラインを構築し、配列を正規化した NMF 特徴量に変換します。パイプラインの最初のステップである MaxAbsScaler は、ユーザーがどれだけ多くの異なるアーティストを聴いていても、すべてのユーザーがモデルに与える影響を同一にするようにデータを変換します。次の演習では、得られた正規化済みの NMF 特徴量を推薦に活用します。
この演習はコースの一部です
Pythonで学ぶ教師なし学習
演習の手順
- 次をインポートします:
sklearn.decompositionからNMF。sklearn.preprocessingからNormalizerとMaxAbsScaler。sklearn.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 = ____