Bagaimana Saya Membina Sistem Pengesyoran Filem Menggunakan Python

Linda Hamilton
Lepaskan: 2024-11-16 15:10:03
asal
870 orang telah melayarinya

How I Built a Movie Recommendation System Using Python

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

Muatkan set data filem dan penilaian

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

Vektorkan genre

tfidf = TfidfVectorizer(stop_words='english')
filem['genre'] = filem['genre'].fillna('') # Isi nilai NaN
tfidf_matrix = tfidf.fit_transform(filem['genre'])

Kira matriks persamaan

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>
Salin selepas log masuk




Contoh

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

filem #python #sistempengorbanan #pembelajaranmesin #api

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan