Explicabilitatea în modelele liniare

AI Explicabil în Python

Fouad Trad

Machine Learning Engineer

Modele liniare

Regresie liniară
  • Prezice valori continue

Imagine cu o linie care se potrivește mai multor puncte, unde axa x reprezintă scorul la test și axa y reprezintă șansa de admitere.

AI Explicabil în Python

Modele liniare

Regresie liniară
  • Prezice valori continue

Imagine cu o linie care se potrivește mai multor puncte, unde axa x reprezintă scorul la test și axa y reprezintă șansa de admitere.

Regresie logistică
  • Utilizată pentru clasificare binară

Imagine cu o linie care separă mai multe puncte de date reprezentând tranzacții, în funcție de suma tranzacției și ora execuției.

AI Explicabil în Python

De ce sunt explicabile modelele liniare?

  • Învață o combinație liniară a caracteristicilor de intrare
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Imagine cu aceleași grafice de regresie liniară și logistică, dar cu ecuațiile învățate: regresia liniară învață o ecuație de forma Preț telefon=푐_0+푐_1∗Stocare, iar regresia logistică învață o ecuație de forma 푐_0+푐_1∗Ora zilei+푐_2∗Suma tranzacției=0

AI Explicabil în Python

Coeficienți

  • Indică importanța fiecărei caracteristici
    • Valoare absolută mai mare → importanță mai mare
    • Valoare absolută mai mică → importanță mai mică
  • Pentru compararea coeficienților → valori absolute
  • Notă: Normalizați scalele caracteristicilor înainte de calculul coeficienților

Imagine cu ecuația Preț telefon=푐_0+5∗Stocare+2∗Număr de lentile, evidențiind coeficienții

AI Explicabil în Python

Coeficienți

  • Indică importanța fiecărei caracteristici
    • Valoare absolută mai mare → importanță mai mare
    • Valoare absolută mai mică → importanță mai mică
  • Pentru compararea coeficienților → valori absolute
  • Notă: Normalizați scalele caracteristicilor înainte de calculul coeficienților

Imagine cu ecuația Preț telefon=𝑐_0+𝑐_1∗Stocare+c_2∗Număr de lentile, evidențiind că dimensiunile de stocare sunt de obicei în intervale de sute până la mii de gigabytes, iar numărul de lentile este de obicei mai mic de 4.

AI Explicabil în Python

Admitere

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']
AI Explicabil în Python

Antrenarea modelului

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)
AI Explicabil în Python

Calculul coeficienților

Regresie liniară
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Regresie logistică
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
AI Explicabil în Python

Vizualizarea coeficienților

Regresie liniară
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Grafic cu bare al importanțelor, arătând că CGPA și scorul GRE sunt cele mai importante caracteristici.

Regresie logistică
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Grafic cu bare al importanțelor, arătând că CGPA și scorul GRE sunt cele mai importante caracteristici.

AI Explicabil în Python

Să exersăm!

AI Explicabil în Python

Preparing Video For Download...