Capitolul 6 Cum să înveți ingineria caracteristicilor?

Seria de învățare a mașinilor!

Bună oameni, Acesta este cel mai uimitor articol care îți schimbă perspectiva asupra învățării în mașini. Începem să discutăm de ce tehnica de funcționare este atât de importantă pentru învățarea mașinii. După terminarea acestui articol, puteți învăța cum să faceți tehnica de funcționare din setul de date.

Contur

1.Care este ingineria caracteristică?
2.Data preprocesare
 2.1 Nidimensionalizarea
 2.1.1 Normalizare
 2.1.2 Metoda scalării la intervale
 2.1.3 Diferența dintre normalizare și normalizare
 2.2 Legarea caracteristicilor cantitative
 2.3 Pereche de caracteristici calitative Codare Matt
 2.4 Calcularea valorilor lipsă
 2.5 Transformarea datelor
3 Caracteristici Selectați
 3.1 Filtru
 3.1.1 Metoda de selectare a varietății
 3.1.2 Metoda coeficientului de corelație
 3.1.3 Test Chi-pătrat
 3.1.4 Metoda informațiilor reciproce
 3.2 Înveliș
 3.2.1 Metoda de eliminare a caracteristicilor recursive
 3.3 Încorporat
 3.3.1 Metoda de selectare a caracteristicilor bazată pe penalități
 3.3. 2 Metoda de selectare a caracteristicilor bazate pe arbori
4 Reducerea dimensionalității
 4.1 Analiza componentelor principale (PCA)
 4.2 Analiză liniară discriminantă (LDA)

1. Ce este ingineria caracteristică?

Există o zicală care circulă pe scară largă în industrie: datele și caracteristicile determină limita superioară a învățării automate, iar modelele și algoritmii abordează doar această limită superioară. Care este proiectul caracteristic? După cum sugerează și numele său, esența sa este o activitate de inginerie concepută pentru a maximiza extragerea de caracteristici din datele brute pentru utilizarea lor de către algoritmi și modele. Prin rezumare și rezumare, oamenii consideră că ingineria caracteristicilor include următoarele aspecte:

Prelucrarea caracteristicilor este partea de bază a ingineriei caracteristice. Sklearn oferă o metodă mai completă de procesare a caracteristicilor, inclusiv preprocesarea datelor, selectarea funcțiilor și reducerea dimensionalității. Primul contact cu sklearn este adesea atras de biblioteca sa bogată și convenabilă de model de algoritmi, dar biblioteca de gestionare a funcțiilor descrisă aici este de asemenea foarte puternică!

În această lucrare, setul de date IRIS (Iris) din sklearn este utilizat pentru a ilustra funcțiile de procesare a caracteristicilor. Datele de date IRIS au fost compilate de Fisher în 1936 și conțin patru caracteristici (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), valori proprii Ambele sunt numere de puncte flotante pozitive în centimetri. Valoarea țintă este clasificarea lui Iris (Iris Setosa), Iris Versicolour (Iris Virginica), Iris Virginica (Virginia Iris). Codul pentru importul setului de date IRIS este următorul:

2. Preprocesarea datelor

Prin extragerea funcțiilor, putem obține funcții neprocesate, iar funcțiile în acest moment pot avea următoarele probleme:

  • Nu aparține aceleiași dimensiuni: adică specificațiile caracteristicilor sunt diferite și nu pot fi comparate împreună. Non-dimensionalizarea poate rezolva această problemă.
  • Redundanța informațiilor: Pentru unele caracteristici cantitative, informațiile eficiente conținute sunt diviziunea de intervale, cum ar fi realizarea academică. Dacă vă interesează doar „trece” sau nu „trece”, trebuie să convertiți scorul cantitativ al testului în „1” și „0”. „” Indică trecerea și eșecul. Binarizarea poate rezolva această problemă.
  • Caracteristicile calitative nu pot fi utilizate direct: unii algoritmi și modele de învățare automată nu pot accepta decât introducerea de la caracteristici cantitative, astfel încât caracteristicile calitative trebuie convertite în caracteristici cantitative. Cel mai simplu mod este de a specifica o valoare cantitativă pentru fiecare valoare calitativă, dar această metodă este prea flexibilă și crește munca de reglare. Caracteristica calitativă este transformată de obicei într-o caracteristică cantitativă prin intermediul codificării manechine: dacă există N valori calitative, atunci această caracteristică este extinsă la N caracteristici. Atunci când valoarea caracteristicii originale este cea de-a doua valoare calitativă, i se atribuie cea de-a doua caracteristică extinsă. Este 1, altor funcții de extensie li se atribuie o valoare de 0. Comparativ cu metoda specificată direct, metoda de codare mută nu trebuie să crească activitatea de reglare a parametrilor. Pentru modelul liniar, utilizarea funcției codate mut poate obține un efect neliniar.
  • Valori lipsă: valorile lipsă trebuie adăugate.
  • Utilizare scăzută a informațiilor: diferiți algoritmi și modele de învățare automată folosesc informații diferite în date. Așa cum am menționat anterior, în modelele liniare, utilizarea caracteristicilor calitative de codare mută poate obține efecte neliniare. În mod similar, polinomializarea variabilelor cantitative sau alte transformări poate obține efecte neliniare.

Folosim biblioteca de preprocesare în sklearn pentru preprocesarea datelor pentru a acoperi soluția la problema de mai sus.

2.1 Dimensiuni

Dimensionless convertește date de specificații diferite în aceeași specificație. Metodele comune de nedimensionalizare sunt standardizarea și scalarea la intervale. Premisa standardizării este că valorile proprii urmează o distribuție normală, iar după normalizare, ele sunt transformate într-o distribuție normală standard. Metoda de scalare a intervalului utilizează informațiile despre valoarea de graniță pentru a scala intervalul de caracteristici la o gamă de caracteristici, cum ar fi [0, 1].

2.1.1 Standardizare

Standardizarea necesită calcularea mediei și abaterii standard a caracteristicii, exprimată în:

Codul care normalizează datele folosind clasa StandardScaler a bibliotecii de preprocesare este următorul:

2.1.2 Metoda scalării la intervale

Există multe idei pentru scalarea intervalului. Cea obișnuită este folosirea a două valori maxime pentru a scala. Formula este exprimată astfel:

Codul pentru scalarea la intervale a datelor utilizând clasa MinMaxScaler a bibliotecii de preprocesare este următorul:

2.1.3 Diferența dintre standardizare și normalizare

În termeni simpli, standardizarea constă în procesarea datelor în conformitate cu coloanele matricei caracteristice, care transformă valorile caracteristicilor eșantioanelor în aceeași dimensiune prin metoda punctajului z. Normalizarea este procesarea datelor în funcție de rândurile matricei de caracteristici. Scopul este ca vectorul eșantion să aibă un standard uniform atunci când operația de înmulțire a punctului sau o altă funcție a nucleului calculează similaritatea, adică să fie convertită într-un „vector de unitate”. Formula de normalizare cu regula l2 este următoarea:

Codul care normalizează datele folosind clasa Normalizer a bibliotecii de preprocesare este următorul:

2.2 Caracteristici cantitative binare

Nucleul binarizării caracteristice cantitative este stabilirea unui prag. Valoarea mai mare decât pragul este 1, iar valoarea mai mică sau egală cu pragul este 0. Formula este următoarea:

Codul pentru binarizarea datelor utilizând clasa Binarizer a bibliotecii de preprocesare este următorul:

2.3 Pentru caracteristici calitative codare mut

Deoarece caracteristicile setului de date IRIS sunt caracteristici cantitative, valorile țintă ale acestora sunt utilizate pentru codificarea manechinului (de fapt nu este necesar). Codul pentru datele de codificare mut folosind clasa OneHotEncoder a bibliotecii de preprocesare este următorul:

2.4 Calcularea valorii lipsă

Deoarece setul de date IRIS nu are valori lipsă, un nou eșantion este adăugat la setul de date și tuturor celor patru caracteristici li se atribuie o valoare de NaN, ceea ce indică faptul că datele lipsesc. Codul pentru calculele de date care lipsesc folosind clasa Imputer a bibliotecii de preprocesare este următorul:

2.5 Transformarea datelor

Transformările obișnuite ale datelor sunt funcții bazate pe polinomi, bazate pe exponențiale, bazate pe jurnal. Cele patru caracteristici ale formulei de conversie polinomială cu gradul 2 sunt următoarele:

Codul pentru conversia polinomială a datelor utilizând clasa PolynomialFeatures din biblioteca de preprocesare este următorul:

Transformarea datelor bazată pe funcția de un singur argument se poate face într-un mod unificat. Codul pentru conversia funcției logaritmice a datelor utilizând FunctionTransformer din biblioteca de preprocesare este următorul:

3. Selectarea caracteristicilor

Când pre-prelucrarea datelor este completă, trebuie să selectăm algoritmi și modele de mașini semnificative pentru învățarea mașinii. În general, alegeți funcțiile din două perspective:

  • Indiferent dacă funcția este divergentă: Dacă o caracteristică nu diverge, de exemplu, variația este aproape de zero, adică eșantionul nu are în mod substanțial nicio diferență în această caracteristică, această caracteristică nu este utilă pentru distingerea eșantioanelor.
  • Corelarea dintre caracteristici și obiective: acest lucru este mai evident, iar caracteristicile care sunt foarte corelate cu ținta ar trebui să fie preferate. Pe lângă metoda de varianță, celelalte metode descrise în această lucrare sunt considerate din corelație.

În funcție de forma de selecție a funcțiilor, metoda de selectare a funcțiilor poate fi împărțită în trei tipuri:

  • Filtrare: Metoda de filtrare, care notează fiecare caracteristică în funcție de divergență sau corelație, stabilește pragul sau numărul de praguri care trebuie selectate și selectează caracteristici.
  • Wrapper: o metodă de înfășurare care selectează mai multe caracteristici simultan sau exclude mai multe caracteristici, pe baza unei funcții obiective (de obicei un scor efectiv predictiv).
  • Încorporată: Metoda de integrare, care folosește mai întâi unii algoritmi și modele de învățare a mașinilor pentru a se antrena, obține coeficienții de greutate ale fiecărei caracteristici și selectează funcțiile în funcție de coeficienții de la mare la mic. Similar cu metoda de filtrare, dar este instruit pentru a determina avantajele și contra contra funcției.

Pentru selecția caracteristicilor, utilizăm biblioteca_selection feature_selection.

3.1 Filtru
3.1.1 Metoda de selectare a varietății

Folosind metoda de selectare a varianței, prima varianță a fiecărei caracteristici este calculată mai întâi, apoi caracteristica a cărei varianță este mai mare decât pragul este selectată în funcție de prag. Codul pentru selectarea caracteristicilor folosind clasa Varianță Prag a bibliotecii feature_selection este următorul:

3.1.2 Metoda coeficientului de corelație

Folosind metoda coeficientului de corelație, se calculează mai întâi coeficientul de corelație al fiecărei caracteristici cu valoarea țintă și valoarea P a coeficientului de corelație. Utilizați clasa SelectKBest a bibliotecii feature_selection pentru a combina coeficienții de corelație pentru a selecta codul caracteristicilor după cum urmează:

3.1.3 Test Chi-pătrat

Testul chi-pătrat clasic constă în testarea corelației dintre variabilele independente calitative și variabilele dependente calitative. Să presupunem că variabila independentă are N tipuri de valori, iar variabila dependentă are M tipuri de valori. Luați în considerare diferența dintre valoarea observată și valoarea așteptată a frecvenței eșantionului a cărei variabilă independentă este egală cu i și variabila dependentă este egală cu j și construiți statistica:

Nu este dificil de descoperit că sensul acestei statistici este pur și simplu corelarea variabilei independente cu variabila dependentă. Utilizați clasa SelectKBest a bibliotecii feature_selection în combinație cu testul chi-square pentru a selecta codul caracteristicilor după cum urmează:

3.1.4 Metoda informațiilor reciproce

Informațiile reciproce clasice sunt de asemenea utilizate pentru a evalua corelația dintre variabilele independente calitative și variabilele dependente calitative. Formula de calcul reciproc a informațiilor este următoarea:

Pentru a prelucra date cantitative, se propune metoda coeficientului maxim de informație. Codul care utilizează clasa SelectKBest din biblioteca de funcții_selecție combinată cu metoda coeficientului maxim de informații pentru a selecta caracteristici este următorul:

3.2 Înveliș
3.2.1 Eliminarea recursivă a caracteristicilor

Metoda recursivă de eliminare recursivă utilizează un model de bază pentru a efectua mai multe runde de antrenament. După fiecare rundă de antrenament, caracteristicile mai multor coeficienți de greutate sunt eliminate, iar următoarea rundă de antrenament este efectuată pe baza noului set de caracteristici. Codul care utilizează clasa RFE a bibliotecii feature_selection pentru a selecta caracteristici este următorul:

3.3 Încorporat
3.3.1 Selectarea funcțiilor bazate pe penalități

Utilizând modelul de bază cu termeni de penalizare, pe lângă filtrarea caracteristicilor, se realizează și reducerea dimensionalității. Utilizați clasa SelectFromModel a bibliotecii feature_selection în combinație cu modelul de regresie logistică cu penalizarea L1 pentru a selecta codul de caracteristică după cum urmează:

De fapt, principiul reducerii dimensiunii termenului de penalizare L1 este de a păstra una dintre caracteristicile care au o relevanță egală cu valoarea țintă, astfel încât caracteristica neselectată nu reprezintă o importanță lipsită de importanță. Prin urmare, poate fi optimizat în combinație cu termenul de penalizare L2. Operația specifică este următoarea: dacă o caracteristică are o greutate de 1 în L1, o caracteristică care are o diferență mică de greutăți în L2 și o greutate de 0 în L1 constituie un set omogen, iar caracteristicile din set sunt împărțite în mod egal în L1. Greutate, deci trebuie să construiți un nou model de regresie logistică:

Utilizați clasa SelectFromModel a bibliotecii feature_selection în combinație cu modelul de regresie logistică cu termeni de penalizare L1 și L2 pentru a selecta codul de caracteristică astfel:

3.3.2 Selectarea caracteristicilor pe baza modelului arborelui

În modelul de arbore, GBDT poate fi utilizat și ca model de bază pentru selectarea funcțiilor. Codul funcției este selectat folosind clasa SelectFromModel a bibliotecii feature_selection în combinație cu modelul GBDT.

4. Reducerea dimensionalității

Când finalizarea selecției de caracteristici, modelul poate fi instruit direct, dar matricea de funcții este prea mare, rezultând o cantitate mare de calcul și un timp de pregătire îndelungat. Prin urmare, este necesară și reducerea dimensiunii matricei caracteristice. Metode comune de reducere a dimensionalității În plus față de modelul bazat pe penalități L1 menționat mai sus, există analize componente principale (PCA) și analize liniare discriminante (LDA). Analiza liniară discriminantă în sine este, de asemenea, un model de clasificare. PCA și LDA au multe asemănări, a căror esență este să mapăm eșantionul inițial cu spațiul de dimensiune inferioară, dar ținta de mapare a PCA și LDA este diferită: PCA înseamnă ca eșantionul mapat să aibă cea mai mare divergență. LDA este conceput pentru a oferi eșantionului mapat cea mai bună performanță de clasificare. Deci, PCA este o metodă de reducere a dimensionalității nesupravegheată, iar LDA este o metodă de reducere a dimensionalității supravegheate.

4.1 Analiza componentelor principale (PCA)

Codul pentru selectarea caracteristicilor folosind clasa PCA a bibliotecii de descompunere este următorul:

4.2 Analiza liniară a discriminatorilor (LDA)

Codul pentru selectarea caracteristicilor folosind clasa LDA a bibliotecii lda este următorul:

Referințe:

  1. https://www.quora.com/topic/Data-Cleansing
  2. https://www.quora.com/What-is-the-real-meaning-of-data-cleaning-for-a-Data-Scientist
  3. https://www.quora.com/What-is-your-best-description-of-data-cleaning-in-data-analysis-and-machine-learninghttps://www.quora.com/What-is- ta cea mai bună descriere-a-date-curatare-in-date-analiză și-mașină-învățare