Skip to content

Individual Conditional Expectation

Anaconda Protocol edited this page Jul 10, 2026 · 1 revision

✅ Individual Conditional Expectation (ICE)

Individual Conditional Expectation (ICE) adalah teknik Explainable AI yang menunjukkan bagaimana prediksi model berubah untuk satu instance tunggal ketika satu fitur diubah, sementara fitur lain tetap.

Ini adalah versi individual dari Partial Dependence Plot (PDP).

Perbedaan PDP vs ICE

  • PDP: Rata-rata efek satu fitur terhadap seluruh dataset (global).
  • ICE: Efek satu fitur terhadap satu instance (local/individual).

Kelebihan ICE

  • Menunjukkan heterogenitas (perbedaan perilaku antar instance).
  • Bisa mendeteksi interaksi dan heterogenitas yang tersembunyi di PDP.
  • Sangat berguna untuk audit kasus per kasus.

Contoh Simulasi Code Python

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import xgboost as xgb

# Simulated Lavender dataset
data = pd.DataFrame({
    'location_hotspot': np.random.randint(0, 2, 200),
    'night_communication': np.random.randint(0, 2, 200),
    'age': np.random.randint(15, 60, 200),
    'male': np.random.randint(0, 2, 200),
    'target': np.random.randint(0, 2, 200)
})

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

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

# ICE for one instance (index 0) varying 'age'
def plot_ice(model, X, feature, instance_idx=0, n_points=50):
    instance = X.iloc[instance_idx:instance_idx+1].copy()
    feature_values = np.linspace(X[feature].min(), X[feature].max(), n_points)
    predictions = []
    
    for val in feature_values:
        instance_copy = instance.copy()
        instance_copy[feature] = val
        pred = model.predict_proba(instance_copy)[0][1]  # probability of high threat
        predictions.append(pred)
    
    plt.figure(figsize=(10, 6))
    plt.plot(feature_values, predictions, marker='o')
    plt.title(f'ICE Plot - Instance {instance_idx} (Feature: {feature})')
    plt.xlabel(feature)
    plt.ylabel('Predicted Probability (High Threat)')
    plt.grid(True)
    plt.show()

# Run ICE
plot_ice(model, X, 'age', instance_idx=0)

Interpretasi Contoh

Pada grafik ICE:

  • Jika garis naik tajam saat usia meningkat → model semakin menganggap orang tua sebagai ancaman (bias).
  • Jika garis datar → fitur usia tidak terlalu berpengaruh pada instance tersebut.

Relevansi untuk Palestina

ICE sangat berguna untuk:

  • Menunjukkan bagaimana satu orang Palestina bisa menjadi target hanya karena perubahan kecil pada satu fitur (misalnya lokasi HP).
  • Membuktikan heterogenitas bias di sistem Lavender atau SITS.
  • Memberikan bukti individual yang kuat untuk kasus forensik.

📂 Struktur Wiki

Clone this wiki locally