行列のスパース性
実データの評価(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)