Poglavlje 6 Kako naučiti značajku inženjerstva?

Serija strojnog učenja!

Pozdrav narode, ovo je najčudesniji članak koji mijenja vašu perspektivu prema strojnom učenju. Počnimo raspravljati zašto je inženjering značajki toliko važan za strojno učenje. Nakon dovršetka ovog članka moći ćete naučiti kako napraviti inženjering značajki iz skupa podataka.

obris

1.Što je karakterističan inženjering?
2.Predobrada podataka
 2.1 Ne-dimenzionalizacija
 2.1.1 Normalizacija
 2.1.2 Metoda intervalnog skaliranja
 2.1.3 Razlika između normalizacije i normalizacije
 2.2 Vezivanje kvantitativnih značajki
 2.3 Par kvalitativnih značajki Matt kodiranje
 2.4 Izračun nedostajućih vrijednosti
 2.5 Transformacija podataka
3 Odaberite karakteristike
 3.1 Filter
 3.1.1 Metoda izbora varijance
 3.1.2 Metoda koeficijenta korelacije
 3.1.3 Chi-kvadrat test
 3.1.4 Metoda međusobnog informiranja
 3.2 Omotač
 3.2.1 Rekurzivna metoda uklanjanja značajki
 3.3 Ugrađeni
 3.3.1 Metoda odabira značajki na kaznama
 3.3. 2 Metoda odabira značajki na drveću
4 Smanjenje dimenzija
 4.1 Analiza glavnih komponenti (PCA)
 4.2 Linearna diskriminatorna analiza (LDA)

1. Što je karakteristično za inženjering?

Postoji izreka koja se široko širi u industriji: podaci i karakteristike određuju gornju granicu strojnog učenja, a modeli i algoritmi upravo se približavaju ovoj gornjoj granici. Koji je karakteristični projekt? Kao što mu ime kaže, njegova suština je inženjerska aktivnost koja je stvorena kako bi se maksimiziralo izdvajanje značajki iz neobrađenih podataka za upotrebu u algoritmima i modelima. Sažetim i rezimiranim, ljudi misle da inženjering značajki uključuje sljedeće aspekte:

Obrada značajki osnovni je dio inženjeringa značajki. Sklearn pruža cjelovitiju metodu obrade značajki, uključujući unaprijed obradu podataka, odabir mogućnosti i smanjenje dimenzija. Prvi kontakt sa sklearnom često je privlačan njegovom bogatom i prikladnom bibliotekom modela algoritama, ali ovdje opisana knjižnica značajki također je vrlo moćna!

U ovom radu se IRIS (Iris) skupa podataka u sklearnu koristi za ilustraciju funkcija obrade značajki. IRIS skup podataka sastavio je 1936. godine Fisher i sadrži četiri značajke (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), svojstvene vrijednosti Obje su pozitivne brojeve s pomičnim zarezom u centimetrima. Ciljna vrijednost je klasifikacija Iris (Iris Setosa), Iris Versicolour (Iris Virginica), Iris Virginica (Virginia Iris). Kod za uvoz IRIS skupa podataka je sljedeći:

2. Predobrada podataka

Pomoću ekstrakcije značajki možemo dobiti neobrađene značajke, a značajke u ovom trenutku mogu imati sljedeće probleme:

  • Ne pripada istoj dimenziji: to jest, specifikacije značajki su različite i ne mogu se međusobno uspoređivati. Ne-dimenzionalizacija može riješiti ovaj problem.
  • Prekomjernost informacija: Za neke kvantitativne značajke, učinkovite informacije sadrže intervale podjele, poput akademskih dostignuća. Ako vas zanima samo „proći“ ili ne „proći“, kvantitativni rezultat testa morate pretvoriti u „1“ i „0“. "" Označava prolazak i neuspjeh. Binarizacija može riješiti ovaj problem.
  • Kvalitativne značajke ne mogu se izravno koristiti: neki algoritmi i modeli strojnog učenja mogu prihvatiti samo doprinos kvantitativnih značajki, pa se kvalitativne značajke trebaju pretvoriti u kvantitativne značajke. Najlakši način je odrediti kvantitativnu vrijednost za svaku kvalitativnu vrijednost, ali ova je metoda previše fleksibilna i povećava rad podešavanja. Kvalitativna značajka obično se pretvara u kvantitativnu značajku pomoću lutkanog kodiranja: ako postoji N kvalitativne vrijednosti, tada se ta značajka proširuje na N obilježja. Kad je izvorna vrijednost značajke i-ta kvalitativna vrijednost, dodjeljuje se i-ta proširena značajka. Ako je 1, ostalim značajkama proširenja dodjeljuje se vrijednost 0. U usporedbi s izravno navedenom metodom, metoda nepropusnog kodiranja ne treba povećati rad podešavanja parametra. Za linearni model, uporaba glupo kodirane značajke može postići nelinearni učinak.
  • Postoje vrijednosti koje nedostaju: vrijednosti koje nedostaju potrebno je dodati.
  • Mala iskorištenost informacija: Različiti algoritmi i modeli strojnog učenja koriste različite podatke u podacima. Kao što je ranije spomenuto, u linearnim modelima, korištenjem kvalitativnih značajki glupog kodiranja mogu se postići nelinearni učinci. Slično, polinomializacija kvantitativnih varijabli ili druge transformacije mogu postići nelinearne učinke.

Za rješavanje gornjeg problema koristimo knjižnicu za pretprocesu obrade u sklearnu za predobradu podataka.

2.1. Bez dimenzija

Podaci bez dimenzija pretvaraju podatke različitih specifikacija u istu specifikaciju. Uobičajene ne-dimenzionalizacijske metode su standardizacija i interalno skaliranje. Pretpostavka standardizacije je da svojstvene vrijednosti slijede normalnu raspodjelu, a nakon normalizacije pretvaraju se u standardnu ​​normalnu distribuciju. Metoda skaliranja intervala koristi informacije o graničnoj vrijednosti da bi se raspon značajki skalirao na niz značajki, poput [0, 1].

2.1.1 Standardizacija

Standardizacija zahtijeva izračun srednjeg i standardnog odstupanja značajke, izraženo kao:

Kôd koji normalizira podatke koristeći klasu StandardScaler knjižnice za predprocesiranje je sljedeći:

2.1.2 Metoda intervalnog skaliranja

Postoji mnogo ideja za intervalno skaliranje. Zajedničko je koristiti dvije maks. Vrijednosti za skaliranje. Formula je izražena kao:

Kod za intervalno skaliranje podataka pomoću klase MinMaxScaler knjižnice za predprocesiranje je sljedeći:

2.1.3 Razlika između standardizacije i normalizacije

Jednostavno rečeno, standardizacija je obraditi podatke prema stupcima karakteristične matrice koja pretvara vrijednosti značajki uzoraka u istu dimenziju metodom z-ocjene. Normalizacija je obrada podataka prema redovima matrice značajki. Svrha je da uzorak vektora ima jednoličan standard kada operacija množenja točaka ili druga funkcija kernela izračuna sličnost, to jest pretvara se u „jedinični vektor“. Formula normalizacije s pravilom l2 je sljedeća:

Kôd koji normalizira podatke koristeći klasu normalizatora knjižnice za predradnju je sljedeći:

2.2. Binarne kvantitativne značajke

Jezgra kvantitativne binarnosti značajki je postavljanje praga. Vrijednost veća od praga je 1, a vrijednost manja ili jednaka pragu je 0. Formula je sljedeća:

Kod za binarno korištenje podataka pomoću klase Binarizer knjižnice za predradnju je sljedeći:

2.3 Za kvalitativne značajke neplodno kodiranje

Kako su obilježja skupa podataka IRIS-a sve kvantitativne značajke, njihove se ciljne vrijednosti koriste za lutrično kodiranje (zapravo nisu potrebne). Kod za netačne podatke kodiranja pomoću klase OneHotEncoder iz biblioteke za predradnju je sljedeći:

2.4 Izračun nedostajuće vrijednosti

Budući da skup podataka IRIS nema nedostajuće vrijednosti, novom uzorku dodaje se skup podataka, a sve četiri značajke dodjeljuju vrijednost NaN, što ukazuje da podaci nedostaju. Kod za izračunavanje nedostajućih podataka pomoću klase Imputer knjižnice za predprocesiranje je sljedeći:

2.5 Transformacija podataka

Česte su transformacije podataka temeljene na polinomima, eksponencijalne funkcije, temeljene na zapisima. Četiri karakteristike formule pretvorbe polinoma sa stupnjem 2 su sljedeće:

Kod za polinomsku pretvorbu podataka pomoću klase PolynomialFeatures knjižnice za predprocesiranje je sljedeći:

Transformacija podataka na temelju funkcije jednog argumenta može se izvesti na unificirani način. Kod za pretvaranje podataka iz logaritamske funkcije pomoću FunctionTransformer knjižnice za predprocesiranje je sljedeći:

3. Izbor značajki

Kad je predobrada podataka dovršena, trebamo odabrati smislene algoritme i modele strojeva za strojno učenje kako bi se uvježbalo. Općenito, odaberite značajke iz dvije perspektive:

  • Razlikuje li se značajka: Ako se, na primjer, razlika ne razlikuje, na primjer, varijanca je blizu nule, odnosno uzorak nema značajne razlike u ovoj značajki, ova značajka nije korisna za razlikovanje uzoraka.
  • Povezanost između značajki i ciljeva: To je očitije, a prednost treba dati prednostima koje su u velikoj korelaciji s ciljem. Pored metode varijancije, iz korelacije se uzimaju u obzir i druge metode opisane u ovom radu.

Prema obliku odabira značajki, način izbora značajke može se podijeliti u tri vrste:

  • Filter: Metoda filtriranja, koja ocjenjuje svaku značajku prema divergenciji ili korelaciji, postavlja prag ili broj pragova koji se odabiru te odabire značajke.
  • Omotač: metoda omota koja odabire nekoliko značajki istodobno ili isključuje nekoliko značajki na temelju objektivne funkcije (obično je rezultat prediktivnog učinka).
  • Ugrađeni: Metoda integracije, koja prvo koristi neke algoritme i modele strojnog učenja za treniranje, dobiva koeficijente težine svake značajke i odabire značajke prema koeficijentima od velikih do malih. Slično je i s metodom filtriranja, ali je osposobljena za određivanje prednosti i nedostataka značajke.

Za odabir značajki koristimo knjižnicu element_selection u sklearnu.

3.1 Filter
3.1.1 Metoda izbora varijance

Korištenjem metode odabira varijance prvo se izračunava varijanca svake značajke, a zatim se značajka čija je varijanca veća od praga odabire prema pragu. Kôd za odabir značajki korištenjem klase Variance Threshold u biblioteci element_selection je sljedeći:

3.1.2 Metoda koeficijenta korelacije

Korištenjem metode koeficijenta korelacije prvo se izračunava koeficijent korelacije svake značajke s ciljanom vrijednošću i P vrijednost koeficijenta korelacije. Upotrijebite klasu SelectKBest biblioteke značajki svojstva da biste kombinirali koeficijente korelacije za odabir koda značajke na sljedeći način:

3.1.3 Chi-kvadrat test

Klasični test hi-kvadrata je ispitivanje povezanosti kvalitativnih neovisnih varijabli s kvalitativno ovisnim varijablama. Pretpostavimo da neovisna varijabla ima N vrsta vrijednosti, a ovisna varijabla M vrijednosti. Razmotrite razliku između promatrane vrijednosti i očekivane vrijednosti frekvencije uzorka čija je neovisna varijabla jednaka i, a ovisna varijabla je jednaka j, i konstruirajte statistiku:

Nije teško pronaći da je značenje ove statistike jednostavno povezanost neovisne varijable sa ovisnom varijablom. Upotrijebite klasu SelectKBest biblioteke značajki_selekcije zajedno sa testom chi-kvadrat da biste odabrali kod svojstva na sljedeći način:

3.1.4 Metoda međusobnog informiranja

Klasične međusobne informacije također se koriste za procjenu povezanosti kvalitativnih neovisnih varijabli s kvalitativno ovisnim varijablama. Formula za međusobno izračunavanje podataka je sljedeća:

Za obradu kvantitativnih podataka predlaže se metoda maksimalnog koeficijenta informacija. Kôd koji koristi SelectKBest klasu knjižnice element_selection u kombinaciji s metodom maksimalnog informacijskog koeficijenta za odabir značajki je sljedeći:

3.2 Omotač
3.2.1 Rekurzivno uklanjanje značajki

Metoda rekurzivne eliminacije koristi osnovni model za izvođenje više rundi treninga. Nakon svakog kruga treninga eliminiraju se značajke nekoliko koeficijenata težine, a sljedeći krug treninga izvodi se na temelju novog skupa značajki. Kod koji koristi RFE klasu knjižnice feature_selection za odabir značajki je kako slijedi:

3.3 Ugrađeni
3.3.1 Odabir značajki na temelju kazne

Korištenjem osnovnog modela s kaznenim pojmovima, osim filtriranja značajki, provodi se i smanjenje dimenzija. Upotrijebite klasu SelectFromModel iz biblioteke obilježja obilježja u kombinaciji s modelom logističke regresije s kaznom L1 za odabir koda značajke na sljedeći način:

Zapravo, princip smanjenja dimenzija kaznenog roka L1 je zadržati jedno od svojstava koja imaju jednaku važnost za ciljnu vrijednost, tako da neizabrano svojstvo ne predstavlja nevažno. Stoga se može optimizirati u kombinaciji s kaznama L2. Specifična operacija je sljedeća: ako značajka ima težinu od 1 u L1, značajka koja ima malu razliku u težini u L2 i masa 0 u L1 čini homogen skup, a značajke u setu jednako su podijeljene u L1. Težina, tako da trebate izraditi novi model logističke regresije:

Upotrijebite klasu SelectFromModel iz biblioteke obilježja obilježja u kombinaciji s modelom logističke regresije s kaznenim izrazima L1 i L2 za odabir koda značajke na sljedeći način:

3.3.2 Odabir značajki na temelju modela stabla

U drvećem modelu GBDT se može koristiti i kao osnovni model za odabir značajki. Kôd značajke bira se korištenjem klase SelectFromModel iz biblioteke značajki_izbor u kombinaciji s GBDT modelom.

4. Smanjenje dimenzija

Kada je odabir značajki završen, model se može izravno obučiti, ali matrica značajki je prevelika, što rezultira velikom količinom računanja i dugim vremenom vježbanja. Stoga je potrebno i smanjiti dimenziju matrice značajki. Uobičajene metode smanjenja dimenzija Pored gore spomenutog modela L1 s kaznama, postoje analize glavnih komponenti (PCA) i linearna diskriminatorna analiza (LDA). Sama linearna diskriminatorna analiza također je klasifikacijski model. PCA i LDA imaju mnogo sličnosti, čija je suština mapiranje izvornog uzorka u prostor za uzorke nižih dimenzija, ali cilj mapiranja PCA i LDA je različit: PCA je da bi mapirani uzorak imao najveću divergenciju. LDA je dizajniran tako da mapiranom uzorku pruži najbolje performanse klasifikacije. Dakle, PCA je metoda nesubriranog smanjenja dimenzija, a LDA je metoda smanjivanja dimenzije nadzirane.

4.1 Analiza glavnih komponenti (PCA)

Kod za odabir značajki pomoću PCA klase biblioteke za dekompoziciju je sljedeći:

4.2 Linearna diskriminatorna analiza (LDA)

Kôd za odabir značajki pomoću LDA klase lda knjižnice je sljedeći:

Reference:

  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- vaše-najbolji-opis-of-data-čišćenje-u-data-analize-i-stroj-učenje