Skip to content
Anaconda Protocol edited this page Jul 9, 2026 · 1 revision

LIME (Local Interpretable Model-agnostic Explanations)

LIME adalah salah satu teknik Explainable AI yang paling populer dan mudah digunakan. Berbeda dengan SHAP yang bersifat global dan akurat, LIME lebih fokus pada penjelasan lokal — yaitu menjelaskan satu prediksi tertentu.

Cara Kerja LIME

  1. Ambil satu instance (satu data input) yang ingin dijelaskan.
  2. Buat variasi data di sekitar instance tersebut (perturbation).
  3. Jalankan model asli pada data variasi tersebut.
  4. Buat model sederhana (linear regression atau decision tree) yang mendekati perilaku model asli di area lokal tersebut.
  5. Model sederhana itu digunakan untuk menjelaskan kontribusi setiap fitur.

Kelebihan LIME:

  • Mudah dipahami
  • Cepat
  • Model-agnostic (bisa dipakai di hampir semua model AI)

Kekurangan LIME:

  • Hanya penjelasan lokal (tidak global)
  • Kurang stabil jika perturbasi tidak tepat

Contoh Simulasi Code Python (LIME)

import lime
import lime.lime_tabular
import pandas as pd
import xgboost as xgb
import numpy as np

# Contoh dataset simulasi Lavender (Threat Scoring)
data = pd.DataFrame({
    'location_hotspot': [1, 0, 1, 1, 0],
    'night_communication': [1, 1, 0, 1, 1],
    'age': [25, 19, 34, 22, 28],
    'male': [1, 1, 1, 0, 1],
    'target': [1, 1, 0, 1, 1]  # 1 = high threat (target to kill)
})

X = data.drop('target', axis=1)
y = data['target']

# Train simple model
model = xgb.XGBClassifier(random_state=42)
model.fit(X, y)

# Create LIME Explainer
explainer = lime.lime_tabular.LimeTabularExplainer(
    training_data=np.array(X),
    feature_names=X.columns.tolist(),
    class_names=['Low Threat', 'High Threat'],
    mode='classification'
)

# Choose one instance to explain (index 0)
instance = X.iloc[0]

# Explain the prediction
exp = explainer.explain_instance(
    data_row=instance.values, 
    predict_fn=model.predict_proba,
    num_features=4
)

# Show explanation
exp.show_in_notebook()

# Save explanation as HTML or image
exp.save_to_file('lime_explanation.html')

Contoh Output Interpretasi LIME

Misalnya hasil penjelasan untuk satu target:

  • location_hotspot = 1 → kontribusi +0.45 (sangat mendorong vonis "High Threat")
  • night_communication = 1 → kontribusi +0.32
  • age = 25 → kontribusi +0.18
  • male = 1 → kontribusi +0.12

Kesimpulan LIME pada kasus ini:
Model memutuskan target ini berbahaya terutama karena lokasi di hotspot dan pola komunikasi malam hari.


Catatan Penting untuk Wiki:

  • LIME sangat berguna untuk analisis kasus per kasus (satu target di Lavender).
  • Cocok untuk membuktikan bahwa keputusan mematikan sering didasarkan pada fitur yang bias (lokasi Gaza, usia muda, dll).
  • Kombinasikan dengan SHAP untuk analisis global yang lebih kuat.

📂 Struktur Wiki

Clone this wiki locally