XGboost - wybór według modelu

10

Używam XGboost, aby przewidzieć zmienną docelową 2 klas dotyczącą roszczeń ubezpieczeniowych. Mam model (szkolenie z walidacją krzyżową, dostrajanie hiper parametrów itp.) Uruchomiłem na innym zestawie danych.

Moje pytanie brzmi :

czy istnieje sposób, aby dowiedzieć się, dlaczego dane roszczenie wpłynęło na jedną klasę, tj. cechy, które wyjaśniają wybór dokonany przez model?

Ma to na celu uzasadnienie wyboru dokonanego przez maszynę w stosunku do osoby trzeciej.

Dzięki za odpowiedź.

Fabrice BOUCHAREL
źródło

Odpowiedzi:

7

Sugeruję, abyś poszedł po Shapa . Wykorzystuje wartości Shapleya (koncepcja zapożyczona z teorii gry) do opisania zachowania modelu, a tym samym może wyjaśnić jedną prognozę.

Jego interfejs graficzny wykorzystuje wykresy siły, takie jak ten, który widzisz poniżej. wprowadź opis zdjęcia tutaj

Czerwony pasek jest zbudowany przez funkcje, które prowadzą prognozę do wartości dodatnich, a niebieski przez pozostałe.

W twoim przypadku (klasyfikator) pogrubioną liczbą będzie ta, która znajduje się tuż przed funkcją sigmoid , która ograniczy wartość wyjściową od zera do jednej (jednej klasy lub drugiej). Więc nie bój się, jeśli w niektórych przypadkach będzie większy niż jeden lub ujemny.

Rozmiar segmentów reprezentuje, ile ta funkcja przyczynia się do przewidywania, a pod segmentami widnieje nazwa funkcji (np. LSTAT) i jej rzeczywista wartość (np. 4,98). Zatem w tym przypadku LSTAT jest średnią funkcją, która doprowadziła prognozę dla tego elementu zestawu danych do wartości 24,41 (liczba pogrubiona).

Cieszyć się!

Vincenzo Lavorini
źródło
9

Biblioteki ELI5 można użyć do wyjaśnienia wkładu funkcji w indywidualne prognozy dla modeli XGBoost.

Zobacz Wyjaśnienie prognoz w dokumentach, skopiowane poniżej:

Aby lepiej zrozumieć, jak działa nasz klasyfikator, przyjrzyjmy się indywidualnym przewidywaniom za pomocą eli5.show_prediction():

from eli5 import show_prediction
show_prediction(clf, valid_xs[1], vec=vec, show_feature_values=True)

wprowadź opis zdjęcia tutaj

Imran
źródło