0Pricing
Learn AI with Python · Lekcja

LIME: lokalne interpretowalne wyjaśnienia

lime.tabular.LimeTabularExplainer, zaburzanie danych wejściowych, lokalne przybliżenie liniowe.

LIME: lokalne interpretowalne wyjaśnienia to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Czym jest LIME

LIME (Local Interpretable Model-agnostic Explanations) wyjaśnia pojedynczą predykcję, dopasowując prosty, interpretowalny model (np. regresję liniową) do zachowania złożonego modelu w niewielkim sąsiedztwie danego przypadku.

Lokalnie, nie globalnie

Model czarnoskrzynkowy może być ogólnie silnie nieliniowy, ale w pobliżu jednego punktu jest w przybliżeniu liniowy. LIME wykorzystuje tę właściwość: nie wyjaśnia całego modelu, lecz tylko jego zachowanie lokalnie, wokół interesującego Cię przypadku.

Jak działa LIME

LIME modyfikuje dany przypadek, aby utworzyć wiele podobnych próbek, uzyskuje dla nich predykcje modelu czarnoskrzynkowego, nadaje próbkom wagi zależne od ich odległości od oryginalnego przypadku, a następnie dopasowuje interpretowalny model zastępczy. Współczynniki modelu zastępczego stają się wyjaśnieniem.

Niezależność od modelu

Ponieważ LIME korzysta wyłącznie z funkcji predykcji modelu, działa z dowolnym klasyfikatorem lub regresorem: siecią neuronową, modelem gradient boosting, a nawet zewnętrznym API. Traktuje model jak czarną skrzynkę.

LimeTabularExplainer

W przypadku danych tabelarycznych tworzysz obiekt LimeTabularExplainer na podstawie danych treningowych i nazw cech. Wykorzystuje on rozkład danych treningowych do generowania realistycznych modyfikacji.

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    training_data=X_train.values,
    feature_names=X_train.columns.tolist(),
    class_names=["denied", "approved"],
    mode="classification",
)

explain_instance

Aby wyjaśnić jeden wiersz, wywołuje się explain_instance, przekazując ten wiersz oraz funkcję modelu predict_proba. LIME modyfikuje dane wokół tego wiersza i dopasowuje lokalny model zastępczy.

exp = explainer.explain_instance(
    data_row=X_test.values[0],
    predict_fn=model.predict_proba,
    num_features=5,
)

predict_proba, nie predict

LIME dla klasyfikacji potrzebuje prawdopodobieństw, a nie twardych etykiet, ponieważ model zastępczy dopasowuje regresję do powierzchni prawdopodobieństwa. Zawsze przekazuj model.predict_proba lub dowolną funkcję zwracającą prawdopodobieństwa klas.

Parametr num_features

num_features ogranicza liczbę cech pojawiających się w wyjaśnieniu. Mniejsza liczba daje prostsze i łatwiejsze do przyswojenia wyjaśnienie, które uwydatnia tylko najsilniejsze lokalne czynniki wpływające na wynik.

Odczytywanie wag cech

exp.as_list() zwraca wyjaśnienie w postaci par (warunek dotyczący cechy, waga). Dodatnia waga przesuwa predykcję w stronę przewidywanej klasy, a ujemna od niej odsuwa.

for feature, weight in exp.as_list():
    print(feature, round(weight, 3))
# income > 50000     0.21
# debt_ratio > 0.4  -0.18

Wizualizacja wyjaśnienia

LIME może przedstawiać wyjaśnienie w postaci interaktywnego wykresu lub widoku w notebooku, pokazując obok siebie słupki wkładu i przewidywane prawdopodobieństwa.

exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()

LIME a SHAP

Obie metody wyjaśniają pojedyncze predykcje, ale się różnią:

  • SHAP ma silne podstawy teoretyczne (addytywność, spójność) oraz oferuje widok globalny
  • LIME jest łatwiejszy do zrozumienia, niezależny od modelu i intuicyjny, ale jego lokalny model zastępczy jest przybliżeniem i może się zmieniać w zależności od losowości modyfikacji

Szybki test

Sprawdź swoją wiedzę na temat LIME.

Podsumowanie

Nauczyłeś się tworzyć lokalne wyjaśnienia za pomocą LIME:

  • LimeTabularExplainer tworzy się na podstawie danych treningowych i nazw cech
  • explain_instance korzysta z model.predict_proba, aby dopasować lokalny model zastępczy
  • num_features określa rozmiar wyjaśnienia
  • as_list() zwraca wagi cech wraz z ich znakiem
  • LIME jest niezależny od modelu i działa lokalnie, uzupełniając SHAP

Często zadawane pytania

Czy lekcja „LIME: lokalne interpretowalne wyjaśnienia” jest bezpłatna?

Tak — pełny tekst „LIME: lokalne interpretowalne wyjaśnienia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „LIME: lokalne interpretowalne wyjaśnienia”?

lime.tabular.LimeTabularExplainer, zaburzanie danych wejściowych, lokalne przybliżenie liniowe. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „LIME: lokalne interpretowalne wyjaśnienia”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wykrywanie uprzedzeń w modelach ML
  2. Wartości SHAP do objaśniania modeli
  3. LIME: lokalne interpretowalne wyjaśnienia
  4. Etyka AI i ramy zarządzania
← Powrót do Learn AI with Python