Netflix adalah tentang menghubungkan orang ke film yang mereka sukai. Untuk membantu pelanggan menemukan film-film itu, mereka mengembangkan sistem rekomendasi film kelas dunia: Cinematchsm. Tugasnya adalah memprediksi apakah seseorang akan menikmati film berdasarkan seberapa besar mereka menyukai atau tidak menyukai film lain. Netflix menggunakan prediksi tersebut untuk membuat rekomendasi film pribadi berdasarkan selera unik masing -masing pelanggan. Dan sementara Cinematch melakukannya dengan cukup baik, itu selalu bisa dibuat lebih baik.
Sekarang ada banyak pendekatan alternatif yang menarik tentang cara kerja Cinematch yang belum dicoba oleh Netflix. Beberapa dijelaskan dalam literatur, beberapa tidak. Kami ingin tahu apakah semua ini dapat mengalahkan Cinematch dengan membuat prediksi yang lebih baik. Karena, terus terang, jika ada pendekatan yang jauh lebih baik, itu bisa membuat perbedaan besar bagi pelanggan kami dan bisnis kami.
Kredit: https://www.netflixprize.com/rules.html
#DataScience
#Netflix
#Recommendation System
#Ratings
#Movie PRediction
#Numpy-Pandas
Netflix menyediakan banyak data peringkat anonim, dan bilah akurasi prediksi yang 10% lebih baik daripada apa yang dapat dilakukan Cinematch pada set data pelatihan yang sama. (Akurasi adalah pengukuran seberapa dekat peringkat film yang diprediksi cocok dengan peringkat aktual berikutnya.)
Dapatkan data dari: https://www.kaggle.com/netflix-inc/netflix-prize-data/data
File Data:
Baris pertama dari setiap file [gabungan_data_1.txt, gabungan_data_2.txt, gabungan_data_3.txt, gabungan_data_4.txt] berisi ID film yang diikuti oleh usus besar. Setiap baris berikutnya dalam file sesuai dengan peringkat dari pelanggan dan tanggal dalam format berikut:
Customerid, rating, tanggal
MovieIds berkisar dari 1 hingga 17770 secara berurutan. CustomerIds berkisar dari 1 hingga 2649429, dengan kesenjangan. Ada 480189 pengguna. Peringkat berada pada skala lima bintang (integral) dari 1 hingga 5. Tanggal memiliki 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
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
Laporan - Laporan terperinci tentang analisis
git clone https://github.com/iamsivab/Movie-Recommendation-Netflix.git
Lihat masalah apa pun dari sini.
Membuat perubahan dan mengirim permintaan tarik.
? Jangan ragu untuk menghubungi saya @ [email protected]
MIT © Sivasubramanian