Netflix se trata de conectar a las personas con el cine que aman. Para ayudar a los clientes a encontrar esas películas, desarrollaron un sistema de recomendación de películas de clase mundial: Cinematchsm. Su trabajo es predecir si alguien disfrutará de una película en función de cuánto le gustaba o no le gustaban otras películas. Netflix usa esas predicciones para hacer recomendaciones de películas personales basadas en los gustos únicos de cada cliente. Y aunque Cinematch está funcionando bastante bien, siempre se puede mejorar.
Ahora hay muchos enfoques alternativos interesantes sobre cómo funciona Cinematch que Netflix no ha probado. Algunos se describen en la literatura, otros no. Tenemos curiosidad por saber si alguno de estos puede vencer a Cinematch haciendo mejores predicciones. Porque, francamente, si hay un enfoque mucho mejor, podría marcar una gran diferencia para nuestros clientes y nuestro negocio.
Créditos: https://www.netflixprize.com/rules.html
#DataScience
#Netflix
#Recommendation System
#Ratings
#Movie PRediction
#Numpy-Pandas
Netflix proporcionó muchos datos de calificación anónima y una barra de precisión de predicción que es un 10% mejor que lo que Cinematch puede hacer en el mismo conjunto de datos de capacitación. (La precisión es una medida de cómo las calificaciones estrechamente predichas de las películas coinciden con las calificaciones reales posteriores).
Obtenga los datos de: https://www.kaggle.com/netflix-inc/netflix-prize-data/data
Archivos de datos:
La primera línea de cada archivo [combined_data_1.txt, combined_data_2.txt, combined_data_3.txt, combined_data_4.txt] contiene la ID de la película seguida de un colon. Cada línea posterior en el archivo corresponde a una calificación de un cliente y su fecha en el siguiente formato:
Cliente, calificación, fecha
Los películas varían de 1 a 17770 secuencialmente. Los clientes varían de 1 a 2649429, con huecos. Hay 480189 usuarios. Las clasificaciones están en una escala de cinco estrellas (integral) de 1 a 5. Las fechas tienen el formato 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
Informe: un informe detallado sobre el análisis
git clone https://github.com/iamsivab/Movie-Recommendation-Netflix.git
Mira cualquier problema desde aquí.
Hacer cambios y enviar solicitud de extracción.
? No dude en contactarme @ [email protected]
MIT © Sivasubramanian