Bei Netflix geht es darum, Menschen mit den Filmen zu verbinden, die sie lieben. Um Kunden zu helfen, diese Filme zu finden, entwickelten sie erstklassige Filmempfehlungssysteme: Cinematchsm. Seine Aufgabe ist es, vorherzusagen, ob jemand einen Film genießen wird, basierend darauf, wie sehr er andere Filme mochte oder nicht mochte. Netflix verwendet diese Vorhersagen, um persönliche Filmempfehlungen auf der Grundlage des einzigartigen Geschmacks jedes Kunden abzugeben. Und während Cinematch ziemlich gut geht, kann es immer besser gemacht werden.
Jetzt gibt es viele interessante alternative Ansätze dafür, wie Cinematch funktioniert, die Netflix nicht ausprobiert hat. Einige werden in der Literatur beschrieben, andere nicht. Wir sind gespannt, ob eine dieser Kinos durch bessere Vorhersagen übertreffen kann. Denn wenn es einen viel besseren Ansatz gibt, könnte dies für unsere Kunden und unser Geschäft einen großen Unterschied machen.
Credits: https://www.netflixprize.com/rules.html
#DataScience
#Netflix
#Recommendation System
#Ratings
#Movie PRediction
#Numpy-Pandas
Netflix lieferte viele anonyme Bewertungsdaten und eine Prognosegenauigkeitsleiste, die 10% besser ist als das, was Cinematch für denselben Trainingsdatensatz kann. (Genauigkeit ist eine Messung, wie genau vorhergesagte Bewertungen von Filmen nachfolgenden tatsächlichen Bewertungen entsprechen.)
Holen Sie sich die Daten von: https://www.kaggle.com/netflix-inc/netflix-prize-data/data
Datendateien:
Die erste Zeile jeder Datei [kombiniert_data_1.txt, kombiniert_data_2.txt, kombiniert_data_3.txt, kombiniert_data_4.txt] enthält die Film -ID, gefolgt von einem Doppelpunkt. Jede nachfolgende Zeile in der Datei entspricht einer Bewertung eines Kunden und dessen Datum im folgenden Format:
CustomerId, Bewertung, Datum
MovieIds reichen nacheinander von 1 bis 17770. CustomerIDs reichen von 1 bis 2649429 mit Lücken. Es gibt 480189 Benutzer. Die Bewertungen befinden sich auf einer Fünf-Sterne-Skala (integraler) von 1 bis 5. Daten haben das Format 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
dem PIPimport 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
dem PIPfrom 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
Bericht - Ein detaillierter Bericht über die Analyse
git clone https://github.com/iamsivab/Movie-Recommendation-Netflix.git
Schauen Sie sich eine Ausgabe von hier an.
Änderungen vornehmen und Pull -Anfrage senden.
? Kontaktieren Sie mich frei, mich bei [email protected] zu kontaktieren
MIT © Sivasubramanian