Isolation Forest Algorithm Outlier Detection Pythonissa

Outlier-tunnistus on tärkeä tehtävä koneoppimisen alalla. Sitä käytetään tunnistamaan epätavalliset havainnot tai tietopisteet, jotka poikkeavat tietojoukon yleisestä trendistä. Eräs tehokas algoritmi poikkeamien havaitsemiseen on Isolation Forest -algoritmi. 

Tämän päivän blogissa käsittelemme Isolation Forest -algoritmin perusteita ja näytämme, kuinka sen avulla voidaan havaita poikkeamat tietojoukossa käyttämällä . Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta .

Sisällysluettelo

Metsän eristysalgoritmi vs. laatikkokuvausmenetelmä 

Alla on kaksi visuaalista kuvaa poikkeamien havaitsemiseksi. Huomaa merkittävät erot visuaalisessa esityksessä käytettäessä -merkkiä verrattuna eristysmetsän ML-malliin outlier-tunnistukseen. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Isolation Forest ML -mallissa IS Anomaly Detection -algoritmin havaitsemien poikkeavien prosenttiosuus on 32,56 %. Samaa algoritmia käytettäessä loput 67,44 % tiedoista osuu normaalille alueelle, joka on melko herkkä. Tavoitteenamme on hienosäätää tätä herkkyyttä käyttämällä . 

Isolation Forest Algorithm Outlier Detection Pythonissa

Perinteinen outlier-tunnistusmenetelmä

Perinteinen tapa löytää outlier on käyttää box plot - menetelmää . Tässä menetelmässä käytämme IQR:ää löytääksemme, mikä jää datan odotetun alueen ulkopuolelle. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Tässä esimerkissä tämä yksittäinen piste viiksen yläpuolella on poikkeava pisteemme.

Isolation Forest Algorithm Outlier Detection Pythonissa

Jos muunnamme tämän visuaalisen kaavion ympyräkaavioksi, saamme tämän yksittäisen poikkeaman, joka vastaa 2,33 % kokonaistiedoista. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Tässä blogissa opimme käyttämään Isolation Forest ML -menetelmää, hienosäätämään sitä vastaamaan perinteistä menetelmää ja lisäämään tai vähentämään sen herkkyyttä.

Tietojoukko eristysmetsäalgoritmia varten

Avaa tietojoukkomme LuckyTemplatesissa. Napsauta sitten Muunna tiedot. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Tämän opetusohjelman tietojoukkomme tulee näkyviin. Se sisältää päivämäärän , käyttäjien lukumäärän , indeksin ja eristysmetsän poikkeavuuden , jonka tulos on 1 normaalille alueelle ja -1 poikkeaville arvoille  .

Meillä on myös sarake Traditional Outlierille ja ehdollinen sarake nimeltä IS Anomalia Detection , joka kuvastaa eristysmetsän poikkeavaa arvoa. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Toinen kyselymme näyttää tietokehyksemme, josta opimme yhdistämään kaiken. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Python-koodit

Ominaisuudet - ruudussa näemme kaksi käynnissä olevaa komentosarjaamme. Luomme Isolation Forest -tulosteen yhdellä näistä skripteistä ja luomme perinteisen poikkeaman toisella. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Isolation Forest Algorithm Python Code

Napsauta Suorita Python-skripti nähdäksesi koodin. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Tässä Python-koodissa tuomme pd:nä ja käytä jotain nimeltä Isolation Forest. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Eristysmetsä on puupohjainen malli, joka tekee päätökset puurakenteen perusteella ja päättää sitten onko se poikkeava vai ei . Kutsumme sitä ensemble-malliksi , koska se käyttää kahta eri menetelmää tietyn poikkeaman löytämiseksi. 

Korvaamme myös tietojoukkomuuttujan , joka pitää tietojoukkomme oletuksena, nimellä df

Isolation Forest Algorithm Outlier Detection Pythonissa

Tietojoukkomme vuoksi emme tarvitse kahta alla korostettua koodiriviä, joten voimme vain poistaa kyseiset rivit. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Se, mitä teemme, on mallinnus.

Tallenna malli IsolationForest- nimellä ja anna mallin oppia tiedot käyttäjien kanssa. Luo sitten uusi sarake nimeltä Anomalia Detection , joka palaa kaikkiin oppimiinsa tietoihin ja ennustaa, minkä pitäisi olla poikkeava vai ei. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Tämän toiminnon oletusarvoksi kontaminaatiolle on asetettu 0,5 . Siksi se on tällä hetkellä erittäin herkkä ja etsii paljon poikkeavuuksia. Tästä syystä aikaisemmassa ympyräkaaviossamme meillä on erittäin korkea vaihteluväli, 32,56 %. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Jotta se olisi vähemmän herkkä, voimme lisätä kontaminaatio = .1 IsolationForest - funktioon .

Isolation Forest Algorithm Outlier Detection Pythonissa

Lopuksi nollaa indeksi ja napsauta OK.

Tuloksena näkyy yhteenvetotaulukko. Siirry Applied Steps -ruutuun ja napsauta df.

Isolation Forest Algorithm Outlier Detection Pythonissa

Lähdöstä löydämme poikkeamat Anomalia Detection -sarakkeen alta. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Haluamme myös nähdä, kuinka se toimii perinteisen poikkeaman rinnalla. 

Perinteinen outlier Python-koodi

Suoritamme toisen Python-skriptin, joka tässä esimerkissä on Suorita Python-skripti1.

Isolation Forest Algorithm Outlier Detection Pythonissa

Tämä koodi lisää outlier-funktion käyttämällä ensimmäistä ja kolmatta kvartiilia. Kun vähennämme q1:stä q3 , saamme kvartiilialueen (IQR)

Isolation Forest Algorithm Outlier Detection Pythonissa

Seuraavat kaksi riviä asettavat ehdot poikkeaville arvoille. Ensimmäinen rivi sanoo, että mitä tahansa alle 1,5 * iqr:tä pidetään negatiivisena tai alhaisempana poikkeavuutena. Näin löydämme myös poikkeamat perinteisellä tavalla.

Tiedämme myös, että meillä on yksi poikkeama tiedoissamme korkein kohta. Tämän vuoksi toisella rivillä todetaan, että arvopisteitä, jotka ovat suurempia kuin q3 + 1,5 * iqr, pidetään myös poikkeavina arvoina. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Palauta tietojoukko ja käytä funktiota outliers(df, 'Users') . Napsauta sitten OK.

Isolation Forest Algorithm Outlier Detection Pythonissa

Näkyviin tulee aikaisemman kaltainen yhteenvetotaulukko. 

Jos siirrymme Applied Steps -ruutuun ja napsautamme Muutettu tyyppi1 , saamme Traditional Outlier- ja Anomalia Detection -sarakkeet vierekkäin, jolloin jälkimmäinen käyttää 1 ja -1 merkitsemään poikkeavia ja ei.

Isolation Forest Algorithm Outlier Detection Pythonissa

Kuitenkin, kun käytämme päivämääriä Pythonin kanssa, ne voivat näyttää sekaisilta. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Voimme luoda lisäsarakkeen käyttämällä Lisää sarake -kohdan hakemistoa .

Isolation Forest Algorithm Outlier Detection Pythonissa

Lisää sitten hakemisto edelliseen sarakkeeseen Yhdistä -toiminnolla, jotta voimme säilyttää kaikki tiedot alkuperäisessä sarakkeessa/tietojoukossa. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Kun meillä on kaikki yhdessä, voimme ajaa koodimme ja päivittää visuaaliamme. Muista, että muutimme poikkeaman kontaminaatiota 0,5:stä 0,1:een, joten meidän pitäisi nähdä tämän kaavion osan pienenevän melkoisesti. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Palaa visualisointiin ja napsauta Käytä muutoksia. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Huomaa, kuinka poikkeamien havaitseminen meni 32,56 prosentista 11,63 prosenttiin tiedoistamme. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Kuten tuloksistamme näemme, tämä on hyvä tapa optimoida poikkeamien havaitseminen. 

Muista myös, että kun ihmiset käyttävät perinteistä menetelmää, he voivat käyttää arvoja, jotka ovat pienempiä kuin 1,5, mutta 1,5 x IQR on kuitenkin perinteinen tapa. 

Isolation Forest Algorithm Outlier Detection Pythonissa

Isolation Forest Algorithm Outlier Detection Pythonissa




Johtopäätös

Käyttämällä Isolation Forest -algoritmia voimme helposti tunnistaa ja sulkea pois epätavalliset havainnot tietojoukostamme, mikä parantaa analyysimme tarkkuutta. Tämä opetusohjelma on tarjonnut vaiheittaisen oppaan Isolation Forest -algoritmin käyttämisestä poikkeavien havaitsemiseen Pythonilla, mikä auttaa sinua pääsemään alkuun sen toteuttamisessa omissa projekteissasi.

Teimme erittäin helpon koodin poikkeavuuksien löytämiseksi. Voit edelleen optimoida tätä algoritmia muokkaamalla kontaminaatiota ja monia muita muuttujia, jotka voit oppia koodisivun kautta. 

Kaikki parhaat,


Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.