SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Membuat Aplikasi Rekomendasi Film Django Menggunakan Indeks Jaccard

Tujuan saya untuk proyek ini

  • Pahami komponen kunci dari kerangka kerja django
  • Jelaskan Prinsip Dasar dari sistem rekomendasi
  • Membangun aplikasi rekomendasi film sederhana, dengan menerapkan Algoritma Jaccard berdasarkan mekanisme pemfilteran konten

Repositori Github https://github.com/jamattey/Django-Movie-Recommendation

Tumpukan Teknologi

  • Latar Belakang Django
  • Tampilan Depan HTML
  • Bootstrap CSS
  • Database SQLite

Tentang Kerangka Kerja Django

Django membagi logika aplikasinya menjadi tiga komponen seperti Model-View-Controller berikut:

Django Model mengelola pemodelan data dan pemetaan basis data serta logika bisnis untuk memproses data

Django View menjelaskan data mana yang disajikan, tetapi tidak bagaimana data itu disajikan. Biasanya, Django View mendelegasikan dan merender halaman HTML, yang menjelaskan bagaimana data disajikan

Django Template menghasilkan halaman HTML dinamis untuk menyajikan data

Saat klien mengirim permintaan, server Django mengarahkan permintaan ke tampilan yang sesuai berdasarkan konfigurasi URL Django dan bertindak sebagai Pengendali tradisional

Model Django
Django menggunakan Model Django untuk mewakili tabel database dan memetakannya ke objek, seperti proses yang disebut ORM. Model Django mencoba membuat hidup pengembang lebih mudah dengan mengabstraksi database dan memetakan objek dan metode ke dalam tabel dan kueri SQL secara otomatis.

Anda hanya perlu mendefinisikan kelas sebagai Model Django, dan nantinya akan dipetakan ke tabel database yang sesuai. Kemudian Anda cukup menggunakan Django Models API untuk melakukan CRUD pada tabel database tanpa menulis satu baris SQL

Tampilan Django
Di Django, View pada dasarnya adalah fungsi Python. Fungsi tersebut mengambil permintaan Web dan menerapkan logika yang diperlukan untuk menghasilkan respons Web, seperti konten HTML halaman Web, pengalihan, kesalahan 404, dokumen XML, gambar, atau respons Web lainnya. Seringkali, View berinteraksi dengan Model Django untuk mendapatkan data yang diperlukan dalam bentuk QuerySet atau objek untuk menghasilkan respons Web.

Proses Pengembangan Aplikasi Django


Pertama, saya membuat proyek Django yang merupakan wadah untuk aplikasi dan pengaturan Django. Di sini, saya dapat memutuskan untuk membuat dan menambahkan satu atau lebih aplikasi Django ke proyek.

Dalam Pengembangan Inti, saya membuat model Django untuk memodelkan data dan membuat tampilan untuk menentukan data mana yang perlu disajikan ke UI. Saya juga memetakan URL permintaan ke tampilan kami sehingga Django dapat meneruskan permintaan ke tampilan yang sesuai melalui URL. Kemudian kita bisa mulai mendesain dan membangun UI.

Film ini diisi dalam CSV. Situs ini tidak meng-host film yang sebenarnya tetapi merupakan mesin rekomendasi menggunakan kode biasa dan database.

Mesin rekomendasi ini belum menggunakan Machine Learning.......belum 😂😂

Untuk membuat rekomendasi benar-benar berfungsi, saya harus menandai film yang telah ditonton pengguna menggunakan situs Admin Django terlebih dahulu. Kemudian saya menulis algoritme rekomendasi berdasarkan film yang ditonton.

Menandai Film yang Ditonton Di Django Admin

  • Jalankan Server Django
  • kunjungi url admin app_url/admin
  • Kemudian Anda mengeklik entri film dan menandainya sebagai telah ditonton dan tekan Simpan.

Jalankan make_recommendations CMD untuk Menghasilkan Rekomendasi

Untuk sistem rekomendasi apa pun, ide utamanya adalah selalu menghasilkan algoritme/model yang baik untuk memprediksi apakah pengguna tertentu akan menyukai atau tidak menyukai itemnya yang tidak terlihat, seperti yang ditunjukkan pada tangkapan layar berikut:

Mungkin ada ratusan algoritme rekomendasi yang bagus dan secara kasar dapat dibagi menjadi dua kategori:

Berbasis pemfilteran konten:

Algoritme rekomendasi berdasarkan penyaringan konten mengasumsikan Anda mungkin menyukai film baru jika Anda pernah menonton film yang sangat mirip sebelumnya. Atau berdasarkan profil pengguna Anda (seperti usia, jenis kelamin, minat), ia akan mencoba menemukan film baru yang cocok dengan profil Anda.

Pemfilteran kolaboratif berdasarkan:

Algoritme pemfilteran kolaboratif mengasumsikan Anda mungkin menyukai film baru jika pengguna lain yang serupa dengan Anda (profil serupa atau menonton film serupa) telah menonton film ini.

Dalam proyek ini, kami akan menggunakan algoritme berbasis pemfilteran konten, dan kami akan mencoba merekomendasikan film yang belum ditonton/baru kepada Anda jika mirip dengan film yang Anda tonton.

Bagaimana kita menghitung kesamaan film tersebut

Di sini kita akan menggunakan kesamaan Jaccard yang mungkin merupakan metode paling sederhana namun sangat efektif untuk menghitung kesamaan antara dua himpunan.

Jaccard Similarity didefinisikan sebagai ukuran perpotongan dua himpunan dibagi dengan ukuran gabungan kedua himpunan tersebut.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat Kolom Kenaikan Otomatis di SQLite

  2. Saya tidak dapat mengatur banyak gambar dalam tampilan kisi?

  3. Cara terbaik untuk menyimpan gambar yang berasal dari server di android

  4. Android:Sisipan Massal, saat InsertHelper tidak digunakan lagi

  5. GreenDao freemaker.jar tidak ada