Proyek ini fokus pada pembangunan dan perbandingan model regresi berbasis kernel: Support Vector Regression (SVR) dan Kernel Ridge Regression (KRR). Tujuannya? Untuk memprediksi nilai variabel target berdasarkan 14 fitur yang tersedia.
Model terbaik dipilih melalui Hyperparameter Tuning yang cermat menggunakan Grid Search Cross-Validation (GridSearchCV) 🛠️.
Dataset kita terdiri dari dua file CSV, train.csv dan test.csv, yang dimuat tanpa header.
- Jumlah Fitur: 14 fitur (
feature_1sampaifeature_14) 🔢. - Variabel Target: 1 variabel target (
target) 🎯. - Ukuran Data Latih (Train): 1768 baris.
- Ukuran Data Uji (Test): 1000 baris.
- Pemuatan Data: Kolom diberi nama secara manual saat dimuat 🏷️.
- Penskalaan Fitur: Fitur dinormalisasi menggunakan StandardScaler untuk menyamakan skala, penting untuk model berbasis jarak 📏.
Tiga konfigurasi model diuji:
- Support Vector Regression (SVR) dengan Kernel RBF ⚪.
- Support Vector Regression (SVR) dengan Kernel Polynomial (Poly) 🌈.
- Kernel Ridge Regression (KRR) dengan Kernel RBF ⭐.
GridSearchCV mencari hyperparameter paling optimal untuk setiap model:
| Model | Hyperparameter yang Diuji |
|---|---|
| SVR RBF | C, epsilon, gamma |
| SVR Poly | C, epsilon, gamma, degree, coef0 |
| KRR RBF | alpha, gamma, kernel |
Model dievaluasi menggunakan Mean Squared Error (MSE) dan skor R-squared (R²) 💯.
| Model | MSE (Mean Squared Error) | R² (R-squared Score) |
|---|---|---|
| SVR RBF | ||
| SVR Poly | ||
| Kernel Ridge Regression (KRR) |
|
Kesimpulan Hasil:
Kernel Ridge Regression (KRR) adalah JUARA! 🥇 Model ini menunjukkan kinerja terbaik dengan skor R² yang luar biasa tinggi (
Model SVR, meskipun memiliki MSE rendah, memiliki skor R² negatif, yang menunjukkan performa prediksi yang buruk 👎.
Untuk menjalankan notebook ini, pastikan Anda memiliki pustaka Python berikut:
pip install pandas numpy scikit-learn matplotlib seabornpandasnumpyscikit-learn(sklearn)matplotlibseaborn
git clone https://github.com/rifaldomalau/SVR-n-Polynomial-SVR-n-Kernel-Ridge-Regression-Synthetic-Regression.gitcd SVR-n-Polynomial-SVR-n-Kernel-Ridge-Regression-Synthetic-Regressionpip install -r requirements.txtjupyter notebook Notebook v1.ipynbVisualisasi data menunjukkan adanya korelasi negatif yang kuat antara feature_1 dan target 📉. Ini menguatkan mengapa model regresi yang baik dalam menangani hubungan (mendekati) linier, seperti Kernel Ridge Regression, bekerja dengan sangat baik.