Kenmerkeuse in masjienleer

Haai Habr!

Ons by Reksoft het die artikel in Russies vertaal Kenmerkeuse in Masjienleer. Ons hoop dit sal nuttig wees vir almal wat in die onderwerp belangstel.

In die regte wêreld is data nie altyd so skoon soos sakekliënte soms dink nie. Dit is hoekom data-ontginning en data-twis in aanvraag is. Dit help om ontbrekende waardes en patrone in navraag-gestruktureerde data te identifiseer wat mense nie kan identifiseer nie. Om hierdie patrone te vind en te gebruik om resultate te voorspel deur ontdekte verwantskappe in die data te gebruik, kom masjienleer handig te pas.

Om enige algoritme te verstaan, moet jy na al die veranderlikes in die data kyk en uitvind wat daardie veranderlikes verteenwoordig. Dit is van kritieke belang omdat die rasionaal agter die resultate gebaseer is op die begrip van die data. As die data 5 of selfs 50 veranderlikes bevat, kan jy hulle almal ondersoek. Wat as daar 200 van hulle is? Dan sal daar eenvoudig nie genoeg tyd wees om elke enkele veranderlike te bestudeer nie. Boonop werk sommige algoritmes nie vir kategoriese data nie, en dan sal jy al die kategoriese kolomme na kwantitatiewe veranderlikes moet omskakel (dit mag dalk kwantitatief lyk, maar die metrieke sal wys dat hulle kategories is) om dit by die model te voeg. Dus neem die aantal veranderlikes toe, en daar is ongeveer 500. Wat om nou te doen? Mens kan dink dat die antwoord sou wees om dimensionaliteit te verminder. Dimensionaliteitverminderingsalgoritmes verminder die aantal parameters maar het 'n negatiewe impak op interpreteerbaarheid. Wat as daar ander tegnieke is wat kenmerke uitskakel terwyl dit die oorblywendes maklik maak om te verstaan ​​en te interpreteer?

Afhangende van of die analise gebaseer is op regressie of klassifikasie, kan die kenmerkseleksie-algoritmes verskil, maar die hoofgedagte van die implementering daarvan bly dieselfde.

Hoogs gekorreleerde veranderlikes

Veranderlikes wat hoogs met mekaar gekorreleer is, verskaf dieselfde inligting aan die model, so dit is nie nodig om hulle almal vir analise te gebruik nie. Byvoorbeeld, as 'n datastel die kenmerke "Aanlyntyd" en "Verkeer gebruik" bevat, kan ons aanvaar dat hulle ietwat gekorreleer sal wees, en ons sal 'n sterk korrelasie sien, selfs al kies ons 'n onbevooroordeelde datasteekproef. In hierdie geval is slegs een van hierdie veranderlikes in die model nodig. As jy albei gebruik, sal die model te veel toegerus wees en bevooroordeeld wees teenoor een spesifieke kenmerk.

P-waardes

In algoritmes soos lineêre regressie is 'n aanvanklike statistiese model altyd 'n goeie idee. Dit help om die belangrikheid van die kenmerke te wys deur hul p-waardes wat deur hierdie model verkry is. Nadat ons die betekenisvlak gestel het, gaan ons die resulterende p-waardes na, en as enige waarde onder die gespesifiseerde betekenisvlak is, word hierdie kenmerk beduidend verklaar, dit wil sê, 'n verandering in sy waarde sal waarskynlik lei tot 'n verandering in die waarde van die teiken.

Direkte keuse

Voorwaartse seleksie is 'n tegniek wat die toepassing van stapsgewyse regressie behels. Modelbou begin met 'n volledige nul, dit wil sê 'n leë model, en dan voeg elke iterasie 'n veranderlike by wat 'n verbetering maak aan die model wat gebou word. Watter veranderlike by die model gevoeg word, word deur die betekenis daarvan bepaal. Dit kan met behulp van verskeie maatstawwe bereken word. Die mees algemene manier is om die p-waardes wat in die oorspronklike statistiese model verkry is, te gebruik deur alle veranderlikes te gebruik. Soms kan vorentoe seleksie lei tot oorpassing van 'n model omdat daar hoogs gekorreleerde veranderlikes in die model kan wees, selfs al verskaf hulle dieselfde inligting aan die model (maar die model toon steeds verbetering).

Omgekeerde seleksie

Omgekeerde seleksie behels ook die stap-vir-stap uitskakeling van eienskappe, maar in die teenoorgestelde rigting in vergelyking met vorentoe seleksie. In hierdie geval sluit die aanvanklike model alle onafhanklike veranderlikes in. Veranderlikes word dan uitgeskakel (een per iterasie) as hulle nie waarde bydra tot die nuwe regressiemodel in elke iterasie nie. Kenmerkuitsluiting is gebaseer op die p-waardes van die aanvanklike model. Hierdie metode het ook onsekerheid wanneer hoogs gekorreleerde veranderlikes verwyder word.

Uitskakeling van rekursiewe kenmerke

RFE is 'n wyd gebruikte tegniek/algoritme om die presiese aantal belangrike kenmerke te kies. Soms word die metode gebruik om 'n aantal "belangrikste" kenmerke wat resultate beïnvloed, te verduidelik; en soms om 'n baie groot aantal veranderlikes (ongeveer 200-400) te verminder, en slegs dié wat ten minste 'n bydrae tot die model lewer, word behou, en alle ander word uitgesluit. RFE gebruik 'n rangordestelsel. Die kenmerke in die datastel word rangorde toegeken. Hierdie range word dan gebruik om kenmerke rekursief uit te skakel gebaseer op die kolineariteit tussen hulle en die belangrikheid van daardie kenmerke in die model. Benewens rangordekenmerke, kan RFE wys of hierdie kenmerke belangrik is of selfs nie vir 'n gegewe aantal kenmerke nie (omdat dit baie waarskynlik is dat die geselekteerde aantal kenmerke dalk nie optimaal is nie, en die optimale aantal kenmerke óf meer kan wees of minder as die gekose getal).

Kenmerkbelangrikheiddiagram

Wanneer ons praat oor die interpreteerbaarheid van masjienleeralgoritmes, bespreek ons ​​gewoonlik lineêre regressies (wat jou toelaat om die belangrikheid van kenmerke te ontleed deur p-waardes te gebruik) en besluitnemingbome (wat letterlik die belangrikheid van kenmerke in die vorm van 'n boom aantoon, en by die terselfdertyd hul hiërargie). Aan die ander kant gebruik algoritmes soos Random Forest, LightGBM en XG Boost dikwels 'n kenmerkbelang-diagram, dit wil sê, 'n diagram van veranderlikes en "hul belangrikheidsgetalle" word geplot. Dit is veral nuttig wanneer jy 'n gestruktureerde rasionaal moet verskaf vir die belangrikheid van eienskappe in terme van hul impak op die besigheid.

Regulering

Regulering word gedoen om die balans tussen vooroordeel en variansie te beheer. Vooroordeel wys hoeveel die model oorgepas het op die opleidingsdatastel. Die afwyking toon hoe verskillend die voorspellings was tussen die opleiding- en toetsdatastelle. Ideaal gesproke moet beide vooroordeel en variansie klein wees. Dit is waar regularisering tot die redding kom! Daar is twee hooftegnieke:

L1-regularisering - Lasso: Lasso penaliseer modelgewigte om hul belangrikheid vir die model te verander en kan dit selfs tot niet maak (d.w.s. verwyder daardie veranderlikes uit die finale model). Tipies word Lasso gebruik wanneer 'n datastel 'n groot aantal veranderlikes bevat en jy sommige daarvan wil uitsluit om beter te verstaan ​​hoe belangrike kenmerke die model beïnvloed (dit wil sê daardie kenmerke wat deur Lasso gekies is en wat belangrikheid toegeken is).

L2 Regularisering - Ridge-metode: Ridge se werk is om al die veranderlikes te stoor en terselfdertyd belangrikheid daaraan toe te ken op grond van hul bydrae tot die model se prestasie. Ridge sal 'n goeie keuse wees as die datastel 'n klein aantal veranderlikes bevat en almal van hulle is nodig om die bevindinge en resultate wat verkry is, te interpreteer.

Aangesien Ridge al die veranderlikes hou en Lasso 'n beter werk doen om die belangrikheid daarvan te bepaal, is 'n algoritme ontwikkel wat die beste kenmerke van beide regulariserings kombineer, bekend as Elastic-Net.

Daar is baie meer maniere om kenmerke vir masjienleer te kies, maar die hoofgedagte is altyd dieselfde: demonstreer die belangrikheid van veranderlikes en skakel dan sommige van hulle uit op grond van die gevolglike belangrikheid. Belangrikheid is 'n baie subjektiewe term, aangesien dit nie net een is nie, maar 'n hele stel metrieke en grafieke wat gebruik kan word om sleutelkenmerke te vind.

Dankie dat jy gelees het! Lekker leer!

Bron: will.com

Voeg 'n opmerking