• Rezultati Niso Bili Najdeni

6.2 Metode za učenje napovednih modelov in nastavitve parametrov posa-

6.2.4 Naključni gozdovi

Naključni gozdovi (angl. random forest) se lahko v programskem jeziku R upo-rabljajo s pomočjo knjižnice randomForest. Po navadi jo je potrebno namestiti in uvoziti, saj ni del osnovnega paketa jezika R. Pri iskanju najboljšega modela s po-močjo naključnih gozodov na različnih tabelah sem spreminjal en parameter. Več o naključnih gozdovih s teoretičnega vidika pa je napisano v poglavju 2.12.

Na danih podatkih sem sam metodo naključnih gozdov uporabil s pomočjo ukaza randomForest(). Sintaksa funkcije jerandomForest(formula, data, mtry, importance

= TRUE). Pri tem jeformulaiste oblike kot pri drevesih (ciljna_spr∼napovedne_spr), data = predstavlja množico učnih podatkov, mtry = pa število, ki sporoči, koliko na-povednih spremenljivk naj bo upoštevanih pri vsakem vozlišču v drevesu. Drugi del je, podobno kot pri ostalih metodah, izveden s pomočjo ukaza predict(), kjer dobimo z dodajanjem testnih podatkov napovedi našega modela. Torej gre ponovno za gra-dnjo modela v dveh korakih: prvi predstavlja učenje modela, drugi pa napoved modela samega.

Sintaksa, ki sem jo uporabil pri grajenju modelov z metodo naključnih gozdov, je sledeča:

trainT = tabelaRF[subs, ] testT = tabelaRF[-subs, ]

rf.winlose = randomForest(win.lose∼., data = trainT, mtry = mt) rf.pred = predict(rf.winlose, newdata = testT)

V tem primerumt predstavlja množico števil, ki so opisane v nadaljevanju.

Naključni gozdovi so algoritem, ki sem ga uporabil za sestavljanje modelov, pri tam pa sem spreminjal samo eno nastavitev oz. parameter, mtry. To je parameter, ki določa število spremenljivk, ki so naključno izbrane na vsaki delitvi vozlišča. Te pa se v skladu s prebrano literaturo razlikujejo, zato sem tudi sam sestavil različne možnosti za vrednosti parametra mtry.

Za spreminjanje nastavitve parametra mtrysem števila shranil v vektor številmtry

= c(1,2,5,10,b√

pc,bp2c,bp3c, p), kjer je p število opazovanj (vrstic v tabeli), ki jih imamo na voljo za posamezne podatke. Vrednosti števil, kjer to ni celo število, so zaokrožene na spodnjo vrednost celega števila. Vrednosti parametra p so določene s pomočjo literature in drugih virov. Izbrane vrednosti sem v prebranih virih največkrat zasledil kot tiste, ki so bile uporabljene pri metodi naključnih gozdov, po drugi strani pa so tudi take, da so zanimive za samo analizo. Konkretne vrednosti parametra p so preračunane glede na tabele s 164 vrsticami. Tako so zaporedne vrednosti parametra p sledeče: 1, 2, 5, 10, 12, 54, 82, 164, torej je vektor števil izgledal kot mtry

= c(1, 2, 5, 10, 12, 53, 82, 164). Zadnja štiri števila so določena tako, da so preračunana na zahtevane vrednosti in zaokrožena na spodnjo vrednost (navzdol). Lo-gično sledi, da je največje smiselno število oz. dovoljeno število p enako celotnemu

številu opazovanj, ki jih imamo na voljo (v mojem primeru 164).

Rezultat vseh nastavitev in podatkovnih množic je bila tabela s 64 stolpci, kjer vsak stolpec ustreza kombinaciji podmnožice podatkov (8) in nastavitve parametra mtry (8).

Poglavje 7

Analiza rezultatov napovedovanja

Ob vseh podatkih in nastavitvah modelov, ki sem jih uporabil, se mi je postavilo vprašanje, če obstaja metoda in njena nastavitev, ki bi bila prevladujoče ustrezna za napovedovanje rezultatov za večino ekip. To bi pomenilo, da obstaja nekakšna univerzalna metoda in njena nastavitev, ki bi dobro napovedovala rezultate tekem za vse ekipe.

Zaradi ogromne količine dobljenih rezultatov (opis tabel v poglavju 5.1),sem moral sestaviti merilo, ki mi bo v kar se da najboljši meri zagotovilo objektivne in najbolj natančne rezultate, ko govorimo o najboljšem modelu.

Glede na analizo in zastavljene hipoteze sem se odločil za različne načine pregleda rezultatov. V tem poglavju se bom osredotočil na to, da opišem, kako sem našel naj-boljše modele med vsemi, ki so nastali s kombinacijami izbire nastavitev in podatkovne množice. Te nastavitve so natančno opisane v poglavju 6.2.

Dobljene podatke bi lahko med seboj primerjal po tem, kolikokrat so bili najbolj ustrezni za posamezno ekipo, te številke seštel in dobil ”zmagovalno” nastavitev me-tode. Nato pa bi med temi najboljšimi metodami (logistične regresije, k-najbližjih sosedov, drevesa in naključni gozdovi) in njenimi nastavitvami izbiral tisto, ki bi bila v globalnem smislu najboljša. Nastala bi težava pri tej razvrstitvi rezultatov, saj bi v primeru, ko imajo tabele veliko stolpcev, lahko dobil več najboljših oz. ”zmagovalnih”

nastavitev metod. Če pa bi pogledal podatke, bi videl, da se te nastavitve najboljših metod med seboj močno razlikujejo.

Zato sem zadevo postavil malce drugače. Vse dobljene rezultate v posamezni vrstici (vsaka vrstica predstavlja podatke za eno ekipo) sem rangiral in tako dobil za vsak model njegovo ”uvrstitev” glede na ostale rezultate v isti vrstici. To sem naredil za vsako vrstico (ekipo) posebej in na koncu dobil tabelo z določenimi rangi rezultatov.

Posameznim modelom (torej vsakemu stolpcu posebej) sem izračunal povprečni rang, ki ga ima ta nastavitev. Tako je v tem primeru prišlo do občutno večje selekcije rezultatov in sem tako vzel tisto nastavitev metode (stolpca), ki je imela najboljši povprečni rang od vseh nastavitev pri tej metodi. To sem ponovil pri vsaki metodi (vsaki tabeli) posebej in na ta način dobil dodatne tabele, kjer so bili vsi rezultati rangirani in je imela vsaka nastavitev metode izračunan povprečni rang.

Prav s pomočjo povprečnega ranga sem dobil tisto najboljšo nastavitev za posame-zno metodo. Ta način obdelave rezultatov je bolj primeren zato, ker je bolj občutljiv na nihanja rezultatov pri posamezni ekipi. Pri prvem načinu bi se lahko izkazala za najboljšo metodo tista, ki bi bila najboljša v štirih vrsticah (ekipe), pri ostalih ekipah pa bi lahko imela daleč najslabše rezultate. Prav tem možnim situacijam se tukaj izo-gnemo, saj z rangiranjem in povprečnim rangiranjem tako določimo kakovost modela glede na vse ekipe in ne samo na tistih, pri katerih je bila metoda najboljša.

Dodati je potrebno, da ob pregledovanju rezultatov upoštevamo, da je bila najvišja napoved rangirana kot najboljša (1). V primeru, da sta rezultata enako rangirana, je upoštevano, da je bil izračunan povprečni rang teh dveh rezultatov.

7.1 Izbira najboljših modelov po metodah

Ko sem dobil rezultate vseh možnih kombinacij nastavitev in podatkovnih množic pri posamezni metodi, sem z uporabo postopka, opisanega v poglavju 6.2, dobil najboljše nastavitve za posamezne modele. Iz teh velikih tabel sem potem poiskal najboljšo nastavitev in podatkovno množico za posamezno metodo in jih združil v eno tabelo.

V tem primeru pri iskanju najboljšega modela nisem upošteval razlik pri podatkovnih množicah. Vseeno je bilo ali je bila tabela analizirana z analizo glavnih komponent ali ne. Pomebno je bilo samo to, da je metoda dosegala najboljše rezultate.

Nastavitve, ki so bile najboljše za posamezno metodo, so sledeče:

Logistična regresija:

Tabela, ki vsebuje rezultate tekem dveh sezon in povprečne podatke za ekipo iz prejšnjih treh sezon in je bila analizirana z analizo glavnih komponent.

Metoda najbližjih sosedov:

Tabela, ki je vsebovala tekme iz dveh sezon in je bila analizirana z analizo glavnih komponent, parameter k= 5.

Drevesa:

Tabela, ki je vsebovala tekme iz dveh sezon, parameter minsize= 2, para-meter α= 0.01.

Naključni gozodovi:

Tabela, ki je vsebovala tekme iz dveh sezon in povprečne podatke za ekipo iz prejšnje sezone in je bila analizirana z analizo glavnih komponent, parameter mtry=√

p.

Rezultati napovedi posameznih nastavitev, zapisanih zgoraj, so vidni v tabeli 7.1.

Zadnji stolpec predstavlja tudi primerjavo v povprečnem rangiranju teh nastavitev metod med seboj. Tako se očitno vidi, da je najboljši model med naborom vseh tisti,

ki je kombinacija logistične regresije, tabele, ki vsebuje tekme iz prejšnjih dveh sezon in povprečne podatke za ekipo iz prejšnjih treh sezon in je bila analizirana z analizo glavnih komponent.

Ekipa 4p LR 1p KNN k5 1p RF mtry.sqrt(p) 1 TREE ms2.cp0

Atlanta Hawks 0,6036 0,5239 0,5272 0,5607

Boston Celtics 0,6231 0,5311 0,4775 0,4435

Brooklyn Nets 0,5923 0,5255 0,6088 0,5201

Charlotte Hornets 0,5302 0,4825 0,5518 0,4949

Chicago Bulls 0,6828 0,5444 0,5606 0,5144

Cleveland Cavaliers 0,5316 0,5271 0,5466 0,6253

Dallas Mavericks 0,6342 0,5358 0,5912 0,5423

Denver Nuggets 0,6604 0,504 0,5773 0,5309

Detroit Pistons 0,6276 0,4465 0,5033 0,5066

Golden State Warriors 0,5791 0,5186 0,5596 0,5795

Houston Rockets 0,6008 0,5398 0,5354 0,5689

Indiana Pacers 0,5542 0,467 0,5556 0,5580

Los Angeles Clippers 0,5682 0,5492 0,58 0,5563

Los Angeles Lakers 0,5367 0,5183 0,599 0,478

Memphis Grizzlies 0,4796 0,467 0,5138 0,5211

Miami Heat 0,53 0,5952 0,6688 0,5405

Milwaukee Bucks 0,586 0,5441 0,5709 0,5379

Minnesota Timberwolves 0,6256 0,511 0,5108 0,5139

New Orleans Pelicans 0,5702 0,5122 0,5774 0,5427

New York Knicks 0,5895 0,5192 0,5642 0,5603

Oklahoma City Thunder 0,636 0,4785 0,5213 0,5944

Orlando Magic 0,6316 0,5293 0,5389 0,5497

Philadelphia 76ers 0,6252 0,5292 0,5087 0,6155

Phoenix Suns 0,6309 0,5162 0,5008 0,4626

Portland Trail Blazers 0,6233 0,5063 0,5776 0,5751

Sacramento Kings 0,6069 0,5287 0,5574 0,4933

San Antonio Spurs 0,6612 0,5308 0,5222 0,5076

Toronto Raptors 0,5769 0,502 0,5179 0,5123

Utah Jazz 0,6319 0,5615 0,5841 0,5723

Washington Wizards 0,6112 0,5042 0,5429 0,6011

Povprečni rang 1,4667 3,5 2,3667 2,6667

Tabela 7.1: Vrednosti AUC za napovedi izidov tekem po ekipah modelov, zgrajenih z najboljšimi nastavitvami štirih metod (LR, KNN, RF in TREE). Zadnja vrstica poda povprečne range metod za vse ekipe.

Opomba: Imena stolpcev v tabeli 7.1 so sestavljena po sledečem ključu. Najprej je navedena številka podatkovne množice, kjer so množice, ki niso bile analizirane z analizo glavnih komponent (PCA), označene s številkami od1 do 4, tiste podatkovne množice, ki pa so bile analizirane z analizo glavnih komponent, pa so označene z 1p do 4p. Sledi okrajšava imena posamezne metode strojnega učenja, ki so sledeče: LR

– logistična regresija, KNN – metoda najbližjih sosedov, RF – naključni gozdovi in TREE – odločitvena drevesa. Zadnji del imena je nastavitev posameznega modela, podrobni opisi teh nastavitev so opisani v podpoglavjih poglavja 6.2.