Salut, Habr!
Noi la „Rexoft” am tradus în limba română un articol . Sperăm că va fi util tuturor celor care sunt interesați de subiect.
În lumea reală, datele nu sunt întotdeauna atât de curate pe cât își imaginează adesea clienții de afaceri. De aceea, analiza inteligentă a datelor (data mining și data wrangling) este foarte căutată. Aceasta ajută la identificarea valorilor lipsă și a modelelor în date structurate utilizând interogări care nu pot fi determinate de oameni. Pentru a găsi și utiliza aceste modele pentru a prezice rezultatele pe baza legăturilor descoperite în date, va fi necesară învățarea automată (Machine Learning).
Pentru a înțelege orice algoritm, este esențial să examinăm toate variabilele din date și să clarificăm ce reprezintă aceste variabile. Acest lucru este extrem de important, deoarece justificarea rezultatelor se bazează pe înțelegerea datelor. Dacă datele conțin 5 sau chiar 50 de variabile, le putem studia pe toate. Dar ce se întâmplă dacă sunt 200? Atunci pur și simplu nu va fi suficient timp pentru a analiza fiecare variabilă în parte. Mai mult, unele algoritmi nu funcționează pentru datele categorice, iar în acest caz va trebui să transformăm toate coloanele categorice în variabile cantitative (care pot părea cantitative, dar metricile vor arăta că sunt categorice) pentru a le adăuga în model. Astfel, numărul de variabile crește, ajungând la aproximativ 500. Ce trebuie să facem acum? S-ar putea crede că soluția ar fi reducerea dimensiunii. Algoritmii de reducere a dimensiunii scad numărul de parametri, dar afectează negativ interpretabilitatea. Ce ar fi dacă există alte tehnici care exclud caracteristicile și în același timp permit o înțelegere și interpretare ușoară a celor rămase?
În funcție de faptul că analiza se bazează pe regresie sau clasificare, algoritmii de selecție a caracteristicilor pot varia, dar ideea principală a implementării lor rămâne aceeași.
Variabile corelate puternic
Variabilele care sunt puternic corelate între ele oferă aceleași informații modelului, așadar nu este necesar să le folosim pe toate pentru analiză. De exemplu, dacă setul de date conține caracteristicile „Timpul online” și „Traficul utilizat”, putem presupune că acestea vor fi corelate într-o oarecare măsură, iar chiar și în cazul unui eșantion de date imparțial, vom observa o corelație puternică. În acest caz, modelul are nevoie doar de una dintre aceste variabile. Dacă folosim ambele, modelul va fi supraaglomerat (overfit) și va fi părtinitor față de o caracteristică specifică.
Valorile P
În algoritmi precum regresia liniară, modelul statistic inițial este întotdeauna o idee bună. Acesta ajută la evidențierea importanței caracteristicilor prin valorile lor p, care au fost obținute de acest model. Stabilind un nivel de semnificație, verificăm valorile p obținute, iar dacă vreuna dintre ele este sub nivelul de semnificație stabilit, caracteristica respectivă este considerată semnificativă, adică modificarea valorii sale va conduce probabil la o modificare a valorii țintei (target).
Selectare directă
Selectarea directă este o tehnică care implică regresia în etape. Construirea modelului începe de la zero, adică de la un model gol, iar apoi fiecare iterație adaugă o variabilă care îmbunătățește modelul în construcție. Variabila care este adăugată în model este determinată de semnificația sa. Acest lucru poate fi calculat folosind diferite metrici. Cea mai comună metodă este aplicarea valorilor p obținute din modelul statistic inițial folosind toate variabilele. Uneori, selectarea directă poate duce la supraaglomerarea modelului, deoarece modelul poate conține variabile puternic corelate care oferă aceleași informații, chiar dacă modelul arată o îmbunătățire.
Selectare inversă
Selecția inversă constă de asemenea în excluderea treptată a caracteristicilor, însă în sens opus față de selecția directă. În acest caz, modelul inițial cuprinde toate variabilele independente. Apoi, variabilele sunt excluse (câte una pe iterație), dacă nu contribuie la noul model de regresie în fiecare iterație. Excluderea caracteristicilor se bazează pe valorile p ale modelului inițial. Această metodă implică de asemenea incertitudinea la eliminarea variabilelor foarte corelate.
Excluderea recursivă a caracteristicilor
RFE este o tehnică/algoritm utilizat pe scară largă pentru selectarea unui număr exact de caracteristici semnificative. Uneori, metoda este folosită pentru a explica un anumit număr de „cele mai importante” caracteristici care afectează rezultatele; iar alteori pentru a reduce un număr foarte mare de variabile (aproximativ 200-400), păstrând doar acelea care contribuie într-un anumit fel la model, iar toate celelalte fiind excluse. RFE folosește un sistem de ranguri. Caracteristicile din setul de date sunt clasificate. Apoi, aceste ranguri sunt utilizate pentru excluderea recursivă a caracteristicilor în funcție de coliniaritatea dintre ele și semnificația acestor caracteristici în model. Pe lângă clasificarea caracteristicilor, RFE poate arăta dacă aceste caracteristici sunt importante sau nu chiar și pentru un număr dat de caracteristici (deoarece este foarte probabil ca numărul selectat de caracteristici să nu fie optim, iar numărul optim de caracteristici poate fi fie mai mare, fie mai mic decât cel selectat).
Diagramă de importanță a caracteristicilor
Când se discută despre interpretabilitatea algoritmilor de învățare automatizată, se discută de obicei despre regresiile liniare (care permit analizarea semnificației caracteristicilor folosind valorile p) și arborii de decizie (care arată literalmente importanța caracteristicilor sub formă de arbore și ierarhia lor). Pe de altă parte, în algoritmi precum Random Forest, LightGBM și XG Boost, este adesea utilizată o diagramă de importanță a caracteristicilor, adică se construiește o diagramă a variabilelor și „cantitatea de importanță” a acestora. Aceasta este deosebit de utilă atunci când trebuie să furnizați o justificare structurată a importanței caracteristicilor din punctul de vedere al impactului lor asupra afacerii.
Regularizare
Regularea se face pentru a controla echilibrul între părtinire (bias) și variație (variance). Părtinirea arată cât de mult s-a suprasolicitat (overfit) modelul pe setul de date de antrenare. Variația arată cât de diferite au fost predicțiile între seturile de date de antrenare și de testare. Ideal, atât părtinirea, cât și variația ar trebui să fie mici. Aici intervine regularea! Există două tehnici de bază:
Regularea L1 — Lasso: Lasso penalizează coeficientii de greutate ai modelului pentru a schimba importanța lor în model și poate chiar să-i anuleze (adică să elimine aceste variabile din modelul final). De obicei, Lasso este utilizat atunci când setul de date conține un număr mare de variabile și este necesar să se excluză unele dintre ele pentru a înțelege mai bine cum influențează caracteristicile importante modelul (adică acele caracteristici care au fost selectate de Lasso și pentru care s-a stabilit importanța).
Regularea L2 — prin metoda Ridge: Scopul Ridge este de a păstra toate variabilele și de a le acorda totodată importanță bazată pe contribuția lor la eficiența modelului. Ridge va fi o alegere bună dacă setul de date conține un număr mic de variabile și toate sunt necesare pentru interpretarea concluziilor și a rezultatelor obținute.
Deoarece Ridge păstrează toate variabilele, iar Lasso stabilește mai bine importanța lor, a fost dezvoltat un algoritm care combină cele mai bune caracteristici ale ambelor regulări și este cunoscut sub numele de Elastic-Net.
Există și multe alte modalități de selecție a caracteristicilor pentru învățarea automată, dar ideea principală rămâne mereu aceeași: a demonstra importanța variabilelor și apoi a exclude unele dintre ele pe baza importanței obținute. Importanța este un termen foarte subiectiv, deoarece nu este unul, ci un întreg set de metrici și diagrame care pot fi utilizate pentru a găsi caracteristicile cheie.
Mulțumim pentru lectură! Învățare plăcută!
Sursa: habr.com
