From 6c55259a1a3cff7a691b1ef614af64ff2c005108 Mon Sep 17 00:00:00 2001 From: Jakub Cierocki Date: Thu, 4 Jun 2020 19:07:16 +0200 Subject: [PATCH] Executive summary and language corrections aadded. --- docs/report1.Rmd | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/docs/report1.Rmd b/docs/report1.Rmd index a2a4bf4..69bd889 100644 --- a/docs/report1.Rmd +++ b/docs/report1.Rmd @@ -1,4 +1,6 @@ --- +header-includes: + - \usepackage{indentfirst} output: pdf_document: includes: @@ -82,13 +84,25 @@ Jakub Cierocki \& Szymon Reddig \\ \tableofcontents \clearpage +## Executive Summary + +Celem niniejszego raportu jest przeanalizowanie możliwości klasyfikacji churnu klientów banku na podstawie informacji przez niego posiadanych. Ponadto zbadano jakie czynniki mają szczególny wpływ na decyzję o rezygnacji z usług danego banku. Możliwość skutecznej klasyfikacji klientów do grupy o podwyższonym ryzyku zmiany dostawcy usług subskrypcyjnych jest kluczowym zagadnieniem w wielu branżach, w tym wspomnianej bankowości i niniejsza analiza może pozwolić firmom lepiej prognozować swoje przyszłe przychodzy oraz planować strategie marketingowe. + +Dane użyte do modelowania pochodzą z portalu \textit{kaggle.com} i zawierają zanonimizowane atrybuty 10 tys. klientów banku z 3 krajów. W zbiorze można wyróżnić zmienne dotyczące zarówno cech osobowych klienta jak i historii jego dotychczasowej współpracy z bankiem. + +Do klasyfikacji wykorzystano 3 typy modeli: drzewa, lasy losowe oraz GBM (XGBoost). Ponadto przeanalizowano wpływ kategoryzacji zmiennych ilościowych na jakość klasyfikacji. + +Najlepszym klasyfikatorem okazał się las losowy wytrenowany z użyciem pakietu \textit{ranger}, który pozwala uzyskać dokładność klasyfikacji (TP + FN) na poziomie około 86\% bez konieczności stosowania automatycznej kalibracji. Wykazano ponadto, że niewiele gorzej radzi sobie pojedyncze drzewo CART uzyskując zbliżoną dokładność klasyfikacji przy zachowaniu pełnej interpretowalności modelu. + +Spośród zaobserwowanych reguł decyzyjnych na szczególną uwagę wskazuje dodatnia zależność między wiekiem, a prawdopodobieństwem rezynacji z usług banku. Wiernymi klientami są głównie osoby młode o małej liczbie produktów bankowych z Francji i Hiszpanii. Z kolei osoby starsze, o większej liczbie subsrybowanych usług, aktywnie korzystające ze swojego konta są bardziej skłonne do zmiany banku. + ## Wprowadzenie Zjawisko tzw. ,,customer churn'' (ang. \textit{churn} - odpływ, rezygnacja), czyli rezygnacji klienta z subskrypcji usług danego przedsiębiorstwa, jest w kręgu zainteresowania naukowców od wielu lat. -Do modelowania churnu stosuje się m.in. metody analizy przetrwania (jak długo klient będzie odnawiał subskrybcję) oraz klasyfikacji binarnej (czy klient w niedługiej przyszłości zmieni dostawcę usług). W niniejszym raporcie zajmiemy się drugim z ww. zagadnień. +Do modelowania churnu stosuje się m.in. metody analizy przetrwania (jak długo klient będzie odnawiał subskrypcję?) oraz klasyfikacji binarnej (czy klient w niedługiej przyszłości zmieni dostawcę usług?). W niniejszym raporcie zajmiemy się drugim z ww. zagadnień. -Firmy, a w szczególności telekomy, ubezpieczyciele oraz banki, inwestują w modelowanie tego zjawiska, gdyż pozyskiwanie nowych klientów jest często o wiele droższym zabiegiem, niż utrzymanie dotychczasowych, a dynamika ich liczby jest kluczowa przy modelowaniu procesów biznesowych. Przykładowo, jeśli Spotify (dostawca usługi streamowania muzyki) zidentyfikowałoby segment osób, które z dużym prawdopobieństwem zrezygnują niedługo z subskrypcji, przedsiębiorstwo mogłoby zasypać ich specjalnymi ofertami, zachęcających ich do dalszego korzystania z ich oferty. Z drugiej strony powiązanie nielojalności konsumenckiej z atrybutami konkretnej podgrupy klientów może pomóc w racjonalizacji kosztów przeznaczonych na reklamę i projektowanie produktów przeznaczonych dla jej przedstawicieli. W przypadku m.in. telekomów subskrypcje abonamentowe stanowią podstawowe źródło dochodów przedsiębiorstwa i ich odpowiednie prognozowanie ich dynamiki jest niezbędne w procesie prognozowania przychodów przedsiębiorstwa. +Firmy, a w szczególności telekomy, ubezpieczyciele oraz banki, inwestują w modelowanie tego zjawiska, gdyż pozyskiwanie nowych klientów jest często o wiele droższym zabiegiem, niż utrzymanie dotychczasowych, a dynamika ich liczby jest kluczowa przy modelowaniu procesów biznesowych. Przykładowo, jeśli Spotify (dostawca usługi streamowania muzyki) zidentyfikowałoby segment osób, które z dużym prawdopodobieństwem zrezygnują niedługo z subskrypcji, przedsiębiorstwo mogłoby zasypać ich specjalnymi ofertami, zachęcających ich do dalszego korzystania z ich oferty. Z drugiej strony powiązanie nielojalności konsumenckiej z atrybutami konkretnej podgrupy klientów może pomóc w racjonalizacji kosztów przeznaczonych na reklamę i projektowaniu produktów przeznaczonych dla jej przedstawicieli. W przypadku m.in. telekomów subskrypcje abonamentowe stanowią podstawowe źródło dochodów przedsiębiorstwa i ich odpowiednie prognozowanie ich dynamiki jest niezbędne w procesie prognozowania przychodów przedsiębiorstwa. ## Problem badawczy @@ -106,7 +120,7 @@ Wykorzystany zbiór deskryptorów liczy łącznie 10 zmiennych, które opisują \item \textit{Geography} - kraj pochodzenia, zmienna kategoryzowana, skala nominalna \item \textit{Gender} - płeć, zmienna binarna, 1 - mężczyzna \item \textit{HasCrCard} - posiadanie karty kredytowej, zmienna binarna, 1 - posiada - \item \textit{IsActiveMember} - bycie aktywnym klientem banku (korzystającym z subskrybowanych usług np. wykonującym przelewy), zmienna binarna, 1 - tak + \item \textit{IsActiveMember} - bycie aktywnym klientem banku (korzystającym z owanych usług np. wykonującym przelewy), zmienna binarna, 1 - tak \item \textit{Age} - wiek, zmienna całkowitoliczbowa \item \textit{Balance} - ilość pieniędzy na koncie, zmienna liczbowa \item \textit{CreditScore} - ocena wiarygodności kredytowej, zmienna liczbowa @@ -117,7 +131,7 @@ Wykorzystany zbiór deskryptorów liczy łącznie 10 zmiennych, które opisują Surowy zbiór danych był już oczyszony i nie zawierał braków danych oraz zmiennych wymagających rekodowania. Dokonano konwersji typów na odpowiadające rzeczywistemu charakterowi zmiennych (liczbowe lub kategoryzowane). Kategoriom zmiennych jakościowych nadano odpowiednie etykiety. Zmienna \textit{Country} jako jedyna zmienna nominalna z liczbą kategorii $>2$ w zbiorze została przekonwertowana na dwie zmienne binarne \textit{CountryGermany} oraz \textit{CountrySpain}. -Zostały wyodrębione 2 warianty zbioru danych. Pierwszy, który dalej będzie nazywany surowym, zawiera dane uwzględniające tylko ww. przekształcenia. Drugi, które będzie dalej nazywany przekształconym, zawiera wszystkie zmienne ilościowe poddane kategoryzacji. Wykorzystano w tym celu pakiet \textit{scorecard} oraz algorytm wykorzystujące drzewa do dobrania optymalnego z punktu widzenia IV (ang. \textit{Information Value}) kategoryzacji zmiennej. W celu uniknięcia zaburzenia oceny istotności zmiennych w modelu na podstawie wskaźnika Giniego, maksymalna liczba kategorii została ustalona na poziomie 5. Już po konwersji, uzyskany zbiór danych przefiltrowano adrzucając zmienne, których IV było mniejsze od 0.01. +Zostały wyodrębione 2 warianty zbioru danych. Pierwszy, który dalej będzie nazywany surowym, zawiera dane uwzględniające tylko ww. przekształcenia. Drugi, które będzie dalej nazywany przekształconym, zawiera wszystkie zmienne ilościowe poddane kategoryzacji. Wykorzystano w tym celu pakiet \textit{scorecard} oraz algorytm wykorzystujące drzewa do dobrania optymalnej z punktu widzenia IV (ang. \textit{Information Value}) kategoryzacji. W celu uniknięcia zaburzenia oceny istotności zmiennych w modelu na podstawie wskaźnika Giniego, maksymalna liczba kategorii została ustalona na poziomie 5. Już po konwersji, uzyskany zbiór danych przefiltrowano odrzucając zmienne, których IV było mniejsze od 0.01. ```{r, echo=FALSE} get_all_iv(df_1$data, df_2$data) %>% @@ -131,7 +145,7 @@ IV są konsekwentnie wyższe dla danych nieprzekształconych, co wynika z faktu, plot_multi_freq(df_1$data, c("Age", "Balance", "NumOfProducts")) ``` -Jak widać na powyższym wykresie są obserwowane liniowe zależności między udziałem danej kategorii w liczbie obserwacji, a procentem rezygnujących klientów, dla zmiennych \textit{Balance} oraz \textit{NumOfProducts}. W przypadku zmiennej \textit{Age} wykres nie sugeruje takiej korelacji co budzi podejrzenia co do poprawności tej kategoryzacji. +Jak widać na powyższym wykresie są obserwowane liniowe zależności między udziałem danej kategorii w liczbie obserwacji, a procentem rezygnujących klientów, dla zmiennych \textit{Balance} oraz \textit{NumOfProducts}. W przypadku zmiennej \textit{Age} wykres nie sugeruje takiej korelacji co budzi podejrzenia co do poprawności jej kategoryzacji. ## Metodologia @@ -147,9 +161,9 @@ W niniejszej pracy zostaną porównane 4 modele: Drzewo decyzyjne na danych przekształconych pominięto ponieważ kategoryzacja zmiennych służy jedynie możliwości uzyskania nieobciążonych pomiarów istotności obliczanych z użyciem wskaźnika Giniego, a w przypadku pojedynczego drzewa mamy możliwość jego podejrzenia i co za tym idzie pełną interpretowalność zmiennych. GBM na danych surowych pominięto ponieważ API pakietu XGBoost nie pozwala na oszacowanie istotności zmiennych metodą permutacyjną przy trenowaniu modelu. W tej sytuacji, zastosowanie danych surowych spowodowałoby uzyskanie obciążonych pomiarów istotności zmiennych. -Do zarządzania podziałem zbiorów na testowy i uczący, określania specyfikacji, trenowania oraz walidacji modeli wykorzystano rodzinę pakietów \textit{Tidymodels}, będą następcą popularnego pakietu \textit{Caret} i rozwijaną w ramach projektu \textit{Tidyverse}. +Do zarządzania podziałem zbiorów na testowy i uczący, określania specyfikacji, trenowania oraz walidacji modeli wykorzystano rodzinę pakietów \textit{Tidymodels}, będącą następcą popularnego pakietu \textit{Caret} i rozwijaną w ramach projektu \textit{Tidyverse}, por. Wickham et al. (2019). -Drzewo decyzyjne oraz lasy losowe zostały poddane kalibracji z użyciem metody przeszukiwania zachłannego wszystkich kombinacji przestrzeni parametrów. Dobrano tak odpowiednio maksymalną parametry \textit{cost_complexity} i \textit{tree_depth} dla drzewa decyzyjnego oraz \textit{mtry} (maksymalna liczba zmiennych wykorzystywanych przy podziale węzła) i \textit{sample.fraction}. Model GBM został poddany jedynie eksperckiej kalibracji, ze względu na dużo bardziej skomplikowaną parametryzację i większe zapotrzebowanie na moc obliczeniową, utrudniające przeszukiwanie przestrzeni kombinacji parametrów. +Drzewo decyzyjne oraz lasy losowe zostały poddane kalibracji z użyciem metody przeszukiwania zachłannego wszystkich kombinacji przestrzeni parametrów. Dobrano tak odpowiednio maksymalną parametry \textit{cost_complexity} i \textit{tree_depth} dla drzewa decyzyjnego oraz \textit{mtry} i \textit{sample.fraction}. Model GBM, ze względu na dużo bardziej skomplikowaną parametryzację i większe zapotrzebowanie na moc obliczeniową, utrudniające przeszukiwanie przestrzeni kombinacji parametrów, został poddany jedynie eksperckiej kalibracji. Ogólne własności i obserwowane w zbiorze danych zostaną omówione na przykładzie uproszczonego drzewa decyzyjnego, ale w dalszej analizie będzie wykorzystywane już większe drzewo, o optymalnych dla analizowanego zbioru danych parametrach. @@ -188,8 +202,8 @@ Poniżej przedstawiono parametryzację wszystkich omawianych w dalszej części ### GBM \begin{itemize} - \item $mtry = 3$ (liczba losowych predyktorów wykorzystywanych przy każdym podziale drzewa) - \item $trees = 1000$ (łączna liczba drzew) + \item $mtry = 3$ + \item $trees = 1000$ \item $min\_n = 5$ \item $tree\_depth = DEFAULT$ \item $learn\_rate = .1$ (stała uczenia) @@ -197,8 +211,6 @@ Poniżej przedstawiono parametryzację wszystkich omawianych w dalszej części \item $sample\_size = 0.7$ \end{itemize} -\clearpage - ## Wyniki W niniejszym rozdziale zostaną omówione i porównane wyniki modeli. @@ -254,7 +266,7 @@ predict_dfs %>% ``` -Porównując surowe miary dopasowania najskuteczniejszym klasyfikatorem okazuje się las losowy na danych surowych, który osiąga najlepszy wynik w 3 z 4 kategorii przegrywając tylko w jednej kategorii z pojedynczym drzewem. Modele wykorzystające dane przekształcone, ze wszystkimi zmiennymi ilościowymi pogrupowanymi, generują zauważalnie gorszą, ale nadal dobrą klasyfikację. Jest to uzasadnione, ponieważ agregacja zmiennej ciągłej do 5 lub mniej kategorii zawsze istonie obniża ilość informacji w niej zawartej. Zaskakujący może być za to wynik pojedynczego drzewa, który osiąga prawie identyczne \textit{accuracy} oraz lepsze \textit{kappa} od lasu losowego. Logarytm błędu (\textit{mn\_log\_loss}), uwzględniający dokładne prawdopobieństwa (niezaokrąglone do postaci binarnej) jest jednak dużo wyższy, najgorszy spośród wszystkich 4 modeli. W celu uniknięcia przeuczenia pojedyncze drzewo jest przycinane, a jego wysokość ograniczona, przez co uzyskuje się dalekie od homogeniczności zbiory obserwacji w liściach. Uzasadnia to wysoki logarytm błędu pojedynczego drzewa. Dla lasów losowych prawdopobieństwa wynikają z uśrednienia 500-1000 drzew co umożliwia znaczne zniewelowanie tego problemu. Wyższy logarytm błędu pojedynczego drzewa pozwala podejrzewać gorszą jakość klasyfikacji dla niektórych kombinacji atrybutów, nieobserwowalnych w zbiorze testowym. +Porównując surowe miary dopasowania najskuteczniejszym klasyfikatorem okazuje się las losowy trenowany na danych surowych, który osiąga najlepszy wynik w 3 z 4 kategorii przegrywając tylko w jednej z pojedynczym drzewem. Modele wykorzystające dane przekształcone, ze wszystkimi zmiennymi ilościowymi pogrupowanymi, generują zauważalnie gorszą, ale nadal dobrą klasyfikację. Jest to uzasadnione, ponieważ agregacja zmiennej ciągłej do 5 lub mniej kategorii zawsze obniża ilość informacji w niej zawartej. Zaskakujący może być za to wynik pojedynczego drzewa, który osiąga prawie identyczne \textit{accuracy} oraz lepsze \textit{kappa} od lasu losowego. Logarytm błędu (\textit{mn\_log\_loss}), uwzględniający dokładne prawdopodobieństwa (niezaokrąglone do postaci binarnej) jest jednak dużo wyższy, najgorszy spośród wszystkich 4 modeli. W celu uniknięcia przeuczenia pojedyncze drzewo jest przycinane, a jego wysokość ograniczona, przez co uzyskuje się dalekie od homogeniczności zbiory obserwacji w liściach. Uzasadnia to wysoki logarytm błędu. Dla lasów losowych prawdopodobieństwa wynikają z uśrednienia 500-1000 drzew co umożliwia znaczne zniewelowanie tego problemu. Wyższy logarytm błędu pojedynczego drzewa pozwala podejrzewać gorszą jakość klasyfikacji dla niektórych kombinacji atrybutów, nieobserwowalnych w zbiorze testowym. W dalszej części pracy zostaną przeanalizowane krzywe ROC dla uzyskanych modeli. @@ -273,15 +285,15 @@ Najlepszą, najbliższą punktowi $(0,1)$ krzywą uzyskano dla lasu losowego na rlang::exec(grid.arrange, !!!map2(models, names(predict_dfs), ~ suppressWarnings(vip(.x, aesthetics = list(fill = "#56B4E9", color = "grey30")) + ggtitle(.y)))) ``` -Oceny istotności zmiennych dla częściowo się pokrywają oraz są zgodne z ekspercką oceną problemu. Wiek klienta jest 1 albo 2 najistotniejszą zmienną w każdym modelu. Główną, obserwowaną różnicą są znacznie niższe istotności zmiennej \textit{NumOfProducts} dla danych kategoryzowanych. Zmienna ta w rzeczywistości posiadała bardzo silnie asymetryczny rozkład ze zdecydowaną większością obserwacji blisko zera. Spowodowało to pogrupowanie jej w raptem 2 kategorie, co z kolei może być uzasadnieniem tak dużego spadku jej wpływu na wyniki modelu. Wniosek ten pokrywa się ze wcześniejszym, płynącym z przedstawionych miar dopasowania poszczególnych modeli. Modele na danych przekształconych uzyskiwały widocznie gorsze dopasowanie i jego źródłem może być właśnie osłabienie zmiennej \textit{NumOfProducts}. +Oceny istotności zmiennych analizowanych modeli częściowo się pokrywają oraz są zgodne z ekspercką oceną problemu. Wiek klienta jest 1 albo 2 najistotniejszą zmienną w każdym modelu. Główną, obserwowaną różnicą są znacznie niższe istotności zmiennej \textit{NumOfProducts} dla danych kategoryzowanych. Zmienna ta w rzeczywistości posiadała silnie prawostronnie skośny rozkład. Spowodowało to pogrupowanie jej w raptem 2 kategorie, co z kolei może być uzasadnieniem tak dużego spadku jej wpływu na wyniki modelu. Wniosek ten pokrywa się ze wcześniejszym, płynącym z przedstawionych miar dopasowania poszczególnych modeli. Modele na danych przekształconych uzyskiwały widocznie gorsze dopasowanie i jego źródłem może być właśnie osłabienie zmiennej \textit{NumOfProducts}. ## Wnioski i rekomendacje -Podsumowując, można stwierdzić, że modele drzew i lasów dobrze sprawdzają się przy klasyfikacji klientów pod kątem prawdopobieństwa churnu. Dla analizowanych uzyskano wysoką, 84-86\% dokładność klasyfikacji oraz silnie wklęsłe i regularne krzywe ROC. Optymalnym modelem z punktu widzenia dokładności oraz czasu przygotowania jest las losowy na danych surowych estymowany z użyciem pakietu \textit{ranger}. Rozwiązanie to charakteryzuje się najwyższą dokładnością klasyfikacji oraz prostotą kalibracji. Liczba parametrów jest mała, a ich znaczenie bardzo intuicyjne. Ponadto optymalny wynik uzyskano na wartościach parametrów zbliżonych do początkowej oceny eksperckiej. Dokonana w ramach tej analizy kalibracja modelu modelu z użyciem automatycznego przeszukiwania przestrzeni stanów modelu okazała się w praktyce zbędna i wpłynęła na poprawę wyników tylko minimalnie. Dostępne w pakiecie R API pozwala ponadto na wygodne korzystanie z kilku różnych metod pomiaru istotności zmiennych, w tym skorygowanego współczynnika Giniego i podejścia permutacyjnego, które pozwalają na ocenę ekspercką uchwyconych przez model zależności i co za tym idzie zmniejszają skalę problemu czarnej skrzynki (ang. black-box). +Podsumowując, można stwierdzić, że modele drzew i lasów dobrze sprawdzają się przy klasyfikacji klientów pod kątem prawdopodobieństwa churnu. Dla analizowanych modeli uzyskano wysoką, 84-86\% dokładność klasyfikacji oraz silnie wklęsłe i regularne krzywe ROC. Optymalnym modelem z punktu widzenia dokładności oraz czasu przygotowania jest las losowy na danych surowych estymowany z użyciem pakietu \textit{ranger}. Rozwiązanie to charakteryzuje się najwyższą dokładnością klasyfikacji oraz prostotą kalibracji. Liczba parametrów jest mała, a ich znaczenie bardzo intuicyjne. Ponadto optymalny wynik uzyskano na wartościach parametrów zbliżonych do początkowej oceny eksperckiej. Dokonana w ramach tej analizy kalibracja modelu z użyciem automatycznego przeszukiwania przestrzeni stanów modelu okazała się w praktyce zbędna w przypadku lasu losowego i wpłynęła na poprawę wyników tylko minimalnie. Dostępne w pakiecie R API pakietu \textit{ranger} pozwala ponadto na wygodne korzystanie z kilku różnych metod pomiaru istotności zmiennych, w tym skorygowanego współczynnika Giniego i podejścia permutacyjnego, które umożlwiają dokładniejszą ocenę uchwyconych przez model zależności i co za tym idzie zmniejszają skalę problemu czarnej skrzynki (ang. black-box). -Z drugiej strony pojedyncze drzewo klasyfikacyjne pozwoliło na uzyskanie niewiele gorszych wyników zachowując przy tym pełną interpretowalność. Dlatego w sytuacji dużych wymagań odnośnie eksperckiej weryfikacji zachowań uzyskanego modelu, wykorzystanie pojedynczego drzewa wytrenowanego z użyciem pakietu \textit{rpart} można uznać za zasane. Problemem modelu drzewa decyzyjnego jest mniej intuicyjna parametryzacja, z racji na wykorzystanie współczynnika kosztu złożoności (\textit{cost_complexity}), którego optymalny rząd wielkości nie jest znany bez przeprowadzenia kilku prób lub zagłębienia się w dokumentację modelu. Implikuje to potrzebę dużo bardziej czasochłonnej i profesjonalnej, przeprowadzonej z użyciem odpowiednich bibliotek, kalibracji. W przeciwieństwie do lasu losowego, uzyskanie optymalnego, przedstawionego w niniejszej pracy wyniku, wymagało zastosowania ściśle określonych, nieintuicyjnych wartości parametrów, których uzyskanie w wyniku niezautomatyzowanej metody prób i błędów lub oceny eksperckiej nie było możliwe. +Z drugiej strony pojedyncze drzewo klasyfikacyjne pozwoliło na uzyskanie niewiele gorszych wyników zachowując przy tym pełną interpretowalność. Dlatego w sytuacji dużych wymagań odnośnie eksperckiej weryfikacji zachowań uzyskanego modelu, wykorzystanie pojedynczego drzewa wytrenowanego z użyciem pakietu \textit{rpart} można uznać za zasane. Problemem modelu drzewa decyzyjnego jest mniej intuicyjna parametryzacja, z racji na wykorzystanie współczynnika kosztu złożoności (\textit{cost_complexity}), którego optymalny rząd wielkości nie jest znany bez przeprowadzenia kilku próbnych estymacji lub zagłębienia się w publikację naukową, szczegółową opisującą działanie tego konkretnego algrytmu. Implikuje to potrzebę dużo bardziej czasochłonnej, zautomatyzowanej kalibracji, przeprowadzonej z użyciem odpowiednich bibliotek. W przeciwieństwie do lasu losowego, uzyskanie optymalnego, przedstawionego w niniejszej pracy wyniku, wymagało zastosowania ściśle określonych, nieintuicyjnych wartości parametrów, których uzyskanie w wyniku niezautomatyzowanej metody prób i błędów lub oceny eksperckiej nie było możliwe. -Posumowując model pojedynczego drzewa decyzyjnego może mieć również stosunkow dużą skuteczność, zachowując przy tym pełną interpretowalność, ale okupione będzie to dużo większym nakładem pracy i wymaganiami co do umiejętności analityka, a końcowy model i tak będzie co najwyżej tak dobry jak intuicyjnie skalibrowany las losowy. +Posumowując model pojedynczego drzewa decyzyjnego może mieć również stosunkowo dużą skuteczność, zachowując przy tym pełną interpretowalność, ale okupione będzie to dużo większym nakładem pracy i wymaganiami co do umiejętności analityka, a końcowy model i tak będzie co najwyżej tak dobry jak intuicyjnie skalibrowany las losowy. ## Bibliografia