Cara Menjelaskan Hasil Prediksi Machine Learning Menggunakan SHAP
Machine learning telah menjadi teknologi penting dalam berbagai bidang, mulai dari keuangan hingga kesehatan. Semakin kompleks sebuah model maka semakin sulit pula memahami alasan di balik hasil prediksinya. Kondisi ini sering disebut sebagai black box, di mana model mampu menghasilkan prediksi yang akurat tetapi sulit dijelaskan kepada pengguna.
Untuk mengatasi tantangan tersebut, praktisi data science mulai menerapkan pendekatan Explainable Artificial Intelligence (XAI). Salah satunya menggunakan SHAP (SHapley Additive exPlanations). SHAP memungkinkan pengguna memahami kontribusi setiap variabel terhadap hasil prediksi sehingga keputusan yang dihasilkan model menjadi lebih transparan dan mudah dipahami. Ini dia cara terbaik untuk menjelaskan hasil prediksi machine learning menggunakan SHAP. Ayo simak artikelnya sampai selesai sahabat DQLab!
1. Mengenal Konsep SHAP dalam Machine Learning
SHAP merupakan metode interpretasi model yang dikembangkan berdasarkan teori permainan (game theory), khususnya konsep Shapley Value. Dalam teori tersebut, setiap pemain memperoleh kontribusi yang adil terhadap hasil akhir suatu permainan. Konsep yang sama diterapkan dalam machine learning dengan menganggap setiap fitur sebagai pemain dan hasil prediksi sebagai hasil permainan. SHAP kemudian menghitung seberapa besar kontribusi masing-masing fitur terhadap prediksi yang dihasilkan model.
Keunggulan utama SHAP adalah kemampuannya memberikan interpretasi baik pada tingkat global maupun lokal. Interpretasi global membantu mengetahui fitur mana yang paling berpengaruh terhadap keseluruhan model, sedangkan interpretasi lokal menjelaskan alasan di balik prediksi untuk satu observasi tertentu. Dengan demikian, pengguna tidak hanya mengetahui apakah prediksi model benar atau salah, tetapi juga memahami faktor-faktor yang memengaruhi keputusan tersebut. Metode ini kompatibel dengan berbagai algoritma machine learning seperti Random Forest, XGBoost, LightGBM, hingga neural networks. Oleh karena itu, SHAP menjadi salah satu alat interpretasi yang paling banyak digunakan dalam praktik data science modern.
Baca Juga: Bootcamp Machine Learning and AI for Beginner
2. Membangun Model dan Menghitung SHAP Values
Langkah pertama adalah menyiapkan environment dengan menginstal pustaka yang diperlukan.
pip install shap scikit-learn pandas matplotlib
Selanjutnya, impor pustaka yang akan digunkan.
import pandas as pd
import shap
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
Pada tutorial ini digunakan dataset Breast Cancer yang tersedia secara bawaan di Scikit-Learn.
data = load_breast_cancer()
X = pd.DataFrame(
data.data,
columns=data.feature_names
)
y = data.target
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42
)
Setelah data dipisahkan menjadi data training dan testing, model dapat dibangun menggunakan Random Forest.
model = RandomForestClassifier(
n_estimators=100,
random_state=42
)
model.fit(X_train, y_train)
Setelah model selesai dilatih, langkah berikutnya adalah menghitung nilai SHAP menggunakan TreeExplainer.
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)
Objek shap_values berisi informasi kontribusi masing-masing fitur terhadap hasil prediksi. Nilai inilah yang nantinya digunakan untuk berbagai bentuk visualisasi dan interpretasi model.
3. VIsualisasi dan Interpretasi Hasil Prediksi dengan SHAP
Salah satu visualisasi yang paling sering digunakan adalah summary plot. Grafik ini menampilkan fitur-fitur yang paling berpengaruh terhadap model sekaligus menunjukkan arah pengaruhnya.
shap.summary_plot(
shap_values[1],
X_test
)
Pada grafik tersebut, fitur dengan pengaruh terbesar akan muncul di bagian atas. Titik berwarna merah menunjukkan nilai fitur yang tinggi, sedangkan titik biru menunjukkan nilai fitur yang rendah. Posisi titik pada sumbu horizontal menggambarkan besar kecilnya kontribusi fitur terhadap prediksi model. Selain analisis global, SHAP juga dapat digunakan untuk menjelaskan prediksi individu. Untuk mengetahui alasan model memberikan prediksi pada satu sampel tertentu, kita dapat menggunakan force plot.
shap.force_plot(
explainer.expected_value[1],
shap_values[1][0],
X_test.iloc[0]
)
Visualisasi ini menunjukkan fitur mana yang mendorong hasil prediksi meningkat dan fitur mana yang menurunkannya. Pendekatan ini sangat berguna pada aplikasi seperti penilaian kredit, deteksi fraud, atau diagnosis medis yang membutuhkan penjelasan untuk setiap keputusan model. SHAP juga menyediakan waterfall plot yang menampilkan bagaimana setiap fitur secara bertahap memengaruhi prediksi akhir.
shap.plots.waterfall(
shap.Explanation(
values=shap_values[1][0],
base_values=explainer.expected_value[1],
data=X_test.iloc[0],
feature_names=X_test.columns
)
)
Selain itu, pengguna dapat memanfaatkan dependence plot untuk melihat hubungan antara nilai suatu fitur dan pengaruhnya terhadap prediksi model.
shap.dependence_plot(
"mean radius",
shap_values[1],
X_test
)
Grafik ini sering digunakan untuk mengidentifikasi hubungan nonlinier dan interaksi antarfitur yang tidak terlihat melalui analisis statistik biasa.
Baca Juga: Mengenal NLP, Salah Satu Produk Machine Learning
4. Manfaat SHAP untuk Explainable AI dan Pengambilan Keputusan
SHAP menjadi salah satu metode interpretasi yang banyak digunakan karena mampu menjembatani kebutuhan antara akurasi model dan transparansi keputusan. Dalam dunia bisnis, hasil prediksi sering kali harus dapat dijelaskan kepada manajemen, regulator, maupun pelanggan. Organisasi dapat mengetahui faktor-faktor yang memengaruhi suatu keputusan sehingga proses pengambilan keputusan menjadi lebih akuntabel.
Di sektor perbankan, SHAP digunakan untuk menjelaskan alasan penolakan atau persetujuan kredit. Pada bidang kesehatan, SHAP membantu dokter memahami faktor-faktor yang menyebabkan model memprediksi risiko penyakit tertentu. Sementara itu, dalam pemasaran digital, SHAP dapat menunjukkan variabel yang paling berpengaruh terhadap perilaku pelanggan atau kemungkinan terjadinya churn.
Meskipun memiliki banyak keunggulan, SHAP juga memiliki beberapa keterbatasan. Perhitungan SHAP pada dataset yang sangat besar dapat memerlukan waktu komputasi yang cukup tinggi. Interpretasi hasil SHAP juga tetap membutuhkan pemahaman dasar mengenai machine learning dan statistik agar tidak terjadi kesalahan dalam menarik kesimpulan.
FAQ
1. Apa perbedaan SHAP dengan feature importance biasa?
Feature importance tradisional hanya menunjukkan fitur mana yang paling berpengaruh terhadap model secara keseluruhan. Sementara itu, SHAP tidak hanya memberikan interpretasi global, tetapi juga mampu menjelaskan kontribusi setiap fitur pada prediksi individual. Dengan kata lain, SHAP dapat menjawab pertanyaan "mengapa model menghasilkan prediksi ini?" untuk setiap data yang dianalisis.
2. Apakah SHAP dapat digunakan untuk semua algoritma machine learning?
Ya. SHAP mendukung berbagai jenis model machine learning, mulai dari model linear seperti Logistic Regression hingga model yang lebih kompleks seperti Random Forest, XGBoost, LightGBM, dan Neural Network. Namun, metode perhitungannya dapat berbeda tergantung jenis model yang digunakan agar proses komputasi lebih efisien.
3. Kapan sebaiknya menggunakan SHAP dalam sebuah proyek machine learning?
SHAP sangat berguna ketika hasil prediksi perlu dijelaskan kepada pengguna, manajemen, atau regulator. Metode ini banyak diterapkan pada bidang keuangan, kesehatan, asuransi, dan pemasaran karena membantu meningkatkan transparansi, kepercayaan terhadap model, serta mempermudah proses pengambilan keputusan berbasis data.
Gimana sahabat DQ? Seru banget kan membahas soal machine learning beserta modelnya. Eits, kalau kamu masih bingung soal model machine learning, tenang aja. Yuk, segera ambil kesempatan untuk Sign Up dengan bergabung bersama DQLab! Di sini kamu bisa banget belajar dengan modul berkualitas dan tools sesuai kebutuhan industri dari dasar hingga advanced meskipun kamu nggak punya background IT, lho. Dilengkapi studi kasus yang membantu para pemula belajar memecahkan masalah secara langsung dari berbagai industri.
Biar nggak cuma paham teori, kamu juga bisa langsung mulai praktik lewat mini project sederhana seperti prediksi data atau klasifikasi, mengikuti latihan step-by-step di modul, sampai mencoba berbagai model machine learning untuk melihat perbedaannya secara langsung. Dengan begitu, proses belajarmu jadi lebih terasa nyata dan aplikatif sejak awal.
Tidak cuma itu, DQLab juga sudah menerapkan metode pembelajaran HERO (Hands-On, Experiential Learning & Outcome-based) yang dirancang ramah untuk pemula, dan telah terbukti mencetak talenta unggulan yang sukses berkarier di bidang data. Jadi, mau tunggu apa lagi? Yuk, segera persiapkan diri dengan modul premium atau kamu juga bisa mengikuti Bootcamp Machine Learning and AI for Beginner sekarang juga!
Penulis: Reyvan Maulid
Mulai Karier
sebagai Praktisi
Data Bersama
DQLab
Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Daftar Gratis & Mulai Belajar
Mulai perjalanan karier datamu bersama DQLab
Sudah punya akun? Kamu bisa Sign in disini
