DEV Community

Dayang Amaninaa
Dayang Amaninaa

Posted on

Implementasi Ensemble Learning dan Hyperparameter Optimization untuk Prediksi Kualitas Wine Berbasis Machine Learning

1. Pendahuluan
Kualitas wine dapat dipengaruhi oleh berbagai karakteristik fisikokimia seperti kadar alkohol, keasaman, sulfur dioxide, dan density. Machine Learning dapat digunakan untuk menemukan pola dari karakteristik tersebut dan memprediksi kategori kualitas wine.
Pada penelitian ini digunakan Wine Quality Dataset dari UCI Machine Learning Repository yang terdiri dari data wine merah dan putih. Penelitian membandingkan beberapa algoritma Machine Learning, khususnya metode Ensemble Learning, serta menerapkan Hyperparameter Optimization untuk meningkatkan performa model.
Tujuan penelitian ini adalah:

  1. Membandingkan performa beberapa algoritma Machine Learning.
  2. Mengevaluasi performa Ensemble Learning menggunakan Cross-Validation.
  3. Mengoptimalkan model XGBoost menggunakan GridSearchCV.
  4. Mengetahui fitur yang paling berpengaruh terhadap prediksi kualitas wine.

2. Dataset
Dataset berasal dari Wine Quality Dataset yang tersedia di UCI Machine Learning Repository.
Data terdiri dari:

Dataset Jumlah
Red Wine 1.599
White Wine 4.898
Total 6.497

Setelah dilakukan pemeriksaan dan penghapusan 1.177 data duplikat, diperoleh 5.320 data yang digunakan dalam penelitian.

Dataset memiliki 11 fitur fisikokimia:

  • Fixed acidity
  • Volatile acidity
  • Citric acid
  • Residual sugar
  • Chlorides
  • Free sulfur dioxide
  • Total sulfur dioxide
  • Density
  • pH
  • Sulphates
  • Alcohol

Target quality kemudian diubah menjadi klasifikasi biner:

  • 0 = Low Quality, jika quality < 6
  • 1 = High Quality, jika quality ≥ 6

Data dibagi menjadi 80% training dan 20% testing, sehingga diperoleh:

  • Training: 4.256 data
  • Testing: 1.064 data

3. Metodologi
Lima algoritma digunakan dalam eksperimen:

Logistic Regression
Digunakan sebagai baseline untuk membandingkan performa model klasifikasi sederhana.

Decision Tree
Digunakan sebagai baseline tambahan untuk melihat performa model berbasis pohon keputusan.

Random Forest
Merupakan Ensemble Learning berbasis Bagging yang menggabungkan banyak Decision Tree.

Gradient Boosting
Merupakan metode Boosting yang membangun model secara bertahap untuk memperbaiki kesalahan model sebelumnya.

XGBoost
XGBoost digunakan sebagai metode boosting sekaligus model yang dipilih untuk proses Hyperparameter Optimization.

Evaluasi dilakukan menggunakan:

  1. Accuracy
  2. Precision
  3. Recall
  4. F1-Score
  5. Confusion Matrix Selain test set, digunakan Stratified 5-Fold Cross-Validation untuk mengetahui konsistensi performa model.

4. Hasil Pengujian
Hasil pengujian pada test set adalah:

Model Accuracy Precision Recall F1-Score
Logistic Regression 75,28% 76,97% 86,34% 81,39%
Decision Tree 68,80% 74,78% 75,68% 75,22%
Random Forest 77,16% 79,83% 84,98% 82,33%
Gradient Boosting 76,69% 79,03% 85,44% 82,11%
XGBoost 76,22% 78,88% 84,68% 81,68%
XGBoost Optimized 77,63% 80,48% 84,83% 82,60%

Dari hasil tersebut, XGBoost Optimized menghasilkan F1-Score tertinggi sebesar 82,60%.
Namun, hasil Cross-Validation menunjukkan hasil yang sedikit berbeda.

Model Mean F1
Random Forest 82,08%
Gradient Boosting 81,07%
XGBoost 80,95%
Logistic Regression 80,19%
Decision Tree 74,45%

Random Forest memperoleh Mean F1 tertinggi pada Cross-Validation, yaitu 82,08%.
Hal ini menunjukkan bahwa Random Forest memiliki performa yang relatif stabil, sedangkan XGBoost Optimized memberikan hasil terbaik pada test set.

5. Hyperparameter Optimization
XGBoost kemudian dioptimasi menggunakan GridSearchCV dengan Stratified 5-Fold Cross-Validation.
Parameter terbaik yang diperoleh adalah:

Parameter Nilai
n_estimators 200
max_depth 5
learning_rate 0,05
subsample 0,8
colsample_bytree 0,8

Hasil perbandingan:

Metrik XGBoost XGBoost Optimized
Accuracy 76,22% 77,63%
Precision 78,88% 80,48%
Recall 84,68% 84,83%
F1-Score 81,68% 82,60%

Setelah optimasi, F1-Score meningkat sebesar 0,92 percentage points, dari 81,68% menjadi 82,60%.

6. Confusion Matrix
Pada model XGBoost Optimized, performa model lebih baik dalam mengenali kelas High Quality dibandingkan Low Quality.
Hasil classification report menunjukkan:

Kelas Precision Recall F1-Score
Low Quality 72% 66% 69%
High Quality 80% 85% 83%

Berdasarkan confusion matrix, model lebih baik dalam mengenali kelas High Quality dibandingkan Low Quality. Recall High Quality mencapai 85%, sedangkan Low Quality sebesar 66%.

Hal ini menunjukkan bahwa model masih memiliki kesulitan dalam mengidentifikasi wine yang termasuk kategori Low Quality.

7. Feature Importance
Analisis Feature Importance pada XGBoost Optimized menunjukkan bahwa fitur yang paling berpengaruh adalah:

Ranking Feature Importance
1 Alcohol 0,2591
2 Volatile Acidity 0,1251
3 Density 0,0851
4 Free Sulfur Dioxide 0,0818
5 Sulphates 0,0803

Alcohol menjadi fitur dengan kontribusi relatif terbesar terhadap prediksi model, dengan importance sebesar 0,2591.

Berdasarkan hasil tersebut, Alcohol menjadi fitur dengan importance tertinggi sebesar 0,2591, diikuti Volatile Acidity sebesar 0,1251.

Namun, feature importance tidak berarti bahwa alcohol secara langsung menyebabkan kualitas wine menjadi lebih tinggi. Nilai tersebut hanya menunjukkan kontribusi relatif fitur terhadap keputusan model.

8. Pembahasan
Hasil penelitian menunjukkan bahwa metode Ensemble Learning secara umum memberikan performa lebih baik dibandingkan Decision Tree.

Decision Tree memperoleh F1-Score sebesar 75,22%, sedangkan Random Forest mencapai 82,33%. Gradient Boosting mencapai 82,11%, dan XGBoost mencapai 81,68%.

Setelah dilakukan Hyperparameter Optimization, XGBoost memperoleh F1-Score sebesar 82,60%, meningkat dari 81,68%.

Menariknya, Random Forest memiliki Mean F1 Cross-Validation tertinggi sebesar 82,08%. Sementara itu, XGBoost Optimized memiliki performa terbaik pada test set.

Perbedaan tersebut menunjukkan bahwa model terbaik dapat berbeda tergantung metode evaluasi yang digunakan. Oleh karena itu, penggunaan Cross-Validation dan test set secara bersamaan penting untuk memperoleh evaluasi yang lebih objektif.

**9. Kesimpulan
**Penelitian ini menunjukkan bahwa Ensemble Learning dapat digunakan untuk memprediksi kategori kualitas wine berdasarkan karakteristik fisikokimia.

Dari lima model yang diuji, Random Forest memiliki performa Cross-Validation terbaik dengan Mean F1 sebesar 82,08%. Sementara itu, XGBoost Optimized memberikan performa terbaik pada test set, dengan:

  • Accuracy: 77,63%
  • Precision: 80,48%
  • Recall: 84,83%
  • F1-Score: 82,60%

Hyperparameter Optimization meningkatkan F1-Score XGBoost dari 81,68% menjadi 82,60%.

Feature Importance menunjukkan bahwa alcohol merupakan fitur dengan kontribusi relatif terbesar dalam model.

Secara keseluruhan, hasil penelitian menunjukkan bahwa kombinasi Ensemble Learning dan Hyperparameter Optimization dapat meningkatkan performa prediksi kualitas wine.

Top comments (0)