Vysvětlitelnost lineárních modelů

Explainable AI v Pythonu

Fouad Trad

Machine Learning Engineer

Lineární modely

Lineární regrese
  • Predikuje spojité hodnoty

Obrázek zobrazující přímku procházející více body, kde osa x představuje skóre testu a osa y pravděpodobnost přijetí.

Explainable AI v Pythonu

Lineární modely

Lineární regrese
  • Predikuje spojité hodnoty

Obrázek zobrazující přímku procházející více body, kde osa x představuje skóre testu a osa y pravděpodobnost přijetí.

Logistická regrese
  • Používá se pro binární klasifikaci

Obrázek zobrazující přímku oddělující datové body reprezentující transakce podle výše transakce a času provedení.

Explainable AI v Pythonu

Proč jsou lineární modely vysvětlitelné?

  • Učí se lineární kombinaci vstupních příznaků
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Obrázek zobrazující stejné grafy lineární a logistické regrese jako dříve, ale s rovnicemi, které každá z nich učí: lineární regrese učí rovnici tvaru Cena telefonu=푐_0+푐_1∗Úložiště a logistická regrese učí rovnici tvaru 푐_0+푐_1∗Denní doba+푐_2∗Výše transakce=0

Explainable AI v Pythonu

Koeficienty

  • Udávají důležitost každého příznaku
    • Vyšší absolutní hodnota → vyšší důležitost
    • Nižší absolutní hodnota → nižší důležitost
  • Porovnání koeficientů → absolutní hodnoty
  • Poznámka: Před výpočtem koeficientů normalizujte škály příznaků

Obrázek zobrazující rovnici Cena telefonu=푐_0+5∗Úložiště+2∗Počet objektivů, zvýrazňující koeficienty

Explainable AI v Pythonu

Koeficienty

  • Udávají důležitost každého příznaku
    • Vyšší absolutní hodnota → vyšší důležitost
    • Nižší absolutní hodnota → nižší důležitost
  • Porovnání koeficientů → absolutní hodnoty
  • Poznámka: Před výpočtem koeficientů normalizujte škály příznaků

Obrázek zobrazující rovnici Cena telefonu=𝑐_0+𝑐_1∗Úložiště+c_2∗Počet objektivů, zdůrazňující, že velikosti úložišť jsou typicky v rozsahu stovek až tisíců gigabajtů a počet objektivů je obvykle menší než 4.

Explainable AI v Pythonu

Přijímací řízení

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 v Pythonu

Trénování modelu

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 v Pythonu

Výpočet koeficientů

Lineární regrese
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Logistická regrese
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Explainable AI v Pythonu

Vizualizace koeficientů

Lineární regrese
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Sloupcový graf důležitostí ukazující, že CGPA a skóre GRE jsou nejdůležitější příznaky.

Logistická regrese
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Sloupcový graf důležitostí ukazující, že CGPA a skóre GRE jsou nejdůležitější příznaky.

Explainable AI v Pythonu

Pojďme si procvičit!

Explainable AI v Pythonu

Preparing Video For Download...