Acasă Finanțe personale Cum se utilizează Python pentru a selecta variabilele corecte pentru datele de știință

Cum se utilizează Python pentru a selecta variabilele corecte pentru datele de știință

Cuprins:

Video: Week 1 2024

Video: Week 1 2024
Anonim

Selectarea variabilelor corecte în Python poate îmbunătăți procesul de învățare în știința datelor prin reducerea volumului zgomotului (inutil informații) care pot influența estimările elevului. Selecția variabilă, prin urmare, poate reduce în mod eficient varianța predicțiilor. Pentru a implica doar variabilele utile în formare și pentru a le elimina pe cele redundante, puteți utiliza aceste tehnici:

  • Abordare univariată: Selectați variabilele cele mai legate de rezultatul țintă.

  • Abordare greioasă sau înapoi: Mențineți numai variabilele pe care le puteți elimina din procesul de învățare fără a afecta performanța acestuia.

Selectarea prin măsuri univariate

Dacă decideți să selectați o variabilă după nivelul de asociere cu ținta, clasa SelectPercentile oferă o procedură automată pentru păstrarea doar a unui anumit procent din cele mai bune caracteristici asociate. Valorile disponibile pentru asociere sunt

  • f_regression: Folosit numai pentru ținte numerice și pe baza performanței de regresie liniară.

  • f_classif: Folosit numai pentru ținte categorice și pe baza testului statistic Analiza varianței (ANOVA).

  • chi2: Efectuează statistica chi-pătrat pentru ținte categorice, care este mai puțin sensibilă față de relația neliniară dintre variabila predictivă și ținta ei.

Atunci când evaluează candidații pentru o problemă de clasificare, f_classif și chi2 tind să furnizeze același set de variabile de vârf. Este încă o bună practică să testați selecțiile din ambele valori de asociere.

În afară de aplicarea unei selecții directe a asociațiilor de percentilă de vârf, SelectPercentile poate clasifica și cele mai bune variabile pentru a face mai ușor să decidă la ce percentilă să excludă o caracteristică din participarea la procesul de învățare. Clasa SelectKBest este similară în funcționalitatea sa, dar selectează variabilele top k, unde k este un număr, nu un percentil.

din sklearn. feature_selection import SelectPercentile din sklearn. feature_selection import f_regiune Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. se potrivesc (X, y) pentru n, s în zip (boston. nume_funcții, selector_f. scoruri): imprimă 'scor F:% 3. 2p pentru caracteristica% s '% (s, n) scor F: 88. 15 pentru caracteristica CRIM scor F: 75. 26 pentru caracteristica ZN scor F: 153. 95 pentru caracteristica INDUS scor F: 15. 97 pentru caracteristică CHAS scor F: 112. 59 pentru caracteristica NOX scor F: 471. 85 pentru caracteristica RM scor F: 83.48 pentru caracteristica AGE Scor F: 33. 58 pentru caracteristica DIS scor F: 85. 91 pentru caracteristica RAD scor F: 141. 76 pentru caracteristica TAX scor F: 175. 11 pentru caracteristica PTRATIO scor F: 63. 05 pentru caracteristica B Scorul F: 601. 62 pentru caracteristica LSTAT

Folosirea nivelului de asociere vă ajută să alegeți cele mai importante variabile pentru modelul dvs. de învățare a mașinii, dar trebuie să aveți grijă de aceste posibile probleme: > Unele variabile cu asociere ridicată ar putea fi, de asemenea, foarte corelate, introducând informații duplicate, care acționează ca zgomot în procesul de învățare.

  • Unele variabile pot fi penalizate, în special cele binare (variabile care indică o stare sau o caracteristică folosind valoarea 1 atunci când este prezentă, 0 când nu este). De exemplu, observați că ieșirea arată variabila binară CHAS ca fiind cea mai puțin asociată cu variabila țintă (dar din exemplele anterioare știm că este influență din faza de validare încrucișată).

  • Procesul de selecție univariat vă poate oferi un avantaj real atunci când aveți un număr mare de variabile de selectat și toate celelalte metode devin imposibil de calculat. Cea mai bună procedură este de a reduce valoarea SelectPercentile cu jumătate sau mai multe dintre variabilele disponibile, de a reduce numărul de variabile la un număr ușor de gestionat și, prin urmare, permite utilizarea unei metode mai sofisticate și mai precise, cum ar fi o căutare lacomă.

Utilizarea unei căutări lacomă

Atunci când utilizați o selecție univariată, trebuie să vă decideți câte variabile să păstrați: Selectarea lacomă reduce automat numărul de caracteristici implicate într-un model de învățare pe baza contribuției lor efective la performanța măsurată prin măsurarea erorii.

Clasa RFECV, care se potrivește cu datele, vă poate furniza informații despre numărul de funcții utile, le poate indica și vă transformă automat datele X, prin transformarea metodei, într-un set variabil redus, așa cum se arată în următorul exemplu:

de la sklearn. feature_selection import RFECV selector = RFECV (estimator = regresie, cv = 10, scoring = "mean_squared_error") selector. Pot fi obținute un indice pentru variabila optimă setată prin apelarea suportului atributului de la RFECV (numarul optim de caracteristici:% d "% selector" n_features_) Numărul optim de caracteristici: 6

după ce o potriviți.

print boston. feature_names [selector. [9]> Observați că CHAS este acum inclus printre caracteristicile cele mai predictive care contrastează cu rezultatul căutării univariate. Metoda RFECV poate detecta dacă o variabilă este importantă, indiferent dacă este binară, categorică sau numerică, deoarece ea evaluează direct rolul jucat de caracteristică în predicție.

Metoda RFECV este cu siguranță mai eficientă, comparativ cu abordarea -univariată, deoarece se bazează pe trăsăturile foarte corelate și este optimizată pentru a optimiza măsura de evaluare (care de obicei nu este Chi-pătrat sau scor F.) Fiind un proces lacom, este computațional exigent și poate aproxima cel mai bun set de predictori.

Deoarece RFECV învață cel mai bun set de variabile din date, selecția poate depăși, ceea ce se întâmplă cu toți ceilalți algoritmi de învățare a mașinilor. Încercarea RFECV pe diferite eșantioane ale datelor de antrenament poate confirma cele mai bune variabile de utilizat.

Cum se utilizează Python pentru a selecta variabilele corecte pentru datele de știință

Alegerea editorilor

Evaluarea Vizualizărilor de date - dummies

Evaluarea Vizualizărilor de date - dummies

Vizualizările de date pot fi foarte colorate și impresionante. Dar amintiți-vă că cheia pentru crearea unor vizualizări eficiente de date nu depinde de faptul dacă este interesantă, ci mai degrabă de faptul dacă descoperă problemele reale de afaceri care trebuie abordate. O foaie de lucru vă ajută să creați propriile vizualizări de date sau să evaluați creațiile altora. Aici ...

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Să lucreze mai bine decât celălalt. În timp, veți dezvolta un sentiment dacă Illustrator sau Photoshop se potrivesc mai bine pentru diverse sarcini. Până atunci, iată un exemplu despre modul în care fiecare program gestionează diferite elemente ale lucrării de design grafic. Graphing Photoshop nu este un program de grafic. Tu ...

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografics evergreen nu sunt legate de niciun eveniment sau persoană în știri . Ele nu au o componentă sezonieră și nu sunt legate de ceva în timp util. O infographic despre cum se fac CD-urile se va aplica pentru că este vorba de muzică, dar nu este specifică nici unui artist sau gen. Cu infografiile veșnic verzi, ignorați complet evenimentele curente și explorați ideile ...

Alegerea editorilor

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Adobe Creative Suite 5 oferă scurtături pentru Zooming în Photoshop. Imaginile care arată bine la un nivel de zoom pot părea extrem de proaste la altul. Veți mări și micșora destul de des în timp ce lucrați la imagini în Photoshop. Puteți găsi opțiuni de meniu pentru zoom în meniul Vizualizare; o modalitate mai rapidă de a mări este ...

Text în Photoshop CC - dummies

Text în Photoshop CC - dummies

Când editați o imagine cu text în Photoshop CC, puteți schimba linia care fluxul dvs. de tip fie folosind funcția Warp Text sau tastând pe o cale. Tipul de deformare utilizează forme predefinite la care se formează tipul dvs. (și poate fi utilizat atât cu tipul de punct, cât și cu paragraful) și tastând ...

Alegerea editorilor

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cea mai mare parte a bibliotecii Boost funcționează bine adăugând la codul aplicației. Cu toate acestea, câteva componente, cum ar fi RegEx, necesită o bibliotecă. Înainte de a putea folosi o bibliotecă, trebuie să o construiți. După ce ați construit biblioteca, trebuie să o adăugați în aplicație. Există două tehnici de adăugare a ...

Cum Heap Works în C ++ - dummies

Cum Heap Works în C ++ - dummies

Halda este un bloc amorf de memorie pe care programul C ++ îl poate accesa după cum este necesar. Aflați de ce există și cum se utilizează. Așa cum este posibil să treci un pointer la o funcție, este posibil ca o funcție să returneze un pointer. O funcție care returnează adresa ...

Cum să evitați codul de injectare în C ++ - dummies

Cum să evitați codul de injectare în C ++ - dummies

Prima regulă de evitare a codului injectat în programele C ++ , permiterea prelucrării datelor de către un interpret de limbă cu scop general. O eroare obișnuită cu SQL-injectarea este că programul acceptă intrarea utilizatorului ca și cum ar fi fost întotdeauna acceptabilă și îl inserează într-o interogare SQL pe care o trimite apoi la ...