Netflix는 사람들을 좋아하는 영화에 연결하는 것입니다. 고객이 이러한 영화를 찾도록 돕기 위해 세계적 수준의 영화 추천 시스템 인 Cinematchsm을 개발했습니다. 그 임무는 누군가가 다른 영화를 좋아하거나 싫어하는 사람에 따라 영화를 즐길 수 있는지 예측하는 것입니다. Netflix는 이러한 예측을 사용하여 각 고객의 고유 한 취향에 따라 개인 영화 권장 사항을 작성합니다. 그리고 Cinematch는 꽤 잘하고 있지만 항상 더 나아질 수 있습니다.
이제 Cinematch가 Netflix가 시도하지 않은 방식에 대한 흥미로운 대안 접근 방식이 많이 있습니다. 일부는 문헌에 설명되어 있으며 일부는 그렇지 않습니다. 우리는이 중 하나가 더 나은 예측을 통해 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]에는 콜론이 포함되어 있습니다. 파일의 각 후속 줄은 고객의 등급에 해당하고 날짜는 다음 형식으로 해당합니다.
CustomerID, 등급, 날짜
MovieIds는 1에서 17770까지 순차적으로 범위입니다. CustomerID의 범위는 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
DateTime을 설치합니다import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
import os
를 사용하여 OS를 설치하십시오from scipy import sparse
from scipy.sparse import csr_matrix
Scipy.sparse를 설치합니다from sklearn.decomposition import TruncatedSVD
sklearn.decomposition을 설치합니다from sklearn.metrics.pairwise import cosine_similarity
sklearn.metrics.pairwise를 설치하십시오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