Proyek ini bertujuan untuk membentuk segmentasi pengguna Netflix berdasarkan usia, preferensi genre, dan pola perilaku menonton. Dengan menerapkan algoritma K-Means dan DBSCAN, proyek ini mengidentifikasi karakteristik serta pola perilaku dari berbagai kelompok pengguna, sehingga dapat ditemukan kelompok dengan minat dan tingkat engagement yang berbeda.
streamlytics-netflix/
├── dataset/
│ ├── original_dataset/ # Dataset mentah dari sumber asli
│ └── preprocessed_dataset/ # Dataset hasil pembersihan & transformasi
├── ML_netflixanalysis.ipynb # Source code utama (Jupyter Notebook)
├── ML_netflixanalysis.json # Metadata run (Kaggle)
└── README.md # Dokumentasi proyek
Dataset digunakan dalam dua tahap utama:
-
Original Dataset
Data asli dari sumber publik Netflix atau komunitas, mencakup atribut seperti: User ID, Age, Genre Preference, Watch Time, Rating Behavior, dll. -
Preprocessed Dataset
Dataset yang telah melalui:- Pembersihan data (missing values, outlier removal)
- Pemilihan fitur relevan dan memiliki missing values minimal
Notebook ini menggunakan dua algoritma utama:
| Model | Tujuan | Keterangan |
|---|---|---|
| K-Means | Mengelompokkan pengguna berdasarkan kesamaan perilaku menonton | Centroid-based clustering |
| DBSCAN | Mendeteksi kelompok unik dan outlier | Cocok untuk data dengan densitas berbeda |
Fitur tambahan:
- Analisis dimensi (PCA, Plotly)
- Evaluasi cluster (Silhouette Score, Davies–Bouldin Index)
- Visualisasi distribusi cluster dalam 2D dan 3D (3D plot tersedia di Kaggle)
Akses notebook melalui:
👉 Kaggle - ML Netflix Analysis
Keuntungan:
- Melihat semua visualisasi (termasuk 3D plot)
- Menjalankan semua cell tanpa instalasi lokal
- Mengedit dan fork notebook dengan akun Kaggle
Jika Anda memiliki Git, clone repository dengan perintah berikut:
git clone https://github.com/Dimas0824/streamlytics-netflix.git
cd streamlytics-netflixJika tidak memiliki Git, lakukan unduh manual:
- Unduh repository secara manual dengan memilih "Download ZIP" di halaman GitHub, lalu ekstrak file ZIP tersebut.
- Install dependensi Python:
pip install -r requirements.txt
- Jalankan notebook:
jupyter notebook ML_netflixanalysis.ipynb
⚠️ Beberapa visualisasi interaktif (terutama 3D Plot) hanya optimal di Kaggle.
- K-Means membentuk beberapa cluster dengan perbedaan signifikan pada preferensi dan durasi menonton.
- DBSCAN mengidentifikasi pengguna dengan perilaku unik di luar cluster mayoritas.
- Analisis dimensi (PCA, t-SNE) memperlihatkan struktur cluster yang terpisah dan interpretatif.
Proyek ini open-source dan dapat digunakan untuk riset atau pembelajaran, dengan mencantumkan atribusi ke pemilik repositori.
Repository ini mendukung eksperimen segmentasi pengguna Netflix menggunakan unsupervised learning. Tujuan akhirnya adalah memberikan insight perilaku penonton berdasarkan genre, usia, dan pola waktu menonton, yang dapat dimanfaatkan untuk:
- Rekomendasi konten lebih personal
- Analisis retensi pengguna
- Strategi promosi dan engagement berbasis data