Netflix يدور حول توصيل الأشخاص بالأفلام التي يحبونها. لمساعدة العملاء في العثور على هذه الأفلام ، قاموا بتطوير نظام توصية للأفلام على مستوى عالمي: CinematchSM. تتمثل مهمتها في التنبؤ بما إذا كان شخص ما سيستمتع بفيلم بناءً على مقدار ما يحبونه أو يكرهونه. تستخدم Netflix هذه التنبؤات لتقديم توصيات أفلام شخصية بناءً على الأذواق الفريدة لكل عميل. وعلى الرغم من أن Cinematch تعمل بشكل جيد ، إلا أنه يمكن دائمًا تحسينه.
الآن هناك الكثير من الأساليب البديلة المثيرة للاهتمام لكيفية عمل Cinematch الذي لم يحاول Netflix. بعضها موصوف في الأدب ، والبعض الآخر ليس كذلك. نحن مهتمون بما إذا كان أي من هؤلاء يمكنه التغلب على دور السينما من خلال تقديم تنبؤات أفضل. لأنه ، بصراحة ، إذا كان هناك طريقة أفضل بكثير ، فقد تحدث فرقًا كبيرًا لعملائنا وأعمالنا.
الاعتمادات: https://www.netflixprize.com/rules.html
#DataScience
#Netflix
#Recommendation System
#Ratings
#Movie PRediction
#Numpy-Pandas
قدمت Netflix الكثير من بيانات التصنيف المجهولة ، وشريط دقة التنبؤ أفضل بنسبة 10 ٪ مما يمكن أن تفعله Cinematch في نفس مجموعة بيانات التدريب. (الدقة هي قياس كيف تتطابق تقييمات الأفلام المتوقعة بشكل وثيق مع التصنيفات الفعلية اللاحقة.)
احصل على البيانات من: 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 ، تصنيف ، تاريخ
تتراوح السينما من 1 إلى 17770 بالتتابع. يتراوح العميلون من 1 إلى 2649429 ، مع الثغرات. هناك 480189 مستخدم. التصنيفات على مقياس من خمسة نجوم (متكاملة) من 1 إلى 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