Trực quan hóa khả năng giải thích bằng SHAP

Explainable AI trong Python

Fouad Trad

Machine Learning Engineer

Tập dữ liệu

age gender bmi children smoker charges
19 0 27.900 0 1 16884.92
18 1 33.770 1 0 1725.55
28 1 33.000 3 0 4449.46
33 1 22.705 0 0 21984.47
32 1 28.880 0 0 3866.85

model: random forest regressor dự đoán charges

import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
Explainable AI trong Python

Biểu đồ tầm quan trọng đặc trưng

  • Hiển thị đóng góp của từng đặc trưng vào đầu ra mô hình
shap.summary_plot(shap_values, X, plot_type="bar")

Biểu đồ tầm quan trọng đặc trưng cho thấy trạng thái hút thuốc là quan trọng nhất.

Explainable AI trong Python

Biểu đồ beeswarm

  • Hiển thị phân bố giá trị SHAP
  • Nêu bật hướngđộ lớn ảnh hưởng của từng đặc trưng lên dự đoán
    • Màu đỏ → giá trị đặc trưng cao
    • Màu xanh → giá trị đặc trưng thấp
    • SHAP > 0 → tăng kết quả
    • SHAP < 0 → giảm kết quả

Biểu đồ beeswarm hiển thị phân bố giá trị shap cho từng đặc trưng, màu sắc biểu thị giá trị đặc trưng.

Explainable AI trong Python

Biểu đồ beeswarm

  • Hiển thị phân bố giá trị SHAP
  • Nêu bật hướngđộ lớn ảnh hưởng của từng đặc trưng lên dự đoán
    • Màu đỏ → giá trị đặc trưng cao
    • Màu xanh → giá trị đặc trưng thấp
    • SHAP > 0 → tăng kết quả
    • SHAP < 0 → giảm kết quả

Cùng biểu đồ beeswarm cho thấy giá trị đặc trưng cao của 'smoker' có SHAP dương.

Explainable AI trong Python

Biểu đồ beeswarm

  • Hiển thị phân bố giá trị SHAP
  • Nêu bật hướngđộ lớn ảnh hưởng của từng đặc trưng lên dự đoán
    • Màu đỏ → giá trị đặc trưng cao
    • Màu xanh → giá trị đặc trưng thấp
    • SHAP > 0 → tăng kết quả
    • SHAP < 0 → giảm kết quả
shap.summary_plot(shap_values, X, 
                  plot_type="dot")

Cùng biểu đồ beeswarm cho thấy giá trị đặc trưng thấp của 'smoker' có SHAP âm.

Explainable AI trong Python

Biểu đồ phụ thuộc từng phần

  • Thể hiện mối quan hệ giữa đặc trưngkết quả dự đoán
  • Cho thấy tác động của đặc trưng trên toàn miền giá trị
  • Kiểm tra xem mối quan hệ có như kỳ vọng không

Biểu đồ phụ thuộc từng phần minh họa quan hệ giảm dần giữa một đặc trưng và kết quả.

Explainable AI trong Python

Biểu đồ phụ thuộc từng phần

  • Với mỗi mẫu:
    • Thay đổi giá trị đặc trưng đã chọn
    • Giữ các đặc trưng khác cố định
    • Dự đoán kết quả
  • Lấy trung bình kết quả từ mọi mẫu
shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Biểu đồ phụ thuộc từng phần cho đặc trưng age cho thấy khi tuổi tăng, giá trị dự đoán tăng.

Explainable AI trong Python

Biểu đồ phụ thuộc từng phần

  • Với mỗi mẫu:

    • Thay đổi giá trị đặc trưng đã chọn
    • Giữ các đặc trưng khác cố định
    • Dự đoán kết quả
  • Lấy trung bình kết quả từ mọi mẫu

shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Cùng biểu đồ phụ thuộc từng phần làm nổi bật phân bố giá trị tuổi trong dữ liệu.

Explainable AI trong Python

Ayo berlatih!

Explainable AI trong Python

Preparing Video For Download...