Netflixは、人々を愛する映画に結びつけることです。顧客がこれらの映画を見つけるのを助けるために、彼らは世界クラスの映画の推奨システムであるCinematchsmを開発しました。その仕事は、誰かが他の映画をどれだけ気に入ったり嫌いだったかに基づいて映画を楽しむかどうかを予測することです。 Netflixはこれらの予測を使用して、各顧客のユニークな好みに基づいて個人的な映画の推奨事項を作成します。そして、Cinematchはかなり順調に進んでいますが、いつでも良くなることができます。
現在、Netflixが試していないCinematchの仕組みに対する興味深い代替アプローチがたくさんあります。文献に記載されているものもありますが、一部はそうではありません。これらのいずれかがより良い予測を行うことでCinematchを打ち負かすことができるかどうかに興味があります。率直に言って、はるかに良いアプローチがあれば、顧客とビジネスに大きな違いをもたらす可能性があるからです。
クレジット:https://www.netflixprize.com/rules.html
#DataScience
#Netflix
#Recommendation System
#Ratings
#Movie PRediction
#Numpy-Pandas
Netflixは、多くの匿名の評価データと、同じトレーニングデータセットでCinematchができることよりも10%優れた予測精度バーを提供しました。 (精度とは、映画の評価が密接に予測された評価がその後の実際の評価にどれだけ一致するかを測定することです。)
https://www.kaggle.com/netflix-inc/netflix-prize-data/dataからデータを取得します
データファイル:
各ファイルの最初の行[combined_data_1.txt、combined_data_2.txt、combined_data_3.txt、combined_data_4.txt]には、コロンが続く映画IDが含まれています。ファイル内の各行は、次の形式で顧客とその日付からの評価に対応しています。
CustomerID、格付け、日付
MovieIdsの範囲は1〜17770順次範囲です。 CustomerIDSの範囲は1〜2649429で、ギャップがあります。 480189人のユーザーがいます。評価は、1〜5の5つ星(積分)スケールです。日付には、yyyy-mm-ddの形式があります。
# Movie by Movie Similarity Matrix
start = datetime . now ()
if not os . path . isfile ( 'm_m_sim_sparse.npz' ):
print ( "It seems you don't have that file. Computing movie_movie similarity..." )
start = datetime . now ()
m_m_sim_sparse = cosine_similarity ( X = train_sparse_matrix . T , dense_output = False )
print ( "Done.." )
# store this sparse matrix in disk before using it. For future purposes.
print ( "Saving it to disk without the need of re-computing it again.. " )
sparse . save_npz ( "m_m_sim_sparse.npz" , m_m_sim_sparse )
print ( "Done.." )
else :
print ( "It is there, We will get it." )
m_m_sim_sparse = sparse . load_npz ( "m_m_sim_sparse.npz" )
print ( "Done ..." )
print ( "It's a " , m_m_sim_sparse . shape , " dimensional matrix" )
print ( datetime . now () - start )
from datetime import datetime
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
import os
from scipy import sparse
from scipy.sparse import csr_matrix
from sklearn.decomposition import TruncatedSVD
from sklearn.metrics.pairwise import cosine_similarity
import random
knn_bsl_u 1.0726493739667242
knn_bsl_m 1.072758832653683
svdpp 1.0728491944183447
bsl_algo 1.0730330260516174
xgb_knn_bsl_mu 1.0753229281412784
xgb_all_models 1.075480663561971
first_algo 1.0761851474385373
xgb_bsl 1.0763419061709816
xgb_final 1.0763580984894978
xgb_knn_bsl 1.0763602465199797
Name: rmse, dtype: object
レポート - 分析に関する詳細なレポート
git clone https://github.com/iamsivab/Movie-Recommendation-Netflix.git
ここから問題を確認してください。
変更を加えて、プルリクエストを送信します。
? @ [email protected]にお気軽にお問い合わせください
MIT©Sivasubramanian