Mladi športniki se pogosto preizkusijo v več različnih športih. Kateri pa je tisti, kjer imajo najboljše možnosti za uspeh? Visoki imajo večje možnosti za uspeh v košarki kot v gimnastiki. Že samo na podlagi telesnih karakteristik lahko zožimo izbor športov, ki so nekomu najbolj pisani na kožo. Uporabljajo pa se tudi dodatne meritve za določitev potenciala športnika v izbranem športu oziroma njegovo usmeritev v najbolj primerno disciplino.
Tudi znotraj posameznega športa obstaja več disciplin ali vlog v primeru skupinskih športov, ki jih opravljajo športniki. Omejili se bomo na košarko in različna igralna mesta na primeru igralcev v košarkarski ligi NBA, ki je vse bolj prepoznavna tudi v Sloveniji zaradi uspeha slovenskih košarkarjev v njej, predvsem Gorana Dragića in Luke Dončića.
Izkušnje pravijo, da višji igralci zasedajo igralna mesta bližje košu. Podobno bi pričakovali, da bolj natančni strelci igrajo na mestih dlje od koša. Lahko na osnovi podatkov o telesnih karakteristikah in natančnosti metov igralcev določimo njihovo igralno mesto? En način je, da poiščemo igralca s podobnimi lastnostmi in pogledamo njegovo igralno mesto. Pojavi pa se vprašanje, kako sploh določiti podobnost med dvema igralcema?
Podatke za to aktivnost najdemo v gradniku Zbirke podatkov. Nahajajo se med angleškimi podatki pod imenom ‘NBA Players’. Dvakrat kliknemo nanje, da jih naložimo oziroma aktiviramo.
Ukvarjali se bomo s podatki iz NBA sezone 2022/23. Za skoraj 250 igralcev imamo podatke o njihovem igralnem mestu, telesnih karakteristikah (starost, višina, teža, igralna roka) in igralnih statistikah (npr. odstotek zadetih metov za 3 točke, št. blokad, asistenc, itd.).
Podatki so redko idealni, vedno kaj manjka ali je narobe. Večina časa v podatkovnem rudarjenju je običajno namenjena pridobivanju in pripravi podatkov. V našem primeru ni tako hudo. Opazimo lahko, da manjkajo določene vrednosti za odstotek metov za 3 točke (spremenljivka 3P%). Uporabili bomo gradnik Nadomesti neznane vrednosti, s katerim bomo nadomestili te manjkajoče vrednosti. S čim pa? Morda s povprečno natančnostjo? Verjetno ti podatki manjkajo, ker ti igralci sploh niso metali za 3 točke. Verjetno z dobrim razlogom, zato zamenjajmo manjkajoče vrednosti z 0. Hkrati pa lahko z gradnikom Uredi domeno še popravimo angleške kratice igralnih mest v slovenske izraze.
Če si sedaj ogledamo distribucijo natančnosti igralcev pri metih za 3 točke, bomo opazili, da je povprečje nekje med 30% in 40%. Nekaj igralcev pa ima to povprečje izrazito nižje ali višje. Pri nižjih povprečjih lahko preverimo, da gre za igralce na centerskih pozicijah, ki se za te mete ne odločajo ali so pri njih manj uspešni. Med tistimi z višjim povprečjem pa so najbrž igralci, ki so vrgli manj trojk, vendar bili zelo uspešni. Eden od njih je tudi Vlatko Čančar.
Poskusimo poiskati skupine igralcev glede na njihove igralne pozicije. Pretvarjajmo se, da ne poznamo igralnih pozicij in jih poskusimo čim bolje določiti iz preostanka podatkov. V razsevnem diagramu bi radi poiskali par atributov, da bodo igralci na istih pozicijah čim bolj skupaj. Če npr. izberemo odstotek zadetih prostih metov (FT%) in povprečno število točk na tekmo (PTS), dobimo sliko, kjer so igralci na različnih pozicijah povsem pomešani med seboj. Ta dva atributa nam torej ne povesta kaj dosti o igralnem mestu, ker imajo npr. visoko število točk in odstotek zadetih prostih metov lahko tako centri, organizatorji igre ali drugi igralci. Preverili bi lahko vse možne kombinacije atributov z uporabo funkcije Poišči informativne projekcije, ali pa uporabimo nekaj svojega znanja o košarki. Na spodnji sliki vidimo razpored igralcev glede na višino (Height) in odstotek zadetih metov za dve točki (2P%).
Tu pa se že vidi vzorec, da večji igralci igrajo na položajih bližje koša. Zanimivo pa je, da bi pričakovali, da imajo organizatorji in branilci bolj natančen met in zato boljši odstotek zadetih metov za dve točki. Vendar vidimo, da temu ni tako. So organizatorji in branilci res slabši strelci? Centri običajno mečejo za dve točki s precej bližjih razdalj in imajo zato najbrž višji odstotek zadetih metov.
Postopki za iskanje skupin v podatkih temeljijo na razdaljah med primeri. Okviren cilj teh algoritmov je določanje skupin na tak način, da so razdalje med primeri znotraj posamezne skupine čim manjše, med primeri iz različnih skupin pa čim večje. Kako bi torej definirali razdaljo med dvema igralcema? Lahko uporabimo kar evklidsko razdaljomed točkami v 2D vizualizaciji z višino in odstotkom zadetih metov za dve točki. To razdaljo se da posplošiti tudi za primere z več atributi oz. za točke v več dimenzijah (na primer točke v 3D prostoru). Morda veste kako? Enostavno, Pitagorov izrek uporabite dvakrat. Obstajajo pa tudi bolj eksotične mere razdalj, kot je na primer kosinusna razdalja, ki meri podobnost med točkama glede na kot med njima.
Kakšna je razdalja med igralcema na koordinatah (208, 0.622) in (185, 0.563)? Približno 23. Zgoraj prikazana slika (razsevni diagram) je namreč malo zavajujoča, saj skali koordinatnih osi nista enaki. Slika bi morala biti po višini čisto potlačena. V primerjavi z razlikami v višini so te številke o natančnosti metov tako majhne, da so povsem zanemarljive in nam nič ne koristijo pri izračunu razdalj; če bi uporabljali samo višino, ne bi bilo bistvene razlike pri računanju razdalj. Zato pri računanju razdalj podatke običajno normaliziramo - atribute z različnimi razponi vrednosti pretvorimo na enakovredna območja. Sedaj, ko imamo razdaljo, pa lahko uporabimo hierarhično gručenje za odkrivanje skupin.
V dendrogramu (vizualizaciji hierarhičnega gručenja) vidimo nekaj čistih skupin, kjer večina igralcev pripada isti igralni poziciji. Na zgornji sliki vidimo skupino, ki vključuje predvsem organizatorje igre in nekatere branilce. Nad njo je viden del skupine z večinoma centri. Nekatere skupine pa so še vedno precej mešane. Bi bile skupine boljše, če bi vključili več atributov namesto samo izbranih dveh (višine in natančnosti za dve točki)? Ni nujno. Z dodajanjem nekoristnih atributov vplivamo na mere razdalj in posledično na odkrite skupine.
Če pride v klub nov igralec, zanj običajno ne poznamo igralne statistike. Morda jo poznamo in si z njo lahko pomagamo, vendar moramo upoštevati, da je ta statistika iz neke druge košarkarske lige in iz igranja pri nekem drugem klubu. Mi pa se z gradnikom Izbor stolpcev omejimo samo na telesne atribute igralca: višino, težo, starost in dominantno roko. Lahko iz teh atributov uganemo igralno pozicijo igralca? Tudi tu si bomo pomagali z razdaljami. Pri ugibanju bomo poiskali njemu najbolj podobne igralce in se odločili za prevladujočo igralno pozicijo med njimi. Tako deluje klasifikator najbližjih sosedov (k sosedov).
Podatke bomo razdelili na dva enako velika dela (Vzorčenje). V enem delu bomo poskusili uganiti igralne pozicije, drugega pa bomo pri tem uporabljali za iskanje podobnih igralcev. Če se omejimo samo na najbolj podobnega igralca (Število sosedov = 1), lahko v gradniku Napovedi vidimo, da s takim postopkom pravilno uganemo igralne pozicije 53% igralcev (Klasifikacijska točnost, Točnost=0.532). Z malo eksperimentiranja ugotovimo, da so s 5 najbolj podobnimi igralci rezultati še boljši, z 10 pa že presežemo natančnost 60%. Je smiselno to število sosedov še povečevati, morda kar na 100 ali pa 200? Žal ne.
60% natančnost se ne sliši prav dobro, vendar naš način ugibanja oz. napovedovanja ni tako slab. Niso namreč vse napake enake. Če postavimo igralca namesto na pozicijo organizatorja raje pod koš na pozicijo centra, je to precej večja napaka kot če organizatorja zamenjamo z branilcem. V matriki zmot vidimo, kakšne napake je delal naš klasifikator. Kdaj je zamenjal centra za krilnega centra, zelo radikalnih napak pa ni počel. Največja napaka je bila, da je enega igralca, ki je sicer organizator igre, postavil na pozicijo krilnega centra. To je bil prav Luka Dončić, ki je nenavadno velik za organizatorja igre v NBA.
Podatke pogosto predstavimo v obliki točk v ravnini ali v večdimenzionalnem prostoru. Za njihovo analizo pa si pomagamo s podobnostmi ali oddaljenostmi med pari točk. V ta namen moramo izbrati primerno mero razdalje. Običajno je to kar evklidska razdalja med točkami, ki jo poznate, obstajajo pa tudi druge. Ne glede na izbrano razdaljo pa moramo kritično ovrednotiti, kaj z njo dejansko merimo in ali je to smiselno v okviru problema, ki ga rešujemo. Matematika je v strojnem učenju prisotna povsod z vektorji, geometrijo, sistemi enačb in številnimi drugimi področji matematike.
Z vidika matematike: dijaki se spoznajo z osnovami statistike pri opazovanju distribucij in interpretaciji podatkov. Razmišljajo tudi o različnih možnih definicijah razdalje med točkami v ravnini ali prostoru.
Z vidika umetne inteligence: dijaki se srečajo z več primeri obdelave oziroma priprave podatkov za analizo. Z uporabo vizualizacij iščejo vzorce v podatkih. Zaznane vzorce uporabijo za odkrivanje skupin z gručenjem in za zasnovo enostavnega klasifikatorja z uporabo najbližjih sosedov. Kritično razmišljajo o uporabljeni meri razdalje in interpretirajo uspešnost klasifikatorja.
Predvideni potrebni gradniki Orangea: Zbirke podatkov, Tabela, Uredi domeno, Nadomesti neznane vrednosti, Porazdelitve, Razsevni diagram, Razdalje, Hierarhično gručenje, Izbor stolpcev, Vzorčenje, k sosedov, Napovedi, Matrika zmot
Aktivnost je skladna s splošnimi cilji predmeta: