Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Generowanie zestawów danych SHAP podczas predykcji

Zestawy danych ważności SHAP można generować, uruchamiając predykcję. Można użyć w tych zestawach danych obliczeń SHAP, aby się zorientować, które cechy w największym stopniu wpływają na przewidywane wartości.

Zestawy danych SHAP zawierają obliczenia SHAP na poziomie wiersza dla cech używanych do uczenia modelu. Te wartości wskazują, w jakim stopniu każda cecha przyczynia się do przewidywanej wartości celu, biorąc pod uwagę wszystkie inne cechy z tego wiersza.

Ważność SHAP może nam na przykład powiedzieć, czy dana cecha zwiększa, czy zmniejsza prawdopodobieństwo odpływu klienta i jak mocno wpływa na ten wynik.

Po uruchomieniu predykcji i wygenerowaniu zestawów danych możesz załadować wartości SHAP do aplikacji Qlik Sense i zwizualizować je obok przewidywanych wartości. Więcej informacji zawierają tematy Wizualizacja wartości SHAP w aplikacjach Qlik Sense i Używanie wartości SHAP w rzeczywistych zastosowaniach

Ten temat pomocy koncentruje się na generowaniu zestawu danych SHAP podczas predykcji dokonywanych przez wdrożenia uczenia maszynowego. Informacje na temat wykresów ważności SHAP wyświetlanych podczas uczenia eksperymentu zawiera temat Omówienie ważności SHAP w uczeniu eksperymentów.

Dostępne opcje generowania zestawów danych SHAP

Konfigurując predykcję, możesz wybrać generowanie zestawów danych SHAP w dwóch różnych formatach. Obie opcje dostarczają tych samych informacji, ale mają one różną strukturę.

SHAP

Jest to zestaw danych, w którym wartości SHAP są rozdzielone po jednej kolumnie dla każdej cechy. Ta opcja nie jest dostępna w przypadku modeli klasyfikacji wieloklasowej.

Koordynuj SHAP

Jest to zestaw danych, w którym wszystkie wartości SHAP mają taką strukturę, że mieszczą się tylko w dwóch kolumnach: „cecha” i „wartość”. Opcja ta jest dostępna dla wszystkich typów modeli.

Zestawy danych z modeli wieloklasowych działają nieco inaczej w porównaniu z zestawami danych z modeli binarnych. Dla każdego przewidywanego rekordu jest tworzony nowy wiersz z wartością SHAP dla każdej możliwej klasy dostępnej do przewidywania przez model. W zestawie danych jest tworzona także dodatkowa kolumna identyfikująca klasę reprezentowaną przez wartość SHAP.

Podczas ładowania predykcji i wartości SHAP do aplikacji Qlik Sense i tworzenia modelu danych zestawy danych SHAP w formacie współrzędnych mogą być łatwiejsze w obsłudze niż zestawy danych SHAP.

Przykłady

Poniższe tabele zawierają próbki z zestawów danych SHAP i zestawów danych SHAP w formacie współrzędnych, które zostały wygenerowane na podstawie modelu regresji nauczonego na pięciu cechach. Próbki zawierają wartości SHAP dla dwóch rekordów z zestawu danych do zastosowania (odpowiadające dwóm identyfikatorom konta).

Te przykłady podkreślają różnicę w strukturze danych.

SHAP dataset sample
AccountID AdditionalFeatureSpend_SHAP Churned_SHAP CurrentPeriodUsage_SHAP HasRenewed_SHAP NumberOfPenalties_SHAP
aa16889 1.76830971241 -0.58154511451721 -1.106874704361 -0.36080026626587 3.6597540378571
aa33396 0.80359643697739 -0.64805734157562 0.076582334935665 0.38967734575272 -0.31007811427116
Coordinate SHAP dataset sample
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend1.76830971241
aa16889Churned-0.58154511451721
aa16889CurrentPeriodUsage-1.106874704361
aa16889HasRenewed-0.36080026626587
aa16889NumberOfPenalties3.6597540378571
aa33396AdditionalFeatureSpend0.80359643697739
aa33396Churned-0.64805734157562
aa33396CurrentPeriodUsage0.076582334935665
aa33396HasRenewed0.38967734575272
aa33396NumberOfPenalties-0.31007811427116

Interpretacja wartości predykcji SHAP

W przeciwieństwie do wartości na wykresie ważności SHAP wyświetlanym podczas uczenia eksperymentu zestawy danych SHAP zawierają obliczenia SHAP na poziomie wierszy, które mają kierunkowość. Innymi słowy, nie są to wartości bezwzględne, ale mogą być dodatnie lub ujemne. Wizualizując wartości w aplikacji, można je agregować jako wartości bezwzględne, w zależności od zastosowania.

Wartość SHAP dla rekordu należy analizować w odniesieniu do odpowiedniej przewidywanej wartości dla tego rekordu. Kierunkowość wartości SHAP należy interpretować nieco inaczej w zależności od typu modelu (klasyfikacja binarna, klasyfikacja wieloklasowa lub regresja).

Modele klasyfikacji

W przypadku modeli klasyfikacji binarnej duże dodatnie wartości SHAP wskazują na większy wpływ na jeden z dwóch możliwych wyników, a wysoce ujemne wartości wskazują na większy wpływ na drugi wynik. Podczas używania danych w aplikacji kierunkowość wartości SHAP może uniemożliwić potrzebną analizę. Aby rozwiązać ten problem, możesz odwrócić kierunek wartości SHAP (na przykład pomnożyć całą kolumnę przez -1). Więcej informacji o sprawdzaniu kierunku SHAP zawiera temat Przygotowania.

Zbiór danych SHAP z modelu wieloklasowego ma inną strukturę. W przypadku każdego przewidywanego rekordu zawiera oddzielny wiersz dla każdej możliwej klasy wraz z odpowiednią dla niej wartością SHAP. Klasa jest określona w kolumnie „Predicted_class”.

W zbiorze danych SHAP w formacie współrzędnych zinterpretuj wartości SHAP z predykcji modelu wieloklasowego następująco:

  • Wysoka dodatnia wartość SHAP wskazuje, że cecha ma większy wpływ na wynik będący określonym „Predicted_class”.

  • Wysoka ujemna wartość SHAP wskazuje, że cecha ma większy wpływ na wynik inny niż określony „Predicted_class”.

Przykład

Poniższy przykład ilustruje różnicę w strukturze zestawu danych między danymi wyjściowymi modelu klasyfikacji binarnej i wieloklasowej.

Załóżmy, że zaczynamy od zestawu danych do zastosowania, który zawiera po jednym wierszu na każdy identyfikator konta. Każda cecha, na której jest uczony model, jest reprezentowana w osobnej kolumnie.

Pojedynczy rekord identyfikatora konta wyglądałby następująco:

Single record from a dataset on which predictions will be generated
AccountIDAdditionalFeatureSpendBaseFeeCurrentPeriodUsageHasRenewedNumberOfPenalties
aa1688918 33.52210.1yes4

Jeśli nauczymy model klasyfikacji binarnej tak, aby przewidzieć wynik pola Churned, będą dwa możliwe wyniki: „tak” lub „nie”. Na podstawie powyższego pojedynczego rekordu identyfikatora konta powyżej zestaw danych SHAP w formacie współrzędnych wyglądałby następująco:

Sample from coordinate SHAP dataset for binary classification model prediction
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend-0.049129267835076
aa16889BaseFee-1.5363064624041
aa16889CurrentPeriodUsage0.10787960191299
aa16889HasRenewed1.2441783315923
aa16889NumberOfPenalties2.3803616183224

W powyższej tabeli wyświetlane są wartości SHAP dla pojedynczego identyfikatora konta, w podziale na cechy. Dla każdej cechy tworzony jest nowy wiersz, a każdej cesze przypisywana jest wartość SHAP. Kierunek i wielkość tych wartości SHAP należy oceniać w odniesieniu do dwóch możliwych wyników. W idealnym przypadku im wyższa wartość SHAP, tym większy wpływ cechy na wynik pozytywny (w tym przypadku „tak”). Jeżeli ta reprezentacja jest odwrócona, można odwrócić kierunek wartości SHAP (pomnożyć je przez -1), aby ułatwić interpretację analizy.

Dla porównania załóżmy, że uczymy model klasyfikacji wieloklasowej w celu predykcji pola kategorialnego PlanType (z czterema możliwymi wynikami: „Blue Plan”, „Green Plan”, „Purple Plan” i „Red Plan”). Na podstawie powyższego pojedynczego rekordu identyfikatora konta w pierwszej tabeli zestaw danych SHAP w formacie współrzędnych wyglądałby następująco:

Sample from coordinate SHAP dataset for multiclass classification model prediction
AccountIDautoml_featurePredicted_classSHAP_value
aa16889AdditionalFeatureSpendBlue Plan0.004155414339679
aa16889AdditionalFeatureSpendGreen Plan0.0066376343942741
aa16889AdditionalFeatureSpendPurple Plan-0.014411468558894
aa16889AdditionalFeatureSpendRed Plan0.003618419824941
aa16889BaseFeeBlue Plan0.089301017079318
aa16889BaseFeeGreen Plan0.28876498452748
aa16889BaseFeePurple Plan0.055689421438434
aa16889BaseFeeRed Plan-0.43375542304524
aa16889CurrentPeriodUsageBlue Plan-0.0040098954629816
aa16889CurrentPeriodUsageGreen Plan-0.27902537442842
aa16889CurrentPeriodUsagePurple Plan-0.21871561841248
aa16889CurrentPeriodUsageRed Plan0.50175088830388
aa16889HasRenewedBlue Plan-0.011878031228962
aa16889HasRenewedGreen Plan0.036835618725654
aa16889HasRenewedPurple Plan0.13798314881109
aa16889HasRenewedRed Plan-0.16294073630778
aa16889NumberOfPenaltiesBlue Plan0.20519095034486
aa16889NumberOfPenaltiesGreen Plan0.0015682625647107
aa16889NumberOfPenaltiesPurple Plan-0.084355421853302
aa16889NumberOfPenaltiesRed Plan-0.12240379105627

W powyższej tabeli pojedynczy identyfikator konta jest reprezentowany w 20 oddzielnych wierszach: po jednym wierszu dla każdej cechy i wiersz dla wartości SHAP odpowiadającej każdemu możliwemu wynikowi w celu. Kolumna Predicted_class reprezentuje możliwy wynik (klasę) do przewidzenia, a niekoniecznie rzeczywisty przewidziany wynik wyświetlany w zestawie danych predykcji. Ostatecznie klasa o najwyższej wartości SHAP staje się wartością przewidywaną dla rekordu.

Wartości SHAP w tej tabeli są miarami wpływu, jaki określona cecha (automl_feature) wywiera na wynik, który prawdopodobnie jest określoną klasą (Predicted_class). Duża wartość dodatnia wskazuje, że cecha silnie wpływa na przewidywany wynik jako określoną klasę, natomiast duża wartość ujemna wskazuje, że cecha silnie wpływa na przewidywany wynik jako nienależący do określonej klasy.

Modele regresji

W zestawie danych SHAP wygenerowanym z modelu regresji kierunek wartości SHAP jest łatwiejszy do zinterpretowania.

  • Dodatnia wartość SHAP odpowiada wzrostowi przewidywanej wartości wiersza.

  • Ujemna wartość SHAP odpowiada zmniejszeniu przewidywanej wartości wiersza.

Obliczanie wartości SHAP

Wartości SHAP są obliczane dla różnych algorytmów. Ważność SHAP jest obliczana dwiema różnymi metodami:

  • SHAP dla modeli drzewa: szybka i dokładna metoda szacowania wartości SHAP dla modeli drzewa

  • SHAP dla modeli liniowych: metoda obliczania wartości SHAP dla modeli liniowych

Dostępne algorytmy według typów modeli i metod obliczania SHAP
AlgorytmObsługiwane typy modeliMetoda obliczania SHAP
Klasyfikacja las losowy Klasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli drzewa
Klasyfikacja XGBoostKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli drzewa
Klasyfikacja LightGBMKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli drzewa
Klasyfikacja CatBoostKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli drzewa
Regresja logistycznaKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli liniowych
Regresja lassoKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli liniowych
Regresja metodą sieci elastycznejKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP dla modeli liniowych
Naiwny gaussowski klasyfikator BayesaKlasyfikacja binarna, klasyfikacja wieloklasowaSHAP nieobliczane
Regresja CatBoostRegresjaSHAP dla modeli drzewa
Regresja LightGBMRegresjaSHAP dla modeli drzewa
Regresja liniowaRegresjaSHAP dla modeli liniowych
Regresja las losowyRegresjaSHAP dla modeli drzewa
Regresja SGDRegresjaSHAP dla modeli liniowych
Regresja XGBoostRegresjaSHAP dla modeli drzewa

Dowiedz się więcej

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!