DEV Community

Zulzario Zaeri
Zulzario Zaeri

Posted on

XGBoost vs Tiga Algoritma Regresi Konvensional

Artikel ini di buat sebagai penutup tugas akhir mata kuliah Machine Learning Semester 6 Universitas Hamzanwadi dengan judul Proyek Prediksi Harga Rumah - Boston Housing Dataset.

Analysis Abstract

Dalam kajian komparatif ini, kami melakukan evaluasi sistematis terhadap XGBoost dengan tiga algoritma regresi:

  1. Linear Regression
  2. Decision Tree Regressor
  3. Random Forest Regressor

Fokus evaluasi mencakup metrik akurasi prediktif (RMSE, R²), efisiensi komputasional, serta kompleksitas algoritmik.

Seleksi algoritma machine learning yang optimal mempengaruhi signifikansi kualitas prediktif secara fundamental.

Dalam domain regresi, keempat algoritma ini kerap menjadi referensi komparatif:

  • Linear Regression: Algoritma fundamental, efisien komputasional, namun terbatas pada pemodelan relasi linier
  • Decision Tree: Kapabel menangkap relasi non‑linier, interpretabilitas tinggi, namun rentan terhadap overfitting
  • Random Forest: Ensemble dari Decision Tree untuk stabilitas prediktif, namun memerlukan komputasi yang lebih intensif
  • XGBoost: Gradient boosting dengan optimasi hyperparameter yang sophisticated, menghasilkan performa prediktif superior

Algorithm Implementation

XGBoost Regressor

Pemeran utama kita

model = xgb.XGBRegressor(objective='reg:squarederror', n_estimators=100, max_depth=4, random_state=42)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
Enter fullscreen mode Exit fullscreen mode

Decision Tree Regressor

model = DecisionTreeRegressor(random_state=42)
model.fit(x_train, y_train)

Prediksi harga rumah pada data testing
Enter fullscreen mode Exit fullscreen mode

Linear Regression

model = LinearRegression()
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
Enter fullscreen mode Exit fullscreen mode

Random Forest Regressor

model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(x_train, y_train)

y_pred = model.predict(x_test)
Enter fullscreen mode Exit fullscreen mode

Comparison Results

Model RMSE ($1000)
XGBoost 2.63 0.91
Linear Regression 4.93 0.67
Decision Tree 3.23 0.86
Random Forest 2.81 0.89

XGBoost menampilkan performa superior dengan nilai RMSE minimal dan koefisien determinasi (R²) maksimal, mendominasi seluruh metrik evaluasi, namun memerlukan optimasi hyperparameter yang lebih, mencapai tingkat akurasi optimal melalui implementasi mekanisme gradient boosting yang sophisticated disertai regularisasi yang komprehensif, meskipun memerlukan proses fine-tuning yang lebih ekstensif dan komputasi yang lebih intensif.

Hasil Evaluasi Model XGBoost Regressor:
Mean Squared Error (MSE): 6.594149576559522
Root Mean Squared Error (RMSE): 2.567907626173403
R-squared (R2): 0.9100803300691124

Hasil untuk LinearRegression :
Mean Squared Error: 24.291119474973538
Root Mean Squared Error: 4.928602182665339
R-squared: 0.6687594935356317

Hasil untuk Decision Tree Regressor :
Mean Squared Error: 10.416078431372549
Root Mean Squared Error: 3.2273949915330395
R-squared: 0.8579634380978161

Hasil untuk Random Forest Regressor :
Hasil Evaluasi Model Random Forest Regressor:
Mean Squared Error (MSE): 7.901513892156864
Root Mean Squared Error (RMSE): 2.8109631609391226
R-squared (R2): 0.8922527442109116
Enter fullscreen mode Exit fullscreen mode

The End

Linear Regression tetap mempertahankan relevansinya sebagai baseline yang efisien untuk benchmarking peningkatan performa model, sementara Decision Tree mampu mengidentifikasi pola non-linier dengan interpretabilitas yang tinggi, meskipun rentan terhadap fenomena overfitting.

Oleh karena itu, strategi seleksi algoritma harus mempertimbangkan trade-off antara kompleksitas implementasi dan performa: apabila efisiensi pengembangan dan interpretabilitas menjadi kriteria utama, Random Forest atau Decision Tree dapat dipertimbangkan sebagai alternatif yang optimal, namun apabila akurasi maksimal menjadi tujuan utama dan kendala temporal tidak signifikan, XGBoost merupakan pilihan yang paling tepat.

Resources

Attribution

Kelompok 2 dengan anggota kelompok

Top comments (0)