Wyjaśnialność modeli liniowych

Wyjaśnialne AI w Pythonie

Fouad Trad

Machine Learning Engineer

Modele liniowe

Regresja liniowa
  • Przewiduje wartości ciągłe

Obraz przedstawiający linię dopasowaną do wielu punktów, gdzie oś x to wynik testu, a oś y to szansa na przyjęcie.

Wyjaśnialne AI w Pythonie

Modele liniowe

Regresja liniowa
  • Przewiduje wartości ciągłe

Obraz przedstawiający linię dopasowaną do wielu punktów, gdzie oś x to wynik testu, a oś y to szansa na przyjęcie.

Regresja logistyczna
  • Stosowana do klasyfikacji binarnej

Obraz przedstawiający linię separującą punkty danych reprezentujące transakcje według kwoty i czasu ich wykonania.

Wyjaśnialne AI w Pythonie

Dlaczego modele liniowe są wyjaśnialne?

  • Uczą się liniowej kombinacji cech wejściowych
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Obraz przedstawiający te same wykresy regresji liniowej i logistycznej, z równaniami: regresja liniowa uczy się równania postaci Cena telefonu=푐_0+푐_1∗Pamięć, a regresja logistyczna uczy się równania postaci 푐_0+푐_1∗Pora dnia+푐_2∗Kwota transakcji=0

Wyjaśnialne AI w Pythonie

Współczynniki

  • Informują o ważności każdej cechy
    • Wyższa wartość bezwzględna → wyższa ważność
    • Niższa wartość bezwzględna → niższa ważność
  • Porównanie współczynników → wartości bezwzględne
  • Uwaga: Przed obliczeniem współczynników znormalizuj skale cech

Obraz przedstawiający równanie Cena telefonu=푐_0+5∗Pamięć+2∗Liczba obiektywów z zaznaczonymi współczynnikami

Wyjaśnialne AI w Pythonie

Współczynniki

  • Informują o ważności każdej cechy
    • Wyższa wartość bezwzględna → wyższa ważność
    • Niższa wartość bezwzględna → niższa ważność
  • Porównanie współczynników → wartości bezwzględne
  • Uwaga: Przed obliczeniem współczynników znormalizuj skale cech

Obraz przedstawiający równanie Cena telefonu=𝑐_0+𝑐_1∗Pamięć+c_2∗Liczba obiektywów, z zaznaczeniem, że pamięć jest zazwyczaj w setkach lub tysiącach GB, a liczba obiektywów zwykle poniżej 4.

Wyjaśnialne AI w Pythonie

Rekrutacja na studia

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']
Wyjaśnialne AI w Pythonie

Trenowanie 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)
Wyjaśnialne AI w Pythonie

Obliczanie współczynników

Regresja liniowa
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Regresja logistyczna
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Wyjaśnialne AI w Pythonie

Wizualizacja współczynników

Regresja liniowa
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Wykres słupkowy ważności cech pokazujący, że CGPA i wynik GRE są najważniejszymi cechami.

Regresja logistyczna
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Wykres słupkowy ważności cech pokazujący, że CGPA i wynik GRE są najważniejszymi cechami.

Wyjaśnialne AI w Pythonie

Czas na ćwiczenia!

Wyjaśnialne AI w Pythonie

Preparing Video For Download...