Feature Selection in Machine Learning

Machine Learning

Shaurya Lalwani

Follow

Jul 10, 2020 – 7 min citește

.

Fotografie de Louis Hansel @shotsoflouis pe Unsplash

În lumea reală, datele nu sunt atât de curate pe cât se presupune adesea că sunt. Aici intervin toate activitățile de minerit și de prelucrare a datelor; pentru a construi perspective din datele care au fost structurate cu ajutorul interogărilor și care acum conțin probabil anumite valori lipsă și prezintă posibile modele care nu sunt văzute cu ochiul liber. Aici intervine învățarea automată: Să verifice tiparele și să utilizeze aceste tipare pentru a prezice rezultatele folosind aceste relații nou înțelese în date.

Pentru a înțelege profunzimea algoritmului, trebuie să citim variabilele din date și ce reprezintă aceste variabile. Înțelegerea acestui lucru este importantă deoarece trebuie să vă dovediți rezultatele, pe baza înțelegerii datelor. Dacă datele dvs. conțin cinci, sau chiar cincizeci de variabile, să spunem că sunteți capabil să le parcurgeți pe toate. Dar ce se întâmplă dacă acestea conțin 200 de variabile? Nu aveți timp să treceți în revistă fiecare variabilă. În plus, diverși algoritmi nu vor funcționa cu date categorice, așa că trebuie să convertiți toate coloanele categorice în variabile cantitative (par cantitative, dar metricile vor justifica faptul că sunt categorice), pentru a le introduce în model. Așadar, acest lucru mărește numărul de variabile din datele dumneavoastră, iar acum vă învârtiți în jurul a 500 de variabile. Cum vă ocupați de ele? S-ar putea să credeți că reducerea dimensionalității este răspunsul, imediat. Algoritmii de reducere a dimensiunii vor reduce dimensiunile, dar interpretabilitatea nu este atât de bună. Dacă v-aș spune că există și alte tehnici, care pot elimina caracteristici și ar fi în continuare ușor de înțeles și de interpretat caracteristicile reținute?

În funcție de faptul că analiza se bazează pe regresie sau clasificare, tehnicile de selecție a caracteristicilor pot fi diferite/variate, dar ideea generală a modului de implementare rămâne aceeași.

Iată câteva tehnici de selecție a caracteristicilor pentru a aborda această problemă:

Variabilele care sunt foarte corelate între ele, oferă aceleași informații modelului și, prin urmare, devine inutil să le includem pe toate în analiza noastră. De exemplu: Dacă un set de date conține o caracteristică “Timp de navigare” și o alta numită “Date utilizate în timpul navigării”, atunci vă puteți imagina că aceste două variabile vor fi corelate într-o oarecare măsură și vom observa această corelație ridicată chiar dacă luăm un eșantion de date nepărtinitor. Într-un astfel de caz, am avea nevoie ca doar una dintre aceste variabile să fie prezentă ca predictor în model, deoarece, dacă le folosim pe amândouă, atunci modelul se va suprapune și va fi distorsionat în favoarea acestei (acestor) caracteristici particulare.

Fotografie de Akin Cakiner pe Unsplash

P-Valeori

În algoritmi precum Regresia liniară, un model statistic inițial este întotdeauna o idee bună, deoarece ajută la vizualizarea importanței caracteristicilor, cu ajutorul valorilor P ale acestora care au fost obținute cu ajutorul modelului respectiv. La stabilirea unui nivel de semnificație, se verifică valorile P obținute, iar dacă această valoare este mai mică decât nivelul de semnificație, se arată că caracteristica este semnificativă, adică o modificare a acestei valori este susceptibilă să arate o modificare a valorii țintei.

Fotografie de Joshua Eckstein pe Unsplash

Forward Selection

Forward Selection este o tehnică care implică utilizarea regresiei în trepte. Astfel, modelul începe să se construiască de la punctul zero, adică un model gol, iar apoi, la fiecare iterație, se adaugă o variabilă astfel încât să existe o îmbunătățire a modelului construit. Variabila care urmează să fie adăugată la fiecare iterație este determinată pe baza semnificației sale, care poate fi calculată cu ajutorul unor parametri diferiți, unul obișnuit fiind valoarea P obținută dintr-un model statistic inițial construit folosind toate variabilele. Uneori, Forward Selection poate cauza o supraadaptare, deoarece poate adăuga variabile foarte corelate în model, chiar și atunci când acestea furnizează aceleași date modelului (dar modelul prezintă o îmbunătățire).

Fotografie de Edu Grande pe Unsplash

Eliminarea inversă

Eliminarea inversă, de asemenea, implică o selecție pas cu pas a caracteristicilor, într-un mod opus față de Selecția înainte. În acest caz, modelul inițial pornește cu toate variabilele independente și, una câte una, aceste variabile sunt eliminate (una la fiecare iterație), dacă nu oferă valoare modelului de regresie nou format în fiecare iterație. Acest lucru se bazează, din nou, pe valorile P obținute cu ajutorul modelului statistic inițial, iar pe baza acestor valori P, caracteristicile sunt eliminate din model. Utilizând și această metodă, există o incertitudine în ceea ce privește eliminarea variabilelor puternic corelate.

Fotografie de Markus Spiske pe Unsplash

Recursive Feature Elimination (RFE)

RFE este o tehnică/algoritm utilizată pe scară largă pentru a selecta un număr exact de caracteristici semnificative, uneori pentru a explica un anumit număr de caracteristici “cele mai importante” care au impact asupra afacerii, iar alteori ca metodă de reducere a unui număr foarte mare de caracteristici (să zicem în jur de 200-400) doar la cele care creează măcar un pic de impact asupra modelului, eliminându-le pe celelalte. RFE utilizează un sistem bazat pe ranguri, pentru a afișa ranguri ale caracteristicilor din setul de date, iar aceste ranguri sunt utilizate pentru a elimina caracteristicile într-o buclă recursivă, pe baza coliniarității prezente între ele și, bineînțeles, a importanței acestor caracteristici în model. În afară de clasificarea caracteristicilor, RFE poate arăta dacă aceste caracteristici sunt importante sau nu, chiar și pentru numărul selectat de caracteristici (deoarece este foarte posibil ca numărul selectat, pe care l-am ales, să nu reprezinte numărul optim de caracteristici importante și ca numărul optim de caracteristici să fie mai mare sau mai mic decât numărul ales de utilizator).

Fotografie de Andrew Seaman pe Unsplash

Charted Feature Importance

Când vorbim despre capacitatea de interpretare a algoritmilor de învățare automată, discutăm de obicei despre regresia liniară (deoarece putem analiza importanța caracteristicilor folosind valorile P) și arborele de decizie (care arată practic importanța caracteristicilor sub forma unui arbore, care arată, de asemenea, ierarhia importanței), dar, pe de altă parte, folosim adesea graficul de importanță a variabilelor, pentru a reprezenta grafic variabilele și “cantitatea de importanță a acestora”, în algoritmi precum Random Forest Classifier, Light Gradient Boosting Machine și XG Boost. Acest lucru este deosebit de util atunci când importanța bine structurată a caracteristicilor trebuie să fie prezentată unei afaceri care este analizată.

Fotografie de Robert Anasch pe Unsplash

Regularizare

Regularizarea se face pentru a monitoriza compromisul dintre bias și varianță. Biasul spune cât de mult s-a supraadaptat modelul la setul de date de instruire. Varianța ne spune cât de diferite au fost predicțiile făcute pe seturile de date de instruire și de testare. În mod ideal, trebuie să se reducă atât tendința, cât și varianța. În acest caz, regularizarea vine să salveze situația! Există, în principal, două tipuri de tehnici de regularizare:

L1 Regularizare – Lasso: Lasso penalizează coeficienții beta ai modelului pentru a le schimba importanța în model și poate chiar să îi reducă la zero (îi transformă în zerouri, adică, practic, elimină aceste variabile din modelul final). În general, Lasso este utilizat atunci când observați că setul de date are un număr mare de variabile și trebuie să eliminați unele dintre ele pentru o mai bună înțelegere a modului în care caracteristicile importante afectează modelul (adică caracteristicile care sunt selectate în cele din urmă de Lasso și li se atribuie importanța).

L2 Regularizare – Ridge: Funcția Ridge este de a menține toate variabilele, adică de a utiliza toate variabilele pentru a construi modelul și, în același timp, de a le atribui importanță astfel încât să existe o îmbunătățire a performanței modelului. Ridge este o alegere excelentă atunci când numărul de variabile din setul de date este redus și, prin urmare, toate aceste variabile sunt necesare pentru a interpreta perspectivele și rezultatele țintă previzionate obținute.

Din moment ce Ridge păstrează toate variabilele intacte, iar Lasso face o treabă mai bună în ceea ce privește atribuirea importanței variabilelor, a fost dezvoltată o combinație a celor două, cunoscută sub numele de Elastic-Net, ca o modalitate de a dezvolta un algoritm, prin combinarea celor mai bune caracteristici ale Ridge și Lasso. Elastic-Net devine astfel alegerea ideală.

Fotografie de Hunter Harritt pe Unsplash

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.