Sredi feature engineering za bolji model (Uštedi sate rada)
Prazan hod servera košta, a loši podaci su gori od praznog hoda – oni su direktan gubitak. Ako treniraš model na sirovim, neobrađenim podacima, ti ne gradiš AI; ti pokušavaš upaliti vatru mokrim drvima. Prosječan inženjer baci 80% vremena na čekanje rezultata koji su smeće, dok onaj ko zna ‘ispeglati’ podatke završi posao dok kafa još isparava. Ako tvoj model ne daje tačnost koju želiš, prestani mijenjati arhitekturu i uhvati se brusilice za podatke.
Modeli su gladni, ali su i izbirljivi. Ako ih hraniš šumom, dobit ćeš halucinacije. Ovaj vodič ti štedi sate buljenja u ekran i stotine maraka compute snage jer te uči kako da od sirovog ‘blata’ napraviš čvrstu ciglu za svoj model. Do 150. riječi ovog teksta znat ćeš tačno zašto tvoj trenutni pristup kaska i koji alat iz Python radionice moraš odmah instalirati.
Zašto ti treba ključ 13 za podatke (A ne novi algoritam)
Da bi popravio performanse modela, moraš prestati tražiti magični botun u bibliotekama i početi ručno ‘turpijati’ kolone u bazi. Većina početnika misli da će neuronska mreža sama shvatiti korelacije. To je laž. Ako joj ne olakšaš posao kroz feature engineering, tvoja grafička karta će samo mlatiti praznu slamu.
Kada pogledaš svoj dataset, on treba da bude čist kao hirurški sto. Zamisli da pokušavaš progurati gustu mast kroz tanku cjevčicu – to su tvoji neobrađeni podaci u modelu. Ako ne uradiš skaliranje, jedna kolona sa velikim brojevima će proždrijeti sve ostale i tvoj model će postati ‘slijep’ za bitne detalje. Miris sprženih resursa nije nešto što želiš u svojoj radionici. Zato se prvo radi pravilno splitovanje podataka prije nego što uopšte pomisliš na trening.
Dijagnoza: Zašto tvoj model ‘kašlje’ i troši resurse
Simptom lošeg feature engineeringa je model koji stagnira na 60% tačnosti bez obzira koliko slojeva mu dodaš. To je kao da pokušavaš popraviti motor koji troši ulje tako što ga farbaš u crveno. Problem je unutra, u samim varijablama koje su ‘prljave’ i neusklađene.
Osjetit ćeš tu frustraciju pod prstima dok tvoj skript melje podatke satima, a gubitak (loss) se ne pomjera. To je znak da imaš previše beskorisnih informacija koje guše procesor. Moras ‘iščupati’ ono što ne valja. Ako imaš kolonu sa 90% nedostajućih vrijednosti, baci je u smeće. Nemoj je pokušavati spasiti – samo ćeš napraviti gunk u sistemu. Koristi python skripte da automatizuješ ovo čišćenje i uštediš sebi živce.

Rukovanje outlierima: Ne bacaj smeće u motor
Outlieri su kao ekseri u gumi – ako ih ne izvadiš na vrijeme, cijeli projekt će se raspasti na autoputu produkcije. Jedna pogrešna vrijednost, recimo plata od milion maraka u datasetu gdje su ostali prosjeci 1500 KM, povući će srednju vrijednost tamo gdje joj nije mjesto.
Moraš biti grub. Ili ih ‘skreši’ (capping) ili ih potpuno izbaci. Ne možeš dozvoliti da ti par ekstremnih tačaka diktira kako će se model ponašati prema normalnim korisnicima. To je kao da podešavaš visinu vrata prema košarkašu od 230 cm u kući gdje žive djeca. Glupost. Provjeri odmah da li tvoj model degradira zbog ovakvih anomalija.
Kako detektovati smeće u 2 minuta?
Koristi IQR metodu ili Z-score. Nemoj nagađati. Ako je podatak više od tri standardne devijacije od prosjeka, on je sumnjiv. Isjeckaj ga.
Da li smijem obrisati sve čudne podatke?
Ne, ponekad je ‘čudan’ podatak zapravo signal za prevaru, ali u 95% slučajeva u feature engineeringu, to je samo šum koji kvari gradijent.
Skaliranje i Normalizacija: Pravilo 120-Grita
Sve tvoje numeričke vrijednosti moraju govoriti istim jezikom, inače će veći brojevi ‘maltretirati’ manje. StandardScaler ili MinMaxScaler su tvoji najbolji prijatelji ovdje. To je kao brušenje drveta – kreneš sa grubim, pa prelaziš na finiji grit dok površina ne postane glatka pod rukom.
Ako imaš godine (20-60) i godišnju platu (20.000-100.000), tvoj model će misliti da je plata 2000 puta bitnija samo zato što je broj veći. To je fatalna greška. Skaliranje sve svodi na opseg od 0 do 1 ili na standardnu distribuciju. Bez ovoga, tvoj ‘gradijentni spust’ će izgledati kao pokušaj trčanja kroz duboko blato. Pazi da pravilno izmjeriš uspjeh nakon skaliranja, jer ćeš odmah vidjeti skok u performansama.
WARNING: Nikada ne skaliraj cijeli dataset odjednom. Prvo uradi split na train i test, pa skaliraj test set koristeći parametre iz train seta. Ako ovo zanemariš, napravit ćeš ‘Data Leakage’ i tvoj model će varati na testu, a pasti u stvarnom svijetu. To je kao da učeniku daš odgovore na test prije nego što sjedne u klupu.
Anatomija katastrofe: Kako ‘Data Leakage’ spaljuje tvoj trud
Zamislite da gradite model za predviđanje cijene stanova, a u podatke ubacite kolonu ‘Porez na promet’ koji se obračunava tek NAKON što je cijena poznata. Vaš model će imati 100% tačnost u laboratoriji, ali nula posto u realnosti. To se zove Data Leakage i to je tihi ubica AI projekata.
U mojoj radionici, to je kao da ostaviš uključenu struju dok mijenjaš utičnicu. Izgleda da radi, dok te ne ‘opali’ realnost. Vidio sam ljude kako troše hiljade eura na servere jer misle da imaju genijalan model, a zapravo su samo imali ‘procurile’ informacije u trening setu. Ako ne želiš da tvoj bot postane beskoristan, nauči kako da ga zaustaviš u haluciniranju informacija koje ne bi trebao znati.
Zašto ovo radi? Hemija korelacije i varijanse
Feature engineering nije magija, to je čista fizika informacija. Kada kreiraš novi feature (npr. odnos površine stana i broja soba umjesto te dvije cifre odvojeno), ti zapravo povećavaš ‘signal’ u odnosu na ‘šum’.
PVA ljepilo drži drvo tako što ulazi u njegove pore i stvara vezu jaču od samog drveta. Slično tome, dobar feature povezuje tvoj algoritam sa srži problema. Ako je korelacija između feature-a i ciljne varijable niska, model će se ‘klizati’ po površini. Inženjeringom mi povećavamo trenje tamo gdje je potrebno i smanjujemo ga tamo gdje smeta. To je razlika između profesionalnog alata i igračke iz supermarketa.
Kodna realnost: Python verzije i biblioteke za 2026
Kao što ne koristiš stari zahrđali čekić za fine radove, tako nemoj koristiti zastarjele biblioteke. Od 2026. godine, standardi za obradu podataka su se promijenili. Pandas je i dalje kralj za male setove, ali ako imaš milione redova, moraš preći na Polars ili Dask.
Pobrini se da ti je Python pravilno instaliran i da koristiš virtuelna okruženja. Ništa ne kvari dan kao konflikt verzija usred bitnog proračuna. Ako tvoj kod baca greške pri svakom drugom koraku, tvoj ‘work-flow’ je smeće. Sredi to odmah.
Zaključak: Tvoj model je sada ‘napucan’
Sređivanje podataka je prljav posao. Boljet će te leđa od sjedenja, oči će ti suziti od gledanja u CSV tabele, a mozak će ti prokuhati dok skontaš zašto jedna kolona kvari sve. Ali to je jedini put.
Kada završiš kvalitetan feature engineering, tvoj model će raditi glatko, trošit će manje struje i davat će rezultate kojima možeš vjerovati. Nemoj biti lijen. Nemoj misliti da je ‘dovoljno dobro’. U svijetu gdje svi imaju pristup istim algoritmima, tvoja prednost je u tome koliko dobro poznaješ svoje podatke. Slather (namaži) taj kod optimizacijom i kreni u produkciju. Ako zapneš, uvijek možeš naučiti kako da napraviš bota koji će ti pomoći u analizi. Srećno u radionici!
