Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[UUUI] 3. laboratorijska vježba - 2020/2021

funky_funghi

čakijale Na temelju ovih informacija mi je teško skužit di je problem. Ako si provjerio da ti kôd radi baš po onom pseudokodu i da ovakav argmax koristiš i u onom if-u kad je D prazan i u onom izvan kad nije, onda još baci oko jel ti traži minimum po abecednom poretku (osim u spomenutim argmaxovima) i u argmax-u za informacijsku dobit (makar ne piše izričito u uputama)


Jale

funky_funghi hvala na odgovoru, problem je bio sto sam se nesto glupo zabunio i stavljao u list neku glupu vrijednost umjesto najcesce oznake klase u tom cvoru

wesley skuzio sam sto mi je bilo krivo, kad trazim najvecu informacijsku dobit, u if naredbi gdje provjeravam je li trenutni IG veci od do tada najveceg IG sam zaboravio na slucaj gdje je IG == max_IG, a varijabla u kojoj cuvam najdiskriminativniju znacajku do sad nije postavljena (kad je postavljena usporeduje se abecedno), mozda je tebi nesto slicno kad je isti problem. Hope it helps


wesley

čakijale hvala! prolazi sve testove 🤗


DazedAndConfused

Jel može netko pomoć, stablo dobivam u ovom obliku dictionaryja:
{'weather': {'cloudy': 'yes',
'rainy': {'wind': {'strong': 'no', 'weak': 'yes'}},
'sunny': {'humidity': {'high': 'no', 'normal': 'yes'}}}}

i to je kako mi se čini točno, ali nemam pojma kako da to pretvorim u ovaj njihov ispis po granama. Jel netko gradio stablo na sličan način da mi može malo pomoć?


funky_funghi

DazedAndConfused U grubim crtama: Rekurzivna funkcija koja prima trenutni čvor i listu s prethodnim čvorovima i bridovima (dodaješ čvorove i bridove pri ulasku u funkciju, a mičeš pri izlasku). Terminalni slučaj je kad ti je trenutni čvor list stabla i onda ispisuješ listu. Inače za svaki brid iz trenutnog čvora rekurzivno ideš u tu funkciju.


bufus

DazedAndConfused jesi uspio ovo rijesiti? ja ne mogu dobiti ispis kakav su oni zadali, a imam isto strukturirano kao i ti


Pegi

funky_funghi

DazedAndConfused

DazedAndConfused jel mi mozes poslati taj dio koda?


MantisToboggan

jel se još nekom krivo gradilo stablo za heldout_unseen_featurevalue_train.csv i za titanic_train_categorical? pratim sve upute sa teamsa i sve sortiram abecedno, nemam vise ideja sta bi jos moglo biti krivo. svi ostali primjeri rade normalno(cak i ovi za titanic sa ogranicenjem), dok se ovi razlikuju od tocnog rjesenja za 5-10 brancheva


wesley

MantisToboggan @čakijale i ja smo imali problem s tim, pogledaj gore u threadu mozda je ista greska


Daeyarn

MantisToboggan jel provjeravas abecedno kod svih usporedbi?(argmaxIG, argmax, kad trazis najcescu vrijednost labela)


MantisToboggan

wesley nije ni to 😥


Krisle

Sljedeći problem za titanic primjera dva, ostali mi svi rade:

Upadne mi u beskonačnu rekurziju, tj. ne može prepoznat da je stigao do Leafa i da se treba vratiti (radim DFS)
Indikativno je što je to uvijek kad dođe do neke passenger_class featurea, u debuggeru vidim da mu ostane grana npr. “upper_class” kao atribut i tu upadne u beskonačnu rekurziju jer Leaf provjeravam tako da nema tih grana ispod.
Također IG-ovi svi ispadaju 0

ne znam, mozda se netko susreo ili ovako intuitivno kuzi koji je problem?


LongArmedJohhny

Treba IG biti sortiran u ispisu ili prolazi autograder i bez sorta?


LongArmedJohhny

LongArmedJohnny glup sam, ne treba se ispisivati uopce to


benac

LongArmedJohnny hej! ne govori to! nisi glup!!


dobro

treba li mi na autograderu prolaziti ijedan primjer ako nemam accuracy, confusion matrix i podrezivanje stabla implementirano?


Daeyarn

dobro ne bi trebao
EDIT: za podrezivanje stabla je isti ispis kao i za nepodrezivanje stabla, trebas imat ispisano branches, accuracy i confusion matrix, tako da ako nemas podrezivanje stabla primjeri u kojima se ne podrezuje bi trebali proci


fer999

Jel imao netko problema samo s 3 slučaja vezana uz titanic, a da je greška bila izračun Info gaina? Na ostalim testovima točne vrijednosti dobivam, dok mi na ta 3 testa pada upravo zbog krivih vrijednosti ig-a (onda to vuče krive odabire node-ova).


Daeyarn

fer999 nisam provjeravao IG ali titanic mi nije radio i dobivao sam krive grane, problem kod mene je bio sto kod argmaxIG kad usporedujem dva IG nisam uzeo u obzir da kada su jednaki da tada prednost ima onaj koji je prije po abecedi


Jaster111

Kako napraviti abecedni odabir IG ako se nađu neki sa istom vrijednosti?
Koristim trenutno max(IGs, key=lambda k: IGs[k]), ali ta funkcija radi samo po valuesima, pa me zanima kako bi ju mogao izmijeniti?


nnn

Jaster111 jesi probao sortirat abecedno prije nego sto zoveš max


branimir1999

Rade mi svi primjeri osim titanic_test_categorical.csv + titanic_heldout_categorical.csv. Accuracy mi je netocan, ispada da je oko 86%, a treba biti 78.22%. Confusion matrix mi je:
-> Obtained output:
59 6
8 28
-> Expected output:
56 9
13 23

Imam u oba argmax implementirano ovo za abecedno (brisajuci i dodavajuci u argmax_IG i argmax za ciljne podatke mi mijenja tocnost za samo par posto, ne puno). Kaze da mi nedostaju grane i da sam kreirao visak. Predict radi dobro; koristi podatke za treniranje kada ne moze naci.

Itko ima ideje gdje je problem ovdje?


« Prethodna stranica Sljedeća stranica »