始める無料で始める

行列のスパース性

実データの評価(ratings)では、多くのユーザーがほとんどのアイテムを評価しておらず、多くのアイテムもごく少数のユーザーにしか評価されていない、という課題がよくあります。結果として、DataFrame は非常にスカスカ=スパースになります。

この演習では、movie_lens の評価データについて、値が入っているセルの数を数え、DataFrame 全体のサイズと比べることで、どれだけスパースかを計算します。 これまでの演習で使用した、ユーザーを行、映画を列にもつ DataFrame user_ratings_df はすでに読み込まれています。

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

Pythonでつくるレコメンデーションエンジン

コースを見る

演習の手順

  • user_ratings_df 内の空でないセルの数を数え、sparsity_count として保存します。
  • user_ratings_df のセルの総数を数え、full_count として保存します。
  • 空でないセルの数をセルの総数で割って、DataFrame のスパース性を計算し、結果を出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Count the occupied cells
sparsity_count = user_ratings_df.____().____.____()

# Count all cells
full_count = user_ratings_df.____

# Find the sparsity of the DataFrame
sparsity = ____ / ____
print(sparsity)
コードを編集して実行