Repositori ini dibangun di atas karya Analisis Data Eksplorasi (EDA) pada Data Tinjauan Amazon (2018) menggunakan MongoDB & Pyspark dan mencakup aplikasi web yang terhubung ke sistem rekomendasi produk yang dikembangkan dengan dataset paon, dan menggunakan kafus yang komprehensif, dan menggunakan kafka, dan menggunakan kafka, dan menggunakan mpkpa, dan menempati sekitar 128 gigabyt (GB), GB), GB). Bagian dari proyek akhir untuk kursus Fundamental of Big Data Analytics (DS2004).
Sistem rekomendasi produk adalah jenis perangkat lunak yang menggunakan analisis data dan teknik pembelajaran mesin untuk menyarankan produk kepada pelanggan berdasarkan minat mereka, pembelian sebelumnya, dan riwayat penelusuran. Sistem ini dapat ditemukan di situs web e-commerce, seperti Amazon.com, dan dirancang untuk memberikan rekomendasi yang dipersonalisasi kepada pengguna secara real-time. Sistem rekomendasi bekerja dengan menganalisis sejumlah besar data, seperti perilaku pengguna, atribut produk, dan riwayat transaksi. Berdasarkan data ini, sistem menghasilkan rekomendasi yang relevan dengan minat dan preferensi pengguna. Misalnya, jika pengguna sebelumnya membeli buku tentang topik tertentu, sistem rekomendasi dapat menyarankan buku lain tentang topik yang sama, atau topik terkait.
Dataset Amazon Review Data (2018) dapat digunakan untuk melatih sistem rekomendasi produk yang menawarkan saran produk yang dipersonalisasi kepada pengguna berdasarkan riwayat pembelian mereka, serta tingkat kepuasan pengguna lain yang telah meninjau dan menilai produk pada platform. Namun, karena dataset sangat luas, sangat penting untuk menganalisis dan memilih fitur yang relevan dengan hati -hati yang secara efektif akan berkontribusi pada sistem rekomendasi produk, untuk menghindari overfitting dan underfitting dari model pembelajaran mesin.
Mirip dengan pendekatan kami dalam melakukan analisis data eksplorasi (EDA) pada data Amazon Review Data (2018) Data Amazon Review Data (2018) Analisis.IPYNB, 1-38) , kami menggunakan metode statistik inferensial untuk melatih model rekomendasi produk kami. Alasan untuk menggunakan sampel untuk membuat kesimpulan tentang seluruh populasi adalah untuk meminimalkan beban komputasi yang terkait dengan pemrosesan dataset lengkap, yang sering tidak praktis untuk satu mesin. Sementara pembelajaran yang mendalam biasanya membutuhkan data dalam jumlah besar, pembelajaran mesin dapat secara efektif digunakan untuk mengembangkan metodologi pelatihan yang kuat bahkan dengan dataset kecil. Ini sangat berguna untuk penelitian yang digerakkan oleh hipotesis, yang merupakan tujuan utama kami dengan sistem rekomendasi produk. (Vabalas et al., 2019) Dalam hal apa pun, penting untuk dicatat bahwa dataset apa pun pada dasarnya adalah subset dari populasi yang lebih besar.
Untuk memastikan keakuratan hasil kami, penting untuk menganalisis dan mengurangi bias potensial dalam data dengan cermat. Ini sangat penting dalam pembelajaran mesin, yang sensitif terhadap bias yang dapat menghasilkan estimasi kinerja yang miring. Untuk mengatasi masalah ini, kami akan menerapkan pendekatan pengambilan sampel acak bertingkat yang kami bahas sebelumnya untuk mengekstraksi sampel yang representatif dari 10.000.000 catatan dari populasi sambil mempertahankan distribusi produk yang sama seperti dalam dataset asli. (compress.py, 1-61) Karena ukuran sampel cukup besar, kami telah mengompresnya menjadi format file parket Apache, yang mengurangi ukuran dataset lebih dari 90%.
BERGERAK KUTIH LECK (ALS) adalah algoritma penyaringan kolaboratif yang digunakan untuk mengembangkan sistem rekomendasi produk. Algoritma ini bertujuan untuk mempelajari faktor-faktor laten atau tersembunyi yang mempengaruhi interaksi pengguna-item, dengan menguraikan matriks peringkat pengguna-item menjadi dua matriks peringkat rendah yang mewakili pengguna dan faktor laten item.
Square bolak-balik (ALS) berfungsi secara iteratif, bergantian antara memperbaiki satu set faktor laten dan penyelesaian untuk yang lain menggunakan algoritma optimasi kuadrat-terkecil. Secara khusus, dalam setiap iterasi, algoritma memperbaiki faktor laten item dan memecahkan faktor laten pengguna menggunakan optimasi kuadrat-terkecil, dan kemudian memperbaiki faktor laten pengguna dan memecahkan untuk item faktor laten menggunakan optimasi kuadrat terkecil.
Square Second (ALS) bolak -balik memiliki beberapa keunggulan untuk sistem rekomendasi produk. Ini dapat diskalakan dan efisien secara komputasi, terutama untuk kumpulan data yang besar dan jarang. Ini dapat menangani data umpan balik implisit, di mana interaksi pengguna-item hanya diketahui ada atau tidak ada, dan bukan peringkat spesifik mereka. Ini juga dapat menangani data yang hilang, di mana tidak semua pengguna telah menilai semua item. Selain itu, bolak-balik kuadrat terkecil (ALS) dapat memberikan rekomendasi item secara real-time, membuatnya cocok untuk sistem rekomendasi online.
Product Recommendation Model.ipynb .srcdata.py - Kode sumber untuk menyimpan dataset dari file notasi objek JavaScript (JSON) ke dalam database MongoDB sebagai koleksi.srccompress.py - Kode sumber untuk mengekstraksi sampel acak bertingkat dari ukuran sampel yang ditentukan dari dataset yang disimpan dalam database MongoDB sebagai koleksi dan menyimpannya sebagai file parket Apache.srcvalidate.py - kode sumber untuk memvalidasi keakuratan dan fungsionalitas sistem rekomendasi produk terlatih menggunakan contoh praktis.modelproduct_recommendation_model - Direktori yang berisi model pembelajaran mesin terlatih untuk sistem rekomendasi produk.appapplication.py - Sumber untuk Aplikasi Web (Flask) yang terkait dengan sistem rekomendasi produk melalui kluster Apache Kafka.apprecommendation.py - Kode Sumber untuk Cluster Apache Kafka yang terhubung ke model pembelajaran mesin terlatih untuk sistem rekomendasi produk yang memungkinkan pembuatan rekomendasi produk.templates - Berisi kode sumber untuk halaman web ( login.html , dashboard.html , review.html , loading.html , dan recommendation.html ) yang diberikan oleh aplikasi web (flask).static - berisi semua ikon dan elemen visual yang digunakan oleh aplikasi web (Flask)..hintrc - File konfigurasi untuk menyesuaikan perilaku Eslint dengan menentukan pengaturan dan aturan tertentu. All_Amazon_Review.json.gz dari situs pengumpulan Amazon Review Data (2018).srcdata.py untuk menyimpan dataset dari file notasi objek JavaScript (JSON) ke dalam database MongoDB sebagai koleksi (pastikan MongoDB sudah diatur dan dijalankan).srccompress.py untuk mengekstrak sampel acak bertingkat dari ukuran yang ditentukan dari dataset yang disimpan di MongoDB dan menyimpan sampel sebagai file parket Apache.Product Recommendation Model.ipynb File (1-16) untuk mengubah koleksi dan menyimpannya kembali di MongoDB untuk akses permanen (Anda tidak perlu menjalankan seluruh file).apprecommendation.py di samping (pastikan bahwa cluster Apache Kafka telah berhasil didirikan dan beroperasi, dengan dua topik bernama kredensial dan rekomendasi ).appapplication.py dan buka tautan yang disediakan ke port host./dashboard , klik tombol ulasan dan kirimkan konten apa pun./loading saat rekomendasi produk dihasilkan./recommendation untuk melihat rekomendasi produk yang dihasilkan. File kode sumber ditulis secara khusus untuk MacOS Ventura dan mungkin perlu modifikasi untuk memastikan eksekusi yang tepat pada sistem operasi lainnya.
Proyek ini ada berkat orang -orang luar biasa yang berkontribusi padanya.