Alibi เป็นไลบรารี Python ที่มุ่งเป้าไปที่การตรวจสอบและตีความโมเดลการเรียนรู้ของเครื่อง จุดเน้นของห้องสมุดคือการจัดเตรียมวิธีการอธิบายกล่องดำ กล่องขาว กล่องดำ ระดับท้องถิ่นและระดับโลกที่มีคุณภาพสูงสำหรับแบบจำลองการจำแนกประเภทและการถดถอย
หากคุณสนใจการตรวจจับค่าผิดปกติ การเคลื่อนตัวของแนวคิด หรือการตรวจจับอินสแตนซ์ที่ขัดแย้งกัน โปรดดูการตรวจจับข้อแก้ตัวของโปรเจ็กต์ในเครือของเรา
คำอธิบายจุดยึดสำหรับรูปภาพ | การไล่ระดับสีแบบรวมสำหรับข้อความ |
ตัวอย่างที่ขัดแย้งกัน | ผลกระทบในท้องถิ่นสะสม |
Alibi สามารถติดตั้งได้จาก:
pip
)conda
/ mamba
)Alibi สามารถติดตั้งได้จาก PyPI:
pip install alibi
หรือสามารถติดตั้งเวอร์ชันการพัฒนาได้:
pip install git+https://github.com/SeldonIO/alibi.git
เพื่อใช้ประโยชน์จากการคำนวณคำอธิบายแบบกระจาย ให้ติดตั้ง alibi
ด้วย ray
:
pip install alibi[ray]
สำหรับการรองรับ SHAP ให้ติดตั้ง alibi
ดังนี้:
pip install alibi[shap]
ในการติดตั้งจาก conda-forge ขอแนะนำให้ใช้ mamba ซึ่งสามารถติดตั้งกับสภาพแวดล้อม conda ฐาน ด้วย:
conda install mamba -n base -c conda-forge
สำหรับการติดตั้ง Alibi มาตรฐาน:
mamba install -c conda-forge alibi
สำหรับการสนับสนุนการประมวลผลแบบกระจาย:
mamba install -c conda-forge alibi ray
สำหรับการสนับสนุน SHAP:
mamba install -c conda-forge alibi shap
API คำอธิบาย alibi ได้รับแรงบันดาลใจจาก scikit-learn
ซึ่งประกอบด้วยขั้นตอนการเริ่มต้น การปรับให้เหมาะสม และอธิบายที่แตกต่างกัน เราจะใช้ตัวอธิบาย AnchorTabular เพื่อแสดง API:
from alibi . explainers import AnchorTabular
# initialize and fit explainer by passing a prediction function and any other required arguments
explainer = AnchorTabular ( predict_fn , feature_names = feature_names , category_map = category_map )
explainer . fit ( X_train )
# explain an instance
explanation = explainer . explain ( x )
คำอธิบายที่ส่งคืนคือออบเจ็กต์ Explanation
ที่มีแอตทริบิวต์ meta
และ data
meta
เป็นพจนานุกรมที่มีข้อมูลเมตาของตัวอธิบายและไฮเปอร์พารามิเตอร์ใด ๆ และ data
เป็นพจนานุกรมที่ประกอบด้วยทุกสิ่งที่เกี่ยวข้องกับคำอธิบายที่คำนวณ ตัวอย่างเช่น สำหรับอัลกอริทึม Anchor คุณสามารถเข้าถึงคำอธิบายได้ทาง explanation.data['anchor']
(หรือ explanation.anchor
) รายละเอียดที่แน่นอนของฟิลด์ที่มีอยู่จะแตกต่างกันไปในแต่ละวิธี ดังนั้นเราจึงขอแนะนำให้ผู้อ่านทำความคุ้นเคยกับประเภทของวิธีการที่รองรับ
ตารางต่อไปนี้สรุปกรณีการใช้งานที่เป็นไปได้สำหรับแต่ละวิธี
วิธี | โมเดล | คำอธิบาย | การจำแนกประเภท | การถดถอย | แบบตาราง | ข้อความ | รูปภาพ | คุณสมบัติหมวดหมู่ | จำเป็นต้องมีชุดรถไฟ | กระจาย |
---|---|---|---|---|---|---|---|---|---|---|
เบียร์ | BB | ทั่วโลก | ||||||||
การพึ่งพาอาศัยกันบางส่วน | บีบี ดับเบิลยูบี | ทั่วโลก | ||||||||
ความแปรปรวนของ PD | บีบี ดับเบิลยูบี | ทั่วโลก | ||||||||
ความสำคัญของการเรียงสับเปลี่ยน | BB | ทั่วโลก | ||||||||
จุดยึด | BB | ท้องถิ่น | สำหรับตาราง | |||||||
ซีอีเอ็ม | BB* TF/เคราส | ท้องถิ่น | ไม่จำเป็น | |||||||
การต่อต้านข้อเท็จจริง | BB* TF/เคราส | ท้องถิ่น | เลขที่ | |||||||
ต้นแบบการต่อต้านข้อเท็จจริง | BB* TF/เคราส | ท้องถิ่น | ไม่จำเป็น | |||||||
การโต้แย้งกับ RL | BB | ท้องถิ่น | ||||||||
การไล่ระดับสีแบบรวม | TF/เคราส | ท้องถิ่น | ไม่จำเป็น | |||||||
เคอร์เนล SHAP | BB | ท้องถิ่น ทั่วโลก | ||||||||
รูปทรงต้นไม้ | ยินดี | ท้องถิ่น ทั่วโลก | ไม่จำเป็น | |||||||
คำอธิบายความคล้ายคลึงกัน | ยินดี | ท้องถิ่น |
อัลกอริธึมเหล่านี้ให้คะแนน เฉพาะอินสแตน ซ์เพื่อวัดความเชื่อมั่นของโมเดลสำหรับการคาดการณ์เฉพาะ
วิธี | โมเดล | การจำแนกประเภท | การถดถอย | แบบตาราง | ข้อความ | รูปภาพ | คุณสมบัติหมวดหมู่ | จำเป็นต้องมีชุดรถไฟ |
---|---|---|---|---|---|---|---|---|
คะแนนความน่าเชื่อถือ | BB | ✔(1) | ✔(2) | ใช่ | ||||
การวัดความเป็นเชิงเส้น | BB | ไม่จำเป็น |
สำคัญ:
อัลกอริธึมเหล่านี้ให้มุมมอง กลั่นกรอง ของชุดข้อมูลและช่วยสร้างตัวแยกประเภท ที่ตีความได้ 1-KNN
วิธี | การจำแนกประเภท | การถดถอย | แบบตาราง | ข้อความ | รูปภาพ | คุณสมบัติหมวดหมู่ | ป้ายชุดรถไฟ |
---|---|---|---|---|---|---|---|
โปรโตซีเล็ค | ไม่จำเป็น |
ผลกระทบในท้องถิ่นสะสม (ALE, Apley และ Zhu, 2016)
การพึ่งพาบางส่วน (JH Friedman, 2001)
ความแปรปรวนของการพึ่งพาบางส่วน (Greenwell et al., 2018)
ความสำคัญของการเรียงสับเปลี่ยน (Breiman, 2001; Fisher et al., 2018)
คำอธิบายจุดยึด (Ribeiro et al., 2018)
วิธีการอธิบายที่ตรงกันข้าม (CEM, Dhurandhar et al., 2018)
คำอธิบายที่โต้แย้งข้อเท็จจริง (ส่วนขยายของ Wachter et al., 2017)
คำอธิบายที่โต้แย้งซึ่งชี้นำโดยต้นแบบ (Van Looveren และ Klaise, 2019)
คำอธิบายที่ต่อต้านข้อเท็จจริงที่ไม่เชื่อเรื่องพระเจ้าแบบโมเดลผ่าน RL (Samoilescu et al., 2021)
การไล่ระดับสีแบบผสมผสาน (Sundararajan et al., 2017)
คำอธิบายเพิ่มเติมของ Kernel Shapley (Lundberg et al., 2017)
คำอธิบายเพิ่มเติมของ Tree Shapley (Lundberg et al., 2020)
คะแนนความน่าเชื่อถือ (Jiang et al., 2018)
การวัดความเป็นเชิงเส้น
โปรโตซีเล็ค
คำอธิบายความคล้ายคลึงกัน
หากคุณใช้ข้อแก้ตัวในการวิจัยของคุณ โปรดพิจารณาอ้างอิงด้วย
รายการ BibTeX:
@article{JMLR:v22:21-0017,
author = {Janis Klaise and Arnaud Van Looveren and Giovanni Vacanti and Alexandru Coca},
title = {Alibi Explain: Algorithms for Explaining Machine Learning Models},
journal = {Journal of Machine Learning Research},
year = {2021},
volume = {22},
number = {181},
pages = {1-7},
url = {http://jmlr.org/papers/v22/21-0017.html}
}