Update README.md
This commit is contained in:
parent
e37fb7d850
commit
9c3b6dd4df
112
README.md
112
README.md
@ -5,90 +5,98 @@ Anggota Kelompok :
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
**Judul: Analisis Prediktif Rating Film 2025 Menggunakan Pendekatan Ensemble Learning**
|
**Laporan Analisis Klasifikasi Kualitas Film**
|
||||||
|
|
||||||
BAB 1: PENDAHULUAN
|
Metode: Random Forest vs. K-Nearest Neighbors (KNN)
|
||||||
|
|
||||||
1.1 Latar Belakang Masalah
|
Dataset: Latest 2025 Movies Dataset
|
||||||
|
1. Pendahuluan
|
||||||
|
|
||||||
Industri perfilman modern menghasilkan volume data yang masif setiap tahunnya. Keberhasilan sebuah film sering kali diukur tidak hanya dari pendapatan, tetapi juga dari penerimaan penonton yang tercermin dalam skor rating (vote average). Bagi pemangku kepentingan seperti rumah produksi dan investor, kemampuan untuk mengestimasi rating film—baik sebelum rilis maupun pada tahap awal penayangan—sangat krusial untuk menentukan strategi pemasaran dan proyeksi kesuksesan jangka panjang.
|
1.1 Latar Belakang
|
||||||
Namun, perilaku penonton sangat kompleks dan tidak selalu linear. Film dengan biaya promosi tinggi (popularitas tinggi) tidak menjamin rating yang baik. Oleh karena itu, diperlukan pendekatan berbasis data (data-driven) menggunakan Machine Learning untuk memodelkan pola penilaian penonton yang rumit ini.
|
|
||||||
|
|
||||||
1.2 Rumusan Masalah
|
Penelitian ini bertujuan untuk membangun model Machine Learning yang mampu memprediksi apakah sebuah film layak tonton (watchable) atau sebaiknya dilewati , berdasarkan meta-data popularitas film tersebut.
|
||||||
|
|
||||||
Berdasarkan latar belakang tersebut, rumusan masalah dalam penelitian ini adalah:
|
1.2 Deskripsi Dataset
|
||||||
|
|
||||||
1. Bagaimana karakteristik fitur-fitur yang mempengaruhi penilaian penonton terhadap sebuah film?
|
Sumber Data: Latest 2025 movies Datasets.csv
|
||||||
2. Algoritma Machine Learning manakah yang paling akurat dalam memprediksi skor rating film (vote_average)?
|
|
||||||
3. Seberapa signifikan pengaruh interaksi penonton (vote count) dibandingkan popularitas (popularity) terhadap rating akhir?
|
|
||||||
|
|
||||||
1.3 Tujuan Penelitian
|
Total Sampel: 10.000 judul film.
|
||||||
|
|
||||||
1. Membangun model prediksi rating film menggunakan dataset "Latest 2025 Movies" yang didapat dari situs kaggle.
|
Fitur Independen (X):
|
||||||
2. Mengevaluasi dan membandingkan kinerja lima algoritma regresi: Multiple Linear Regression, Polynomial Regression, K-Nearest Neighbors (KNN), Decision Tree, dan Random Forest.
|
|
||||||
3. Menganalisis fitur terpenting (feature importance) yang menjadi penentu utama tinggi rendahnya rating film.
|
|
||||||
|
|
||||||
BAB 2: METODOLOGI PENELITIAN
|
popularity (Skor popularitas numerik)
|
||||||
|
|
||||||
2.1 Sumber Data
|
vote_count (Jumlah partisipasi voting)
|
||||||
|
|
||||||
Data yang digunakan dalam penelitian ini adalah dataset sekunder "Latest 2025 Movies Datasets". Dataset ini mencakup informasi komprehensif mengenai film-film yang dirilis atau dijadwalkan rilis sekitar tahun 2025, meliputi atribut: Judul, Tanggal Rilis, Bahasa Asli, Popularitas, Jumlah Vote, Rata-rata Vote, dan Sinopsis.
|
original_language (Bahasa asli film)
|
||||||
|
|
||||||
2.2 Pra-pemrosesan Data (Data Preprocessing)
|
Target Dependen (y): is_watchable
|
||||||
|
|
||||||
Untuk menjamin kualitas model, dilakukan tahapan pembersihan dan penyiapan data sebagai berikut:
|
Kelas 1 (Layak Tonton): Rating (vote_average) > 7.0
|
||||||
|
|
||||||
1. Penanganan Nilai Hilang (Missing Values): Baris data yang memiliki nilai kosong pada kolom krusial (release_date, vote_average, popularity, vote_count) dihapus (dropped) untuk mencegah bias pada pelatihan model.
|
Kelas 0 (Lewati): Rating (vote_average) ≤ 7.0
|
||||||
2. Rekayasa Fitur (Feature Engineering):
|
|
||||||
|
|
||||||
• Ekstraksi Waktu: Kolom release_date dipecah menjadi fitur numerik release_year (Tahun) dan release_month (Bulan) untuk menangkap potensi pola musiman (misalnya: film liburan akhir tahun mungkin memiliki tren rating berbeda).
|
1.3 Distribusi Kelas
|
||||||
|
|
||||||
• Encoding Variabel Kategorikal: Kolom original_language yang berisi teks (seperti 'en', 'fr') dikonversi menjadi angka menggunakan teknik Label Encoding. Hal ini mutlak diperlukan karena algoritma regresi matematis hanya dapat memproses input numerik.
|
Berdasarkan analisis awal, dataset memiliki distribusi yang tidak seimbang (imbalanced):
|
||||||
4. Pemisahan Data (Data Splitting): Dataset dibagi dengan rasio 80:20 (80% Data Latih, 20% Data Uji). Pembagian ini bertujuan untuk menguji keandalan model pada data yang belum pernah dilihat sebelumnya (unseen data).
|
|
||||||
|
|
||||||
BAB 3: PENGEMBANGAN MODEL
|
Kelas 0 (Lewati): ~74.7%
|
||||||
|
Kelas 1 (Layak Tonton): ~25.3%
|
||||||
|
Catatan: Strategi Stratified Sampling digunakan untuk menjaga proporsi ini selama pelatihan.
|
||||||
|
|
||||||
Penelitian ini mengadopsi pendekatan eksperimental dengan membandingkan model parametrik dan non-parametrik:
|
2. Metodologi
|
||||||
|
|
||||||
1. Random Forest Regressor: Pengembangan dari Decision Tree yang menerapkan konsep Ensemble Learning. Dengan menggabungkan hasil prediksi dari 100 pohon keputusan yang berbeda, model ini bertujuan mengurangi variansi dan risiko overfitting dari pohon tunggal.
|
2.1 Pra-pemrosesan Data (Preprocessing)
|
||||||
2. Polynomial Regression: Percobaan untuk menangkap hubungan non-linear (melengkung) dengan memangkatkan fitur.
|
|
||||||
3. K-Nearest Neighbors (KNN): Pendekatan berbasis instansi yang memprediksi rating berdasarkan kemiripan karakteristik dengan film lain ("tetangga terdekat"). Sebelum pemodelan, dilakukan Standard Scaling agar fitur dengan satuan besar (seperti Popularitas) tidak mendominasi perhitungan jarak.
|
Sebelum masuk ke pemodelan, dilakukan tahapan berikut:
|
||||||
4. Decision Tree Regressor: Algoritma berbasis pohon keputusan yang memecah data berdasarkan aturan logika (If-Then). Metode ini sangat cocok untuk menangkap pola non-linear yang terputus-putus.
|
|
||||||
|
1. Penanganan Missing Values: Menggunakan strategi median untuk data numerik.
|
||||||
|
2. Feature Scaling: Menggunakan StandardScaler untuk menstandarisasi fitur numerik (popularity, vote_count). Langkah ini krusial untuk KNN agar perhitungan jarak tidak bias.
|
||||||
|
3.Encoding Kategorikal: Menggunakan OneHotEncoder untuk fitur original_language.
|
||||||
|
|
||||||
|
2.2 Skenario Pengujian
|
||||||
|
|
||||||
|
Pembagian Data: 80% Latih (Train), 20% Uji (Test).
|
||||||
|
Validasi: Stratified K-Fold Cross Validation (5-Fold) dan GridSearchCV untuk pencarian hyperparameter otomatis.
|
||||||
|
Metrik Evaluasi: Akurasi, Presisi, Recall, F1-Score, dan ROC-AUC.
|
||||||
|
|
||||||
|
3. Hasil Evaluasi Model
|
||||||
|
|
||||||
|
Berikut adalah ringkasan performa model terbaik setelah proses Hyperparameter Tuning:
|
||||||
|
| Metrik | Random Forest (Tuned) | K-Nearest Neighbors (KNN) |
|
||||||
|
|----------------------|-----------------------|---------------------------|
|
||||||
|
| Akurasi | ~85.0% | ~78.0% |
|
||||||
|
| Presisi (Kelas 1) | ~74.0% | ~58.0% |
|
||||||
|
| Recall (Kelas 1) | ~60.0% | ~42.0% |
|
||||||
|
| F1-Score | ~0.66 | ~0.49 |
|
||||||
|
| ROC - AUC | 0.84 | 0.74 |
|
||||||
|
|
||||||
|
|
||||||
BAB 4: HASIL DAN PEMBAHASAN
|
|
||||||
|
|
||||||
4.1 Evaluasi Kinerja Model
|
3.1 Analisis Performa
|
||||||
|
|
||||||
Berikut adalah perbandingan performa model berdasarkan pengujian pada Test Set (20% data):
|
1. Dominasi Random Forest: Model Random Forest mengungguli KNN di seluruh metrik pengujian. Hal ini disebabkan oleh sifat ensemble Random Forest yang lebih tahan terhadap noise dan mampu menangani fitur kategorikal (bahasa) dengan lebih baik daripada perhitungan jarak KNN.
|
||||||
| No | Nama Algoritma | R2 Score (Akurasi) | RMSE (Tingkat Error) | Analisis Performa |
|
|
||||||
|----|------------------------ |------------------------ |--------------------|----------------------------------------------------------------------------------|
|
|
||||||
| 1 | Polynomial Regression | Negatif (< 0) | Tinggi | Gagal. Model mengalami Overfitting ekstrem, berusaha terlalu keras menghafal pola latih hingga gagal total pada data uji. |
|
|
||||||
| 2 | Linear Regression | ~0.10 (10%) | ~2.27 | Buruk. Indikasi Underfitting. Hubungan antara fitur dan rating ternyata tidak bersifat linear sederhana. |
|
|
||||||
| 3 | KNN (15 Neighbors) | ~0.20 (20%) | ~2.13 | Kurang Optimal. Model terlalu sensitif terhadap outlier dan kesulitan menemukan pola general pada dimensi tinggi. |
|
|
||||||
| 4 | Decision Tree | ~0.80 (80%) | ~1.05 | Baik. Mampu memetakan logika rating dengan akurat. |
|
|
||||||
| 5 | Random Forest | ~0.85 (85%) | Rendah | Sangat Baik. Metode ensemble terbukti paling stabil dan akurat. |
|
|
||||||
|
|
||||||
4.2 Validasi Model Terbaik (Random Forest)
|
2. Kelemahan KNN: KNN cenderung memiliki banyak False Positives (memprediksi film jelek sebagai bagus) dan sensitivitas (Recall) yang rendah pada dataset ini.
|
||||||
|
|
||||||
Untuk memastikan model Random Forest benar-benar robust, dilakukan uji 5-Fold Cross Validation.
|
3. Masalah Keseimbangan: Kedua model menunjukkan performa lebih tinggi pada Kelas 0 (Mayoritas) dibandingkan Kelas 1 (Minoritas), namun Random Forest menangani kelas minoritas jauh lebih baik dibanding KNN.
|
||||||
|
|
||||||
• Hasil: Skor R2 rata-rata pada 5 kali pengujian tetap stabil di angka tinggi dengan standar deviasi yang rendah.
|
4. Analisis Fitur (Feature Importance)
|
||||||
|
|
||||||
• Interpretasi Error (MAE): Nilai Mean Absolute Error menunjukkan rata-rata kesalahan prediksi yang minim. Artinya, jika model memprediksi rating 7.0, rating aslinya kemungkinan besar berada di rentang yang sangat dekat (misal 6.8 - 7.2), yang masih sangat dapat diterima untuk kebutuhan bisnis.
|
Berdasarkan ekstraksi Gini Impurity dari model Random Forest, berikut adalah fitur yang paling mempengaruhi keputusan apakah film tersebut layak tonton:
|
||||||
|
|
||||||
BAB 5: ANALISIS FAKTOR PENENTU (INSIGHTS)
|
1. Vote Count (Jumlah Suara): Fitur paling dominan. Film dengan jumlah vote yang sangat tinggi cenderung memiliki korelasi kuat dengan kualitas (karena film bagus cenderung memancing banyak orang untuk memberi rating).
|
||||||
|
|
||||||
Berdasarkan analisis Feature Importance dari model Random Forest, ditemukan hierarki pengaruh sebagai berikut:
|
2. Popularity: Tingkat popularitas saat ini.
|
||||||
|
|
||||||
1. Dominasi Mutlak vote_count (83%): Jumlah partisipasi penonton adalah indikator terkuat kualitas film. Temuan ini mengindikasikan fenomena psikologis massa: film yang berkualitas (rating tinggi) cenderung memotivasi lebih banyak orang untuk memberikan suara (engagement). Sebaliknya, film dengan sedikit vote cenderung memiliki rating yang bias atau rendah.
|
3. Original Language: Bahasa film memiliki pengaruh kecil namun tetap berkontribusi.
|
||||||
|
|
||||||
2. Peran popularity yang Lemah (6%): Popularitas (yang sering kali didorong oleh pemasaran/iklan) ternyata tidak berkorelasi kuat dengan kualitas rating. Film populer bisa saja mendapatkan rating buruk ("viral tapi jelek"), dan film indie yang kurang populer bisa mendapatkan rating sempurna.
|
Insight: Popularitas dan banyaknya interaksi penonton (vote) adalah indikator terkuat kualitas film dalam dataset ini, jauh melebihi faktor bahasa.
|
||||||
|
|
||||||
3. Faktor Waktu dan Bahasa (<5%): Tahun rilis, bulan rilis, dan bahasa asal film memiliki dampak yang sangat kecil. Ini menunjukkan bahwa penonton global lebih mementingkan konten film itu sendiri daripada kapan atau dari mana film itu berasal.
|
5. Kesimpulan dan Rekomendasi
|
||||||
|
|
||||||
BAB 6: KESIMPULAN DAN REKOMENDASI
|
5.1 Kesimpulan
|
||||||
|
|
||||||
Kesimpulan
|
1. Model Terbaik: Random Forest direkomendasikan untuk digunakan dalam sistem produksi karena memiliki stabilitas akurasi dan AUC yang jauh lebih tinggi (0.84 vs 0.74).
|
||||||
|
|
||||||
Penelitian ini berhasil membuktikan bahwa pendekatan Machine Learning non-linear, khususnya Random Forest Regressor, sangat efektif untuk memprediksi rating film dengan akurasi mencapai 85%. Karakteristik data penilaian film yang kompleks dan berbasis aturan logika manusia tidak dapat ditangani dengan baik oleh metode statistik linear biasa. Faktor interaksi penonton (vote count) teridentifikasi sebagai kunci utama dalam prediksi ini.
|
2. Ambang Batas: Sistem klasifikasi berhasil memisahkan film berkualitas tinggi dengan akurasi 85%, yang dianggap cukup baik untuk sistem rekomendasi awal.
|
||||||
Loading…
x
Reference in New Issue
Block a user