Feature Selection in Machine Learning

Machine Learning

Shaurya Lalwani

Follow

Júl 10, 2020 – 7 min olvasni

Photo by Louis Hansel @shotsoflouis on Unsplash

A való világban, az adatok nem olyan tiszták, mint ahogy azt gyakran feltételezik. Itt jön a képbe az adatbányászat és az adatfeldolgozás; hogy betekintést nyerjünk a lekérdezésekkel strukturált adatokból, amelyek most már valószínűleg tartalmaznak bizonyos hiányzó értékeket, és olyan lehetséges mintákat mutatnak, amelyek szabad szemmel nem láthatóak. Itt jön a képbe a gépi tanulás: A minták keresése és azok felhasználása az adatokban lévő újonnan megértett összefüggések felhasználásával az eredmények előrejelzésére.

Az algoritmus mélységének megértéséhez át kell olvasni az adatokban lévő változókat, és azt, hogy ezek a változók mit képviselnek.

Az algoritmus mélységének megértéséhez át kell olvasni az adatokban lévő változókat, és azt, hogy ezek a változók mit képviselnek. Ennek megértése azért fontos, mert az adatok megértése alapján kell bizonyítania az eredményeit. Ha az adatai öt, vagy akár ötven változót tartalmaznak, tegyük fel, hogy képes átnézni az összeset. De mi van akkor, ha 200 változót tartalmaz? Nincs ideje arra, hogy minden egyes változót átnézzen. Ráadásul a különböző algoritmusok nem működnek kategorikus adatokkal, ezért az összes kategorikus oszlopot mennyiségi változókká kell konvertálnia (kvantitatívnak tűnnek, de a metrikák igazolni fogják, hogy kategorikusak), hogy betolhassa őket a modellbe. Ez tehát megnöveli az adatok változóinak számát, és most már 500 változóval lógsz. Hogyan kezeled őket? Azt gondolhatnád, hogy a dimenziócsökkentés a válasz, rögtön. A dimenziócsökkentő algoritmusok csökkentik a dimenziókat, de az értelmezhetőség nem olyan jó. Mi lenne, ha azt mondanám, hogy vannak más technikák is, amelyekkel ki lehet küszöbölni a jellemzőket, és a megtartott jellemzők még mindig könnyen érthetők és értelmezhetők lennének?

Attól függően, hogy az elemzés regresszió vagy osztályozás alapú, a jellemzőválasztási technikák különbözhetnek/változhatnak, de az általános ötlet, hogy hogyan kell végrehajtani, ugyanaz marad.

Itt van néhány Feature Selection technika a probléma megoldására:

Az egymással erősen korreláló változók ugyanazt az információt adják a modellnek, és ezért szükségtelenné válik, hogy mindegyiket bevonjuk az elemzésünkbe. Például: Ha egy adatkészlet tartalmaz egy “Böngészési idő” és egy másik “Böngészés közben használt adatok” nevű jellemzőt, akkor elképzelhető, hogy ez a két változó bizonyos mértékben korrelálni fog, és ezt a magas korrelációt akkor is látnánk, ha az adatokból torzítatlan mintát veszünk. Ilyen esetben csak az egyik változónak kellene prediktorként jelen lennie a modellben, mert ha mindkettőt használjuk, akkor a modell túlságosan illeszkedni fog, és elfogult lesz az adott jellemző(k) irányába.

Photo by Akin Cakiner on Unsplash

P-értékek

A lineáris regresszióhoz hasonló algoritmusokban, egy kezdeti statisztikai modell mindig jó ötlet, mivel segít a jellemzők fontosságának szemléltetésében, az adott modellel kapott P-értékeik segítségével. A szignifikanciaszint beállításakor ellenőrizzük a kapott P-értékeket, és ha ez az érték kisebb, mint a szignifikanciaszint, akkor az azt mutatja, hogy a jellemző szignifikáns, azaz ennek az értéknek a változása valószínűleg változást mutat a Célpont értékében.

Photo by Joshua Eckstein on Unsplash

Forward Selection

AForward Selection egy olyan technika, amely a lépésenkénti regresszió alkalmazását jelenti. Tehát a modell építését a nulláról, azaz egy üres modellről kezdi, majd minden egyes iterációban hozzáad egy változót úgy, hogy az épülő modellben javulás következzen be. Az egyes iterációkban hozzáadandó változót annak szignifikanciája alapján határozzák meg, és ez különböző mérőszámok segítségével számítható ki, amelyek közül az egyik leggyakoribb az összes változó felhasználásával épített kezdeti statisztikai modellből kapott P-érték. Időnként a Forward Selection túlilleszkedést okozhat, mivel erősen korreláló változókat adhat hozzá a modellhez, még akkor is, ha azok ugyanazokat az adatokat szolgáltatják a modellhez (de a modell javulást mutat).

Photo by Edu Grande on Unsplash

Backward Elimination

A Backward Elimination is lépésenkénti feature selectiont tartalmaz, a Forward Selectionnel ellentétes módon. Ebben az esetben a kezdeti modell az összes független változóval indul, és ezeket a változókat egyenként (iterációnként egyet-egyet) kiiktatjuk, ha az egyes iterációkban nem szolgáltatnak értéket az újonnan kialakított regressziós modellhez. Ez ismét a kezdeti statisztikai modell segítségével kapott P-értékek alapján történik, és ezen P-értékek alapján kerülnek ki a jellemzők a modellből. Ezzel a módszerrel is bizonytalan az erősen korrelált változók eltávolítása.

Photo by Markus Spiske on Unsplash

Recursive Feature Elimination (RFE)

Az RFE egy széles körben használt technika/algoritmus a szignifikáns jellemzők pontos számának kiválasztására, néha az üzletet befolyásoló “legfontosabb” jellemzők meghatározott számának magyarázatára, néha pedig egy nagyon nagy számú (mondjuk 200-400 körüli) jellemző csökkentésének módszereként, hogy csak azokra szorítkozzunk, amelyek egy kicsit is hatást gyakorolnak a modellre, a többit pedig kiiktatjuk. Az RFE rangsor-alapú rendszert használ az adathalmazban lévő jellemzők rangsorolásához, és ezeket a rangsorokat egy rekurzív ciklusban a jellemzők kiküszöbölésére használja, a köztük lévő kollinearitás alapján, és természetesen e jellemzőknek a modellben betöltött jelentősége alapján. A jellemzők rangsorolásán kívül az RFE képes megmutatni, hogy ezek a jellemzők fontosak-e vagy sem, még a kiválasztott számú jellemző esetében is (mivel nagyon is lehetséges, hogy az általunk kiválasztott szám nem a fontos jellemzők optimális számát jelenti, és a jellemzők optimális száma több vagy kevesebb lehet, mint a felhasználó által kiválasztott szám).

Photo by Andrew Seaman on Unsplash

Charted Feature Importance

Mikor a gépi tanulási algoritmusok értelmezhetőségéről beszélünk, általában a lineáris regresszióról (mivel a P-értékek segítségével elemezhetjük a jellemző fontosságát) és a döntési fáról (amely gyakorlatilag egy fa formájában mutatja a jellemző fontosságát, amely a fontossági hierarchiát is megmutatja), de másrészt gyakran használjuk a változó fontossági diagramot, hogy ábrázoljuk a változókat és “fontosságuk mértékét”, olyan algoritmusokban, mint a Random Forest osztályozó, a Light Gradient Boosting Machine és az XG Boost. Ez különösen akkor hasznos, ha a jellemzők fontosságát jól strukturáltan kell bemutatni az elemzett vállalkozásnak.

Photo by Robert Anasch on Unsplash

Regularizáció

Regularizációval a torzítás és a szórás közötti kompromisszumot figyeljük. A torzítás megmondja, hogy a modell mennyire túlilleszkedett a képzési adathalmazon. A variancia azt mutatja meg, hogy a képzési és a tesztelési adathalmazokon készített előrejelzések mennyire különböztek egymástól. Ideális esetben mind a torzítást, mind a varianciát csökkenteni kell. Itt jön a regularizáció, hogy megmentse a helyzetet! Elsősorban kétféle regularizációs technika létezik:

L1 Regularizáció – Lasso: A Lasso megbünteti a modell béta együtthatóit, hogy megváltoztassa azok fontosságát a modellben, és akár földelheti is őket (nullává alakíthatja őket, azaz lényegében eltávolíthatja ezeket a változókat a végleges modellből). Általában a Lassót akkor használjuk, amikor megfigyeljük, hogy az adathalmazunk nagyszámú változót tartalmaz, és néhányat el kell távolítanunk közülük annak jobb megértése érdekében, hogy a fontos jellemzők hogyan befolyásolják a modellt (azaz a Lasso által végül kiválasztott jellemzőket, és azok fontosságát hozzárendeljük).

L2 Regularizáció – Ridge: A Ridge funkciója az összes változó megtartása, azaz az összes változó felhasználása a modell felépítéséhez, és ugyanakkor olyan fontossággal ruházza fel őket, hogy javuljon a modell teljesítménye. A Ridge nagyszerű választás, ha az adathalmazban a változók száma alacsony, és ezért az összes ilyen változóra szükség van a kapott meglátások és a megjósolt céleredmények értelmezéséhez.

Mivel a Ridge az összes változót megtartja, és a Lasso jobb munkát végez a változók fontosságának hozzárendelésében, a Ridge és a Lasso legjobb tulajdonságainak kombinálásával egy algoritmus kifejlesztésére a kettő kombinációját, az úgynevezett Elastic-Net-et fejlesztették ki. Az Elastic-Net így válik ideális választássá.

Photo by Hunter Harritt on Unsplash

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.