Pengenalan
Pernah terfikir bagaimana Netflix tahu apa yang anda mahu tonton? Sistem pengesyoran telah menjadi bahagian penting dalam industri filem, membantu pengguna menemui filem yang mereka akan suka berdasarkan pilihan mereka. Dalam siaran ini, saya akan membimbing anda melalui cara saya membina sistem pengesyoran filem ringkas menggunakan Python, memanfaatkan set data dan perpustakaan yang tersedia secara terbuka. Sama ada anda seorang pemula atau pembangun yang berpengalaman, panduan ini akan menjadi penyelam yang menyeronokkan ke dalam dunia data dan pengesyoran.
Langkah 1: Mengumpul Data
Untuk membina sebarang sistem pengesyoran, kami memerlukan data terlebih dahulu. Untuk filem, salah satu set data terbaik yang tersedia ialah set data MovieLens. Ia termasuk maklumat seperti tajuk filem, genre dan penilaian pengguna.
Muat turun set data: Lawati tapak web MovieLens dan muat turun set data.
Muatkan data ke dalam Python: Gunakan perpustakaan seperti Panda untuk membaca set data.
ular sawa
Salin kode
import panda sebagai pd
filem = pd.read_csv('movies.csv')
penilaian = pd.read_csv('ratings.csv')
cetak(movies.head())
print(ratings.head())
Langkah 2: Memilih Pendekatan Pengesyoran
Terdapat dua jenis sistem pengesyoran yang popular:
Penapisan Berasaskan Kandungan: Mengesyorkan filem yang serupa dengan filem yang disukai pengguna sebelum ini.
Penapisan Kolaboratif: Mengesyorkan filem berdasarkan perkara yang disukai pengguna serupa.
Untuk tutorial ini, mari gunakan penapisan berasaskan kandungan.
Langkah 3: Membina Model
Kami akan menggunakan TF-IDF Vectorizer daripada perpustakaan sklearn untuk menganalisis genre dan penerangan filem.
ular sawa
Salin kode
daripada sklearn.feature_extraction.text import TfidfVectorizer
daripada sklearn.metrics.pairwise import cosine_similarity
tfidf = TfidfVectorizer(stop_words='english')
filem['genre'] = filem['genre'].fillna('') # Isi nilai NaN
tfidf_matrix = tfidf.fit_transform(filem['genre'])
cosine_sim = cosinus_similarity(tfidf_matrix, tfidf_matrix)
cetak(cosine_sim.shape)
Langkah 4: Membina Fungsi Pengesyoran
Sekarang, mari buat fungsi untuk mengesyorkan filem berdasarkan tajuk yang dipilih.
ular sawa
Salin kode
def recommend_movies(tajuk, cosine_sim=cosine_sim):
indeks = pd.Siri(movies.index, index=movies['title']).drop_duplicates()
idx = indeks[tajuk]
# Get pairwise similarity scores<br> sim_scores = list(enumerate(cosine_sim[idx]))<br> sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True) <h2> Get top 10 recommendations </h2> <p>sim_scores = sim_scores[1:11]<br> movie_indices = [i[0] for i in sim_scores]</p> <p>return movies['title'].iloc[movie_indices]<br> </p>
cetak(recommend_movies('Kisah Mainan (1995)'))
Langkah 5: Menguji Model
Setelah fungsi sedia, ujinya dengan tajuk filem yang berbeza untuk melihat sama ada pengesyoran sejajar dengan jangkaan anda.
Langkah 6: Penggunaan (Pilihan)
Jika anda ingin meneruskannya, gunakan model ini sebagai aplikasi web mudah menggunakan rangka kerja seperti Flask atau Django. Berikut ialah coretan untuk Flask:
ular sawa
Salin kode
daripada flask import Flask, request, jsonify
apl = Flask(nama)
@app.route('/recommend', methods=['GET'])
def mengesyorkan():
tajuk = request.args.get('title')
cadangan = syor_movies(tajuk)
kembalikan jsonify(recommendations.tolist())
jika nama == 'utama':
app.run(debug=True)
Kesimpulan
tahniah! Anda baru sahaja membina sistem pengesyoran filem asas menggunakan Python. Walaupun ini adalah pelaksanaan yang mudah, ia membuka kemungkinan untuk sistem yang lebih kompleks menggunakan pembelajaran mendalam atau model hibrid. ? Semak sekarang! https://shorturl.at/dwHQI
? Tonton di sini https://shorturl.at/zvAqO
Jika anda menyukai siaran ini, sila tinggalkan ulasan atau kongsi idea anda untuk menambah baik sistem. Selamat mengekod!
Tag
Beri tahu saya jika anda ingin menyesuaikan ini lagi atau menambah bahagian tertentu!? Semak sekarang! https://shorturl.at/dwHQI
? Tonton di sini https://shorturl.at/zvAqO
Atas ialah kandungan terperinci Bagaimana Saya Membina Sistem Pengesyoran Filem Menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!