Skip to content
icaldisiniPublic

About

UTS Graf Sains Data - Graph Recommender RetailRocket (Neo4j)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

UTS Graf Sains Data — Neo4j & Sistem Rekomendasi (RetailRocket)

Faishal Muflih Irfanu Tsaqib — 24031554170 — S1 Sains Data 2024A, UNESA

Periode yang dipilih (UTC)

Fold Tanggal UNIX timestamp (ms)
P1 (training) 14/08/2015 – 22/08/2015 (9 hari) 1439510400000 – 1440287999999
P2 (testing) 23/08/2015 – 31/08/2015 (9 hari) 1440288000000 – 1441065599999

Isi repo

File Isi
UTS_GSD_24031554170.ipynb Notebook utama: tutorial driver, 2.1 Wrangling & EDA, 2.2 Analytics
import_retailrocket.py Skrip impor CSV → Neo4j (argparse, constraint, batch)
data/events_P1.csv, data/events_P2.csv Dataset hasil filter periode
screenshots/ Graf Neo4j: sebelum.png, sesudah.png, gabungan.png
requirements.txt Dependensi

Cara menjalankan

  1. Jalankan Neo4j 5.x (Neo4j Desktop atau Docker), misalnya dengan Docker:
   docker run -d -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/password123 neo4j:5
  1. Pasang dependensi:
   pip install -r requirements.txt
  1. Unduh dataset RetailRocket dari Kaggle dan taruh events.csv di folder data/ (file mentah tidak disertakan di repo karena berukuran besar): https://www.kaggle.com/datasets/retailrocket/ecommerce-dataset
  2. Atur password di sel konfigurasi notebook (atau lewat environment variable NEO4J_PASSWORD), lalu jalankan notebook dari atas ke bawah.

Ringkasan metode

  • Graf: bipartit berarah (:Visitor)-[:VIEWED|ADDED_TO_CART|BOUGHT]->(:Item), hanya data P1.
  • VSM: bobot interaksi view = 1, addtocart = 3, transaction = 5 (dijumlah per pasangan visitor–item).
  • Proyeksi terpilih: Item–Item. Selisih efisiensi dengan User–User tipis (±591 ribu vs ±665 ribu pasangan), tetapi vektor item jauh lebih informatif: 83,6% vektor user hanya punya 1 interaksi, sedangkan pada item 61,5%.
  • Similarity: cosine berbobot, dihitung di Python dan diverifikasi dengan Cypher (hasil identik), lalu ditulis ke graf sebagai (:Item)-[:SIMILAR {score}]->(:Item).
  • Rekomendasi: Item-KNN (k = 5), user dipilih acak dengan SEED = 170; evaluasi Hit@5 dan NDCG@5 terhadap interaksi P2. Rata-rata 500 user: Hit@5 0,028 dan NDCG@5 0,014 (baseline popularitas 0,016 dan 0,005). Sampelnya kecil, jadi bersifat indikatif.

About

UTS Graf Sains Data - Graph Recommender RetailRocket (Neo4j)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages