ความสามารถในการอธิบายของโมเดลเชิงเส้น

Explainable AI ด้วย Python

Fouad Trad

Machine Learning Engineer

โมเดลเชิงเส้น

การถดถอยเชิงเส้น
  • พยากรณ์ค่าต่อเนื่อง

ภาพแสดงเส้นที่ลากผ่านจุดข้อมูลหลายจุด โดยแกน x แทนคะแนนสอบ และแกน y แทนโอกาสในการรับเข้า

Explainable AI ด้วย Python

โมเดลเชิงเส้น

การถดถอยเชิงเส้น
  • พยากรณ์ค่าต่อเนื่อง

ภาพแสดงเส้นที่ลากผ่านจุดข้อมูลหลายจุด โดยแกน x แทนคะแนนสอบ และแกน y แทนโอกาสในการรับเข้า

การถดถอยโลจิสติก
  • ใช้สำหรับการจำแนกแบบไบนารี

ภาพแสดงเส้นที่แบ่งจุดข้อมูลที่แทนธุรกรรม โดยอิงจากมูลค่าธุรกรรมและเวลาที่เกิดขึ้น

Explainable AI ด้วย Python

เหตุใดโมเดลเชิงเส้นจึงอธิบายได้?

  • เรียนรู้การรวมเชิงเส้นของฟีเจอร์อินพุต
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

ภาพแสดงกราฟการถดถอยเชิงเส้นและโลจิสติกเหมือนก่อนหน้า พร้อมสมการที่แต่ละโมเดลเรียนรู้ ได้แก่ การถดถอยเชิงเส้นเรียนรู้สมการในรูป Mobile price=푐_0+푐_1∗Storage และการถดถอยโลจิสติกเรียนรู้สมการในรูป 푐_0+푐_1∗Time of day+푐_2∗Transaction amount=0

Explainable AI ด้วย Python

ค่าสัมประสิทธิ์

  • บอกความสำคัญของแต่ละฟีเจอร์
    • ค่าสัมบูรณ์สูง → ความสำคัญสูง
    • ค่าสัมบูรณ์ต่ำ → ความสำคัญต่ำ
  • หากต้องการเปรียบเทียบค่าสัมประสิทธิ์ → ใช้ค่าสัมบูรณ์
  • หมายเหตุ: ปรับสเกลของฟีเจอร์ให้เป็นมาตรฐานก่อนคำนวณค่าสัมประสิทธิ์

ภาพแสดงสมการ Mobile price=푐_0+5∗Storage+2∗Number of lenses โดยเน้นที่ค่าสัมประสิทธิ์

Explainable AI ด้วย Python

ค่าสัมประสิทธิ์

  • บอกความสำคัญของแต่ละฟีเจอร์
    • ค่าสัมบูรณ์สูง → ความสำคัญสูง
    • ค่าสัมบูรณ์ต่ำ → ความสำคัญต่ำ
  • หากต้องการเปรียบเทียบค่าสัมประสิทธิ์ → ใช้ค่าสัมบูรณ์
  • หมายเหตุ: ปรับสเกลของฟีเจอร์ให้เป็นมาตรฐานก่อนคำนวณค่าสัมประสิทธิ์

ภาพแสดงสมการ Mobile price=𝑐_0+𝑐_1∗Storage+c_2∗Number of lenses โดยเน้นว่าขนาด Storage มักอยู่ในช่วงหลายร้อยถึงหลายพันกิกะไบต์ ส่วนจำนวนเลนส์มักไม่เกิน 4

Explainable AI ด้วย Python

การรับเข้าศึกษา

GRE Score TOEFL Score University Rating SOP LOR CGPA Chance of Admit Accept
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
X_train = data.drop(['Chance of Admit', 'Accept'], axis=1)

y_reg = data['Chance of Admit']
y_cls = data['Accept']
Explainable AI ด้วย Python

การฝึกโมเดล

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LinearRegression, LogisticRegression


scaler = MinMaxScaler() X_train_scaled = scaler.fit_transform(X_train)
lin_reg = LinearRegression() lin_reg.fit(X_train_scaled, y_reg)
log_reg = LogisticRegression() log_reg.fit(X_train_scaled, y_cls)
Explainable AI ด้วย Python

การคำนวณค่าสัมประสิทธิ์

การถดถอยเชิงเส้น
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
การถดถอยโลจิสติก
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Explainable AI ด้วย Python

การแสดงผลค่าสัมประสิทธิ์

การถดถอยเชิงเส้น
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

กราฟแท่งแสดงความสำคัญของฟีเจอร์ โดย CGPA และ GRE Score มีความสำคัญสูงสุด

การถดถอยโลจิสติก
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

กราฟแท่งแสดงความสำคัญของฟีเจอร์ โดย CGPA และ GRE Score มีความสำคัญสูงสุด

Explainable AI ด้วย Python

มาฝึกกันเถอะ!

Explainable AI ด้วย Python

Preparing Video For Download...