Machine Learning w problemie scoringu – case study cz. 2

Kontynuacja poprzedniego wpisu dotyczącego studium przypadku. W tej części skupiam się na głównym wnioskach z projektu, jakie udało mi się spisać i zapamiętać.

Wniosek #1 – przygotowanie danych to 80% sukcesu.

Może to dla Ciebie truizm, ale uważam, że warto to powtarzam. Osobiście czasem mam tendencję do przykładania zbyt dużej uwagi do metod modelowania i algorytmów. Duży błąd. Model jest tak dobry, jak dobre są dane. Jak to mawiają: „Z pustego i Salomon nie naleje”. 😉

Wniosek #2 – regresja logistyczna to algorytm pierwszego wyboru dla problemu scoringu.

Truizm numer 2. Pamiętam, że na wstępnie zakładaliśmy otwartość umysłu na inne algorytmy: klasyfikatora Bayesa, drzewo i XGB (dla benchmarku i odpowiedzi na pytanie: ile jesteśmy w stanie wycisnąć ze zbioru). Wraz z czasem trwania projektu życie sprowadziło nas na ziemię. Niezaprzeczalne plusy regresji logistycznej wzięły górę.

Wniosek #3 – interpretowalność wyników regresji logistycznej > interpretowalność drzewa decyzyjnego (wg biznesu).

To być może kwestia konkretnego klienta. Pamiętam, że na etapie prototypowania pierwszych modeli interpretacja typu „jeżeli klient pochodzi z branży XYZ, to szanse wzrastają o n%” bardziej przemawiała niż „jeżeli A i B i C, to prawdopodobieństwo niewywiązania się ze zobowiązania wynosi n%”.

Wniosek #4 – przygotowanie danych i dobór zmiennych kluczem do sukcesu w modelu regresji logistycznej.

Przyjęta strategia selekcji zmiennych wyglądała następująco:

  1. Usunięcie zmiennych o małej zmienności.
  2. Usunięcie zmiennych o zbyt dużej liczbie brakujących wartości.
  3. Badanie współczynników korelacji pomiędzy zmiennymi objaśniającymi.
  4. Badanie istotności zmiennych (pozostało ok. 200 zmiennych).
  5. Wybór zmiennych objaśniających o możliwie najmniejszym współczynniku korelacji.
    1. Spośród par zmiennych wysoce skorelowanych wybieraliśmy tą zmienną, która miała wyższą istotność (< 100 zmiennych).
  6. Analiza współczynnika VIF.
  7. Forward selection (< 20 zmiennych).

Wniosek #5 – dobór parametrów modelu kluczem do sukcesu w modelu drzewa decyzyjnego (CART).

Drzewo decyzyjne (CART) było głównym konkurentem dla regresji logistycznej podczas tego projektu. Ma ono niewątpliwe plusy:

  • Prostota.
  • Interpretowalność.
  • Szybkość uczenia i predykcji.
  • Niewrażliwe na odstające wartości.
  • Brak założeń dotyczących normalności rozkładu.
  • Pozwala oszczędzić czas na przygotowaniu próby (lecz kosztem doboru hiperparametrów).

Wniosek #6 – interpretowalność to nie sam algorytm.

Na interpretację składają się jeszcze m.in.:

  • Intuicyjność budowanych zmiennych. Możesz użyć regresji lub drzewa decyzyjnego, ale buduj zmienne typu „kwadrat zmienności transakcyjności klienta w kanale internetowym, w okresie 65-135” i cały wysiłek na nic. 😉
  • Liczba zbudowanych zmiennych. Przykładem może być drzewo z 30 zmiennymi i głębokością > 10. „Nie udzieliliśmy temu klientowi kredytu, ponieważ: a, b, c… xyz”. Poza tym, wraz ze wzrostem liczby zmiennych, uzysk skokowo maleje, a złożoność modelu rośnie.
  • Wybrana metoda interpretacji. Niektóre z metod są nieodpowiednie dla wybranych zagadnień lub branż, np. w bankowości metoda interpretowania dowolnego modelu typu black-box, prostym modelem drzewa decyzyjnego nie przejdzie. Jest po prostu zbyt niedokładna i ogólnikowa.

Wniosek #7 – finalny sukces, to nie tylko zasługa modelowania.

Nie pracujemy w warunkach laboratoryjnych, a budowania realnych, funkcjonujących i zarabiających na siebie modeli to nie Kaggle. Możesz zbudować najdokładniejszy model na świecie, ale wyląduje on w koszu, jeśli np.:

  • nie zadbasz o relacje z klientem,
  • nie dopasujesz modelu do oczekiwań klienta (np. kiepska kalibracja/interpretacja/stabilność),
  • źle zdefiniujesz zmienną celu,
  • źle przygotujesz zmienne objaśniające,
  • nie wyrobisz się w zakładanych czasie, harmonogramie, przekroczysz budżet,
  • etc.

Pomysły na zabicie projektu można mnożyć bez końca. Lista tych, które prowadzą do sukcesu, jest znacznie krótsza. 😉

Wniosek #8 – siła tkwi w mocnym, zróżnicowanym zespole.

Osobiście uważam, że każdy coś wnosi do procesu. Preferuję zespół 10 osób o zróżnicowanych umiejętnościach i doświadczeniu, niż 10 ekspertów, którzy co krok będą sobie wchodzić w drogę i każdy jest „multidyscyplinarny”. To była dla mnie jedna z ważniejszych lekcji z omawianego projektu.

Pamiętam, że mieliśmy na pokładzie osoby, które kiepsko modelują, ale świetnie znają SQL. Były też osoby z rocznym doświadczeniem (ale za to otwartym umysłem) i ekspert po 40-tce. Każdy wnosił coś cennego.

Pojawiały się 2-3 momenty, w których miałem wrażenie, że napotkaliśmy barierę nie do przejścia. Pamiętam, że wtedy mocno mi pomagały pełne świeżości sugestie najmłodszego członka naszego zespołu (wtedy jeszcze kończącego magisterkę).

Podsumowanie

Dziękuję za dobrnięcie do końca. Jeśli masz jakieś pytania bądź sugestie podziel się nimi w komentarzu pod wpisem. Do wszystkich postaram się odnieść. 🙂

photo: pixabay.com

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach. Dodatkowo w prezencie wyślę Ci bezpłatny poradnik 🙂

Bądź pierwszy, który skomentuje ten wpis!

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*