Giải thích bằng SHAP

Explainable AI trong Python

Fouad Trad

Machine Learning Engineer

Giới thiệu về SHAP

  • SHAPSHapley Additive exPlanations
  • Kỹ thuật độc lập mô hình
  • Dùng giá trị shapley từ lý thuyết trò chơi
  • Giá trị SHAP → định lượng đóng góp của đặc trưng vào dự đoán

Logo SHAP

Explainable AI trong Python

Chia lợi nhuận giữa các thành viên ban nhạc

Hình một ban nhạc.

Explainable AI trong Python

Trình giải thích SHAP

 

  • Tính giá trị SHAP
  • Trình giải thích cho cây → mô hình dạng cây

Hình cho thấy SHAP explainer gồm bộ tổng quát áp dụng mọi mô hình và bộ chuyên biệt tối ưu cho từng loại mô hình.

Explainable AI trong Python

Bộ dữ liệu tuyển sinh

Điểm GRE Điểm TOEFL Xếp hạng Trường SOP LOR CGPA Xác suất trúng tuyển Đậu
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0

 

  • rf_reg: dự đoán xác suất trúng tuyển
  • rf_class: dự đoán kết quả đậu/rớt
  • X: dataframe chứa đặc trưng
Explainable AI trong Python

Tính giá trị SHAP

import shap
Hồi quy
explainer_reg = shap.TreeExplainer(rf_reg)

shap_values_reg = explainer_reg.shap_values(X)
Phân loại
explainer_class = shap.TreeExplainer(rf_class)

shap_values_class = explainer_class.shap_values(X)
Explainable AI trong Python

Hiểu đầu ra SHAP

Hồi quy
print(shap_values_reg.shape)  
(400, 6)

Hình minh họa bảng giá trị SHAP có cùng kích thước với dataframe X (số mẫu, số đặc trưng)

Explainable AI trong Python

Hiểu đầu ra SHAP

Hồi quy
print(shap_values_reg.shape)  
(400, 6)

Hình minh họa bảng giá trị SHAP có cùng kích thước với dataframe X (số mẫu, số đặc trưng)

Phân loại
print(shap_values_class.shape)
(400, 6, 2)

Chọn giá trị của lớp dương

positive_values = shap_values_class[:,:,1]
Explainable AI trong Python

Tầm quan trọng đặc trưng

mean_shap_values_class = np.abs(shap_values_class[:, :, 1]).mean(axis=0)
mean_shap_values_reg = np.abs(shap_values_reg).mean(axis=0)

plt.bar(X_train.columns, mean_shap_values_class) plt.bar(X_train.columns, mean_shap_values_reg)

Biểu đồ tầm quan trọng đặc trưng cho hồi quy và phân loại, cho thấy CGPA và GRE có ảnh hưởng lớn nhất đến dự đoán trúng tuyển.

Explainable AI trong Python

Ayo berlatih!

Explainable AI trong Python

Preparing Video For Download...