Научите инжењеринг функција за науку о подацима и МЛ за 5 минута

Преглед садржаја

Da li ste spremni da steknete veštine inženjeringa karakteristika, ključne za mašinsko učenje i obradu podataka? Na pravom ste mestu!

Inženjering karakteristika je nezaobilazna veština za izdvajanje vrednih uvida iz podataka. U ovom kratkom vodiču, objasniću ga kroz jednostavne, lako svarljive delove. Zato, hajde da odmah krenemo i započnemo vaše putovanje ka ovladavanju ekstrakcijom karakteristika!

Šta je inženjering karakteristika?

Kada kreirate model mašinskog učenja za rešavanje poslovnog ili eksperimentalnog problema, podatke za učenje organizujete u kolonama i redovima. U svetu nauke o podacima i razvoju ML-a, kolone su poznate kao atributi ili varijable.

Pojedinačni podaci ili redovi ispod tih kolona nazivaju se opservacije ili instance. Kolone, odnosno atributi, predstavljaju karakteristike u sirovom skupu podataka.

Ove sirove karakteristike često nisu dovoljne ili optimalne za obuku ML modela. Da biste smanjili šum prikupljenih metapodataka i maksimizovali relevantne signale od karakteristika, potrebno je transformisati ili konvertovati kolone metapodataka u funkcionalne karakteristike pomoću inženjeringa karakteristika.

Primer 1: Finansijsko modeliranje

Sirovi podaci za obuku ML modela

Na primer, na gornjoj slici, kolone od A do G su karakteristike. Vrednosti ili tekstualni nizovi u svakoj koloni, poput imena, iznosa depozita, godina depozita, kamatnih stopa, itd., predstavljaju opservacije.

U ML modeliranju, neophodno je brisati, dodavati, kombinovati ili transformisati podatke kako biste stvorili značajne karakteristike i smanjili veličinu ukupne baze podataka za obuku modela. To je suština inženjeringa karakteristika.

Primer inženjeringa karakteristika

U istom skupu podataka, funkcije kao što su Ukupan iznos zakupa i Iznos kamate su suvišni unosi. One zauzimaju više prostora i mogu zbuniti ML model. Stoga, možemo smanjiti dve karakteristike od ukupno sedam.

Pošto baze podataka u ML modelima sadrže hiljade kolona i milione redova, smanjenje dve karakteristike značajno utiče na projekat.

Primer 2: AI muzički spisak za reprodukciju

Ponekad je moguće kreirati potpuno novu funkciju od više postojećih. Zamislimo da razvijate AI model koji automatski generiše muzičke liste za reprodukciju, prilagođene događaju, ukusu, raspoloženju itd.

Nakon prikupljanja podataka o pesmama i muzici iz različitih izvora, kreirali ste sledeću bazu podataka:

Gornja baza podataka sadrži sedam funkcija. Međutim, s obzirom na to da je cilj obučiti ML model koji će odlučivati koja pesma je prikladna za koji događaj, možete spojiti karakteristike kao što su žanr, ocena, ritam, tempo i brzina u novu, objedinjenu karakteristiku pod nazivom Primenljivost.

Sada, uz pomoć stručnosti ili prepoznavanja obrazaca, možete kombinovati određene instance funkcija da biste utvrdili koja je pesma prikladna za koji događaj. Na primer, opservacije poput Jazz, 4.9, X3, Y3 i Z1 govore ML modelu da pesmu Cras maximus justo et treba uvrstiti na listu pesama korisnika koji traže muziku za opuštanje pred spavanje.

Tipovi funkcija u mašinskom učenju

Kategorijske karakteristike

To su atributi podataka koji predstavljaju različite kategorije ili oznake. Ovaj tip se koristi za označavanje kvalitativnih skupova podataka.

#1. Redne kategorijske osobine

Redne karakteristike imaju kategorije sa smislenim redosledom. Na primer, nivoi obrazovanja kao što su srednja škola, bachelor, master, itd., imaju jasnu razliku u standardima, ali ne postoje kvantitativne razlike.

#2. Nominalne kategorije

Nominalne karakteristike su kategorije bez ikakvog inherentnog reda. Primeri mogu biti boje, zemlje ili vrste životinja. Takođe, postoje samo kvalitativne razlike.

Karakteristike niza

Ovaj tip funkcije predstavlja podatke organizovane u nizove ili liste. Naučnici koji se bave podacima i ML programeri često koriste funkcije niza za rukovanje sekvencama ili ugrađivanje kategoričkih podataka.

#1. Ugrađivanje funkcija niza

Ugrađivanje nizova pretvara kategoričke podatke u guste vektore. Obično se koristi u sistemima za obradu prirodnog jezika i preporuke.

#2. Lista funkcija niza

Nizovi lista čuvaju sekvence podataka, kao što su liste stavki u porudžbini ili istorija radnji.

Numeričke karakteristike

Ove karakteristike obuke ML se koriste za izvođenje matematičkih operacija jer predstavljaju kvantitativne podatke.

#1. Intervalne numeričke karakteristike

Karakteristike intervala imaju konzistentne intervale između vrednosti, ali nemaju pravu nultu tačku – na primer, podatke za praćenje temperature. Ovde nula označava temperaturu smrzavanja, ali atribut i dalje postoji.

#2. Odnos Numeričke karakteristike

Karakteristike odnosa imaju dosledne intervale između vrednosti i pravu nultu tačku. Primeri uključuju starost, visinu i prihod.

Važnost inženjeringa karakteristika u ML i nauci o podacima

  • Efikasno izdvajanje karakteristika poboljšava tačnost modela, čineći predviđanja pouzdanijim i vrednijim za donošenje odluka.
  • Pažljiv odabir karakteristika eliminiše irelevantne ili suvišne atribute, pojednostavljujući modele i štedeći računarske resurse.
  • Dobro projektovane karakteristike otkrivaju obrasce podataka, pomažući naučnicima da razumeju kompleksne odnose unutar skupa podataka.
  • Prilagođavanje karakteristika specifičnim algoritmima može optimizovati performanse modela kroz različite metode mašinskog učenja.
  • Dobro projektovane karakteristike dovode do brže obuke modela i smanjenih troškova računara, pojednostavljujući radni tok ML.

Sada ćemo istražiti korak po korak proces projektovanja karakteristika.

Proces inženjeringa karakteristika korak po korak

  • Prikupljanje podataka: Prvi korak uključuje prikupljanje sirovih podataka iz različitih izvora, kao što su baze podataka, datoteke ili API-ji.
  • Čišćenje podataka: Kada dobijete podatke, morate ih očistiti identifikovanjem i ispravljanjem svih grešaka, nedoslednosti ili odstupanja.
  • Rukovanje nedostajućim vrednostima: Nedostajuće vrednosti mogu da zbune skladište karakteristika ML modela. Ako ih ignorišete, vaš model će biti pristrasan. Dakle, morate detaljno istražiti kako biste uneli nedostajuće vrednosti ili ih pažljivo izostavili, bez uticaja na model sa pristrasnošću.
  • Kodiranje kategoričkih promenljivih: Morate konvertovati kategoričke varijable u numerički format za algoritme mašinskog učenja.
  • Skaliranje i normalizacija: Skaliranje osigurava da su numeričke karakteristike na konzistentnoj skali. Sprečava da karakteristike sa velikim vrednostima dominiraju modelom mašinskog učenja.
  • Izbor karakteristika: Ovaj korak pomaže u identifikovanju i zadržavanju najrelevantnijih karakteristika, smanjujući dimenzionalnost i poboljšavajući efikasnost modela.
  • Kreiranje funkcija: Ponekad se nove funkcije mogu konstruisati od postojećih, da bi se prikupile vredne informacije.
  • Transformacija karakteristika: Tehnike transformacije, kao što su logaritamske ili transformacije snage, mogu učiniti vaše podatke pogodnijim za modeliranje.

Sada ćemo razmotriti metode inženjeringa karakteristika.

Feature Engineering Methods

#1. Analiza glavnih komponenti (PCA)

PCA pojednostavljuje složene podatke pronalaženjem novih, nekoreliranih karakteristika. One se zovu glavne komponente. Možete ga koristiti za smanjenje dimenzionalnosti i poboljšanje performansi modela.

#2. Polinomske karakteristike

Kreiranje polinomskih obeležja znači dodavanje stepena postojećih funkcija za snimanje složenih odnosa u podacima. Pomaže vašem modelu da razume nelinearne obrasce.

#3. Rukovanje odstupanjima (Outliers)

Odstupanja su neobične tačke podataka koje mogu uticati na performanse vaših modela. Neophodno je identifikovati i upravljati ekstremnim vrednostima da biste sprečili iskrivljene rezultate.

#4. Logaritamska transformacija

Logaritamska transformacija može pomoći u normalizaciji podataka sa iskrivljenom distribucijom. Smanjuje uticaj ekstremnih vrednosti, čineći podatke pogodnijim za modeliranje.

#5. t-Distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE je koristan za vizualizaciju visokodimezionih podataka. Smanjuje dimenzionalnost i čini klastere očiglednijim, istovremeno čuvajući strukturu podataka.

U ovoj metodi ekstrakcije obeležja, tačke podataka se prikazuju kao tačke u prostoru niže dimenzije. Zatim se slične tačke podataka iz originalnog, visokodimezionog prostora postavljaju tako da budu blizu jedna drugoj u nižedimenzionalnoj predstavi.

Razlikuje se od drugih metoda smanjenja dimenzionalnosti po očuvanju strukture i udaljenosti između tačaka podataka.

#6. One-Hot kodiranje

One-hot kodiranje transformiše kategoričke varijable u binarni format (0 ili 1). Na taj način se dobijaju nove binarne kolone za svaku kategoriju. One-hot kodiranje čini kategoričke podatke pogodnim za ML algoritme.

#7. Count Encoding

Kodiranje brojača zamenjuje kategoričke vrednosti brojem pojavljivanja u skupu podataka. Može prikupiti vredne informacije iz kategoričkih varijabli.

U ovoj metodi inženjeringa karakteristika, koristi se učestalost ili broj svake kategorije kao nova numerička karakteristika umesto originalnih oznaka kategorija.

#8. Standardizacija karakteristika

Osobine većih vrednosti često dominiraju osobinama malih vrednosti. Stoga, ML model može lako postati pristrasan. Standardizacija sprečava takve uzroke pristrasnosti u modelu mašinskog učenja.

Proces standardizacije obično uključuje sledeće dve uobičajene tehnike:

  • Standardizacija Z-ocena: Ova metoda transformiše svaku karakteristiku tako da ima srednju vrednost (prosek) od 0 i standardnu devijaciju od 1. Ovde oduzimate srednju vrednost karakteristike od svake tačke podataka i delite rezultat sa standardnom devijacijom.
  • Min-max skaliranje: Min-max skaliranje transformiše podatke u određeni opseg, obično između 0 i 1. Ovo se postiže oduzimanjem minimalne vrednosti karakteristike od svake tačke podataka i deljenjem sa opsegom.

#9. Normalizacija

Kroz normalizaciju, numeričke karakteristike se skaliraju na uobičajeni opseg, obično između 0 i 1. Održava relativne razlike između vrednosti i osigurava da su sve karakteristike u istom polju.

#1. Featuretools

Featuretools je Python okvir otvorenog koda koji automatski kreira karakteristike iz vremenskih i relacijskih skupova podataka. Može se koristiti sa alatima koje već koristite za razvoj ML sistema.

Rešenje koristi Deep Feature Synthesis da automatizuje inženjering karakteristika. Sadrži biblioteku funkcija niskog nivoa za kreiranje karakteristika. Featuretools takođe ima API, koji je idealan za precizno rukovanje vremenom.

#2. CatBoost

Ako tražite biblioteku otvorenog koda koja kombinuje više stabala odlučivanja kako biste kreirali moćan prediktivni model, odaberite CatBoost. Ovo rešenje nudi precizne rezultate sa podrazumevanim parametrima, tako da ne morate trošiti sate na fino podešavanje parametara.

CatBoost vam takođe omogućava da koristite nenumeričke faktore za poboljšanje rezultata treninga. Uz to, možete očekivati i preciznije rezultate i brza predviđanja.

#3. Feature-Engine

Feature-Engine je Python biblioteka sa više transformatora i odabranim funkcijama koje možete koristiti za ML modele. Transformatori se mogu koristiti za transformaciju varijabli, kreiranje varijabli, karakteristike datuma i vremena, prethodnu obradu, kategorično kodiranje, ograničavanje ili uklanjanje odstupanja i imputaciju nedostajućih podataka. Automatski prepoznaje numeričke, kategoričke i vremenske varijable.

Feature Engineering Learning Resursi

Online kursevi i virtuelni časovi

#1. Inženjering karakteristika za mašinsko učenje u Python-u: DataCamp

Ovaj DataCamp kurs „Inženjering karakteristika za mašinsko učenje u Python-u“ omogućava vam da kreirate nove funkcije koje poboljšavaju performanse vašeg modela mašinskog učenja. Naučićete da izvodite inženjering funkcija i analizirate podatke kako biste razvili sofisticirane ML aplikacije.

#2. Inženjering karakteristika za mašinsko učenje: Udemy

Na kursu Inženjering karakteristika za mašinsko učenje naučićete teme uključujući imputaciju, promenljivo kodiranje, ekstrakciju karakteristika, diskretizaciju, funkcionalnost datuma i vremena, odstupanja, itd. Učesnici će takođe naučiti da rade sa iskrivljenim varijablama i da se bave retkim, nevidljivim i retkim kategorijama.

#3. Inženjering karakteristika: Pluralsight

Ovaj Pluralsight put učenja ima ukupno šest kurseva. Ovi kursevi će vam pomoći da naučite važnost inženjeringa karakteristika u toku rada ML-a, načine za primenu njegovih tehnika i izdvajanje obeležja iz teksta i slika.

#4. Izbor funkcija za mašinsko učenje: Udemy

Uz pomoć ovog Udemy kursa, učesnici mogu naučiti mešanje funkcija, filter, omotač i ugrađene metode, rekurzivno eliminisanje karakteristika i iscrpnu pretragu. Takođe se govori o tehnikama odabira karakteristika, uključujući one sa Python, Lasso i stablima odlučivanja. Ovaj kurs sadrži 5,5 sati video materijala na zahtev i 22 članka.

#5. Inženjering karakteristika za mašinsko učenje: Great Learning

Ovaj kurs sa Great Learning upoznaće vas sa inženjeringom karakteristika dok vas uči o prekomernom i premalom uzorkovanju. Štaviše, omogućiće vam da izvodite praktične vežbe na podešavanju modela.

#6. Inženjering karakteristika: Coursera

Pridružite se Coursera kursu da biste koristili BigQuery ML, Keras i TensorFlow za obavljanje inženjeringa funkcija. Ovaj kurs srednjeg nivoa takođe pokriva napredne prakse inženjeringa karakteristika.

Digitalne knjige ili knjige sa tvrdim povezom

#1. Inženjering karakteristika za mašinsko učenje

Ova knjiga vas uči kako da transformišete funkcije u formate pogodne za modele mašinskog učenja.

Takođe vas uči inženjerskim principima i praktičnoj primeni kroz vežbe.

#2. Inženjering i izbor karakteristika

Čitajući ovu knjigu, naučićete metode razvoja prediktivnih modela u različitim fazama.

Iz nje možete naučiti tehnike za pronalaženje najboljih prediktorskih reprezentacija za modeliranje.

#3. Inženjering funkcija je postao lak

Knjiga je vodič za poboljšanje prediktivne moći ML algoritama.

Uči vas da dizajnirate i kreirate efikasne funkcije za aplikacije zasnovane na ML-u, nudeći dubinski uvid u podatke.

#4. Feature Engineering Bootcamp

Ova knjiga se bavi praktičnim studijama slučaja kako bi vas naučila tehničkim tehnikama za bolje rezultate ML-a i nadograđenom obradom podataka.

Čitanje ove knjige osiguraće da možete dati poboljšane rezultate bez trošenja mnogo vremena na fino podešavanje parametara ML-a.

#5. Umetnost inženjeringa karakteristika

Ovaj resurs predstavlja suštinski element za svakog naučnika podataka ili inženjera mašinskog učenja.

Knjiga koristi pristup unakrsnih domena za diskusiju o grafikonima, tekstovima, vremenskim serijama, slikama i studijama slučaja.

Zaključak

Eto, tako možete da izvršite inženjering karakteristika. Sada kada znate definiciju, postupni proces, metode i resurse za učenje, možete ih implementirati u svoje ML projekte i ostvariti uspeh!

Sledeće, pogledajte članak o učenju sa pojačanjem.