Isolation Forest Algorithm Outlier Detection in Python

A kiugró értékek észlelése fontos feladat a gépi tanulás területén. A szokatlan megfigyelések vagy adatpontok azonosítására szolgál, amelyek eltérnek az adatkészlet általános trendjétől. A kiugró értékek észlelésének egyik hatékony algoritmusa az Isolation Forest algoritmus. 

A mai blogunkban az Isolation Forest algoritmus alapjait ismertetjük, és bemutatjuk, hogyan használhatók fel a kiugró értékek észlelésére egy adatkészletben a segítségével. Az oktatóanyag teljes videóját a blog alján tekintheti meg .

Tartalomjegyzék

Izolációs erdő algoritmus vs Box Plot Method 

Az alábbiakban két kép látható a kiugró értékek észleléséhez. Figyelje meg a jelentős különbségeket a vizuális ábrázolásban, ha használja, összehasonlítva az Isolation Forest ML Modell Outlier Detection használatával. 

Isolation Forest Algorithm Outlier Detection in Python

Az Isolation Forest ML modellben az IS Anomália Detection algoritmus által észlelt kiugró értékek százaléka 32,56%. Ugyanezt az algoritmust használva az adatok fennmaradó 67,44% -a a normál tartományba esik, ami meglehetősen érzékeny. Célunk az érzékenység finomhangolása a segítségével. 

Isolation Forest Algorithm Outlier Detection in Python

A hagyományos outlier-észlelési módszer

A kiugró érték megtalálásának hagyományos módja a box plot módszer . Ennél a módszernél az IQR segítségével keressük meg, mi esik az adatok várt tartományán kívülre. 

Isolation Forest Algorithm Outlier Detection in Python

Ebben a példában ez az egyetlen pont a bajusz felett a mi kiugró pontunk.

Isolation Forest Algorithm Outlier Detection in Python

Ha ezt a vizuális grafikont kördiagrammá fordítjuk, akkor ezt az egy bizonyos kiugró értéket kapjuk, amely az összes adat  2,33% -ának felel meg.

Isolation Forest Algorithm Outlier Detection in Python

Ebben a blogban megtanuljuk az Isolation Forest ML Method használatát, finomhangolását a hagyományos módszerhez, valamint az érzékenység növelését vagy csökkentését.

Az Isolation Forest Algorithm adatkészlete

Nyissa meg adatkészletünket a LuckyTemplates alkalmazásban. Ezután kattintson az Adatok átalakítása elemre. 

Isolation Forest Algorithm Outlier Detection in Python

Megjelenik az oktatóanyaghoz tartozó adatkészletünk. Tartalmazza a dátumot , a felhasználók számát , az indexet és az izolációs erdő kiugró értéket 1-es kimenettel a normál tartományhoz és -1-et a kiugró értékekhez  .

Van egy Hagyományos Outlier oszlopunk és egy feltételes oszlop is, melynek címe IS Anomália-észlelés, amely tükrözi az Isolation Forest Outlier-t. 

Isolation Forest Algorithm Outlier Detection in Python

Második lekérdezésünk az adatkeretünket mutatja, amelyből megtanuljuk, hogyan kell mindent összerakni. 

Isolation Forest Algorithm Outlier Detection in Python

A Python kódok

A Tulajdonságok panelen láthatjuk a két futó szkriptünket. Az egyik ilyen szkripttel létrehozzuk az Isolation Forest kimenetet, a másikkal pedig a hagyományos kiugró értéket. 

Isolation Forest Algorithm Outlier Detection in Python

Isolation Forest Algorithm Python Code

Kattintson a Python-szkript futtatása elemre a kód megtekintéséhez. 

Isolation Forest Algorithm Outlier Detection in Python

Ebben a Python-kódban importálunk pd-ként , és használja az Isolation Forest nevet . 

Isolation Forest Algorithm Outlier Detection in Python

Az Isolation Forest egy fa alapú modell, amely egy fastruktúra alapján hoz döntéseket, majd eldönti, hogy az kiugró érték-e vagy sem. Ezt együttes modellnek nevezzük, mert két különböző módszert használ egy adott kiugró érték megtalálására. 

Az adatkészletünket alapértelmezésben tároló adatkészlet- változót is lecseréljük df -re . 

Isolation Forest Algorithm Outlier Detection in Python

Adatkészletünkből adódóan nem lesz szükségünk az alább kiemelt két sor kódra, így csak törölni tudjuk ezeket a sorokat. 

Isolation Forest Algorithm Outlier Detection in Python

Amit csinálunk, az a modell példányosítása.

Mentse a modellt IsolationForest néven , és hagyja, hogy a modell megtanulja az adatokat a felhasználókkal. Ezután hozzon létre egy új oszlopot Anomália-észlelés néven , amely visszamegy az összes tanult adaton, és megjósolja, hogy melyik lehet kiugró érték vagy sem. 

Isolation Forest Algorithm Outlier Detection in Python

Ennél a funkciónál a szennyeződés alapértelmezett értéke 0,5 . Így jelenleg rendkívül érzékeny, és sok kiugró értéket fog keresni. Emiatt a korábbi kördiagramunkban nagyon magas, 32,56%-os kiugró tartományunk van. 

Isolation Forest Algorithm Outlier Detection in Python

Annak érdekében, hogy kevésbé érzékeny legyen, az IsolationForest függvényben a kontamináció = .1 értéket adjuk hozzá .

Isolation Forest Algorithm Outlier Detection in Python

Végül állítsa vissza az indexet, és kattintson az OK gombra.

Az eredmény egy összefoglaló táblázatot fog mutatni. Lépjen az Alkalmazott lépések panelre, és kattintson a df elemre.

Isolation Forest Algorithm Outlier Detection in Python

A kimenetben az Anomália-észlelés oszlopban találjuk a kiugró értékeket . 

Isolation Forest Algorithm Outlier Detection in Python

Azt is szeretnénk látni, hogyan teljesít a hagyományos outlier mellett. 

Hagyományos Outlier Python kód

Egy másik Python-szkriptet fogunk futtatni, amely ebben a példában a Run Python script1.

Isolation Forest Algorithm Outlier Detection in Python

Ez a kód egy kiugró függvényt ad hozzá az első és a harmadik kvartilis használatával. Ha kivonjuk q1-et q3-ból , megkapjuk az Interkvartilis tartományt (IQR)

Isolation Forest Algorithm Outlier Detection in Python

A következő két sor a kiugró értékek feltételeit határozza meg. Az első sor azt mondja, hogy az 1,5 * iqr- nél kisebb érték negatív vagy alacsonyabb kiugró értéknek minősül . A hagyományos módon kiugró értékeket is így találunk.

Azt is tudjuk, hogy adataink legmagasabb pontja egy kiugró érték. Ennek figyelembevétele érdekében a második sor kimondja, hogy a q3 + 1,5 * iqr- nél magasabb adatpontok szintén kiugró értékeknek számítanak. 

Isolation Forest Algorithm Outlier Detection in Python

Adja vissza az adatkészletet, és használja az outliers(df, 'Felhasználók') függvényt . Ezután kattintson az OK gombra.

Isolation Forest Algorithm Outlier Detection in Python

Megjelenik az előzőhöz hasonló összefoglaló táblázat. 

Ha az Alkalmazott lépések ablaktáblára lépünk , és rákattintunk a Módosított típus1 elemre, akkor egymás mellett kapjuk meg a Hagyományos Outlier és Az Anomália-észlelés oszlopokat, az utóbbi pedig 1-et és -1-et használ a kiugró értékek jelölésére, és nem.

Isolation Forest Algorithm Outlier Detection in Python

Ha azonban dátumokat használunk a Python-nal, akkor előfordulhat, hogy összezavarodnak. 

Isolation Forest Algorithm Outlier Detection in Python

Amit tehetünk, az az, hogy létrehozunk egy további oszlopot az Oszlop hozzáadása Index segítségével .

Isolation Forest Algorithm Outlier Detection in Python

Ezután adja hozzá az Indexet az előző oszlophoz a Merge paranccsal , hogy megőrizhessük az eredeti oszlopban/adatkészletben lévő összes információt. 

Isolation Forest Algorithm Outlier Detection in Python

Miután mindent összeállítottunk, futtathatjuk a kódunkat és frissíthetjük a vizualitásunkat. Ne feledje, hogy a kiugró szennyeződést 0,5-ről 0,1-re változtattuk, így a grafikon ezen részének egy kicsit csökkennie kell. 

Isolation Forest Algorithm Outlier Detection in Python

Menjen vissza a látványelemekhez, és kattintson a Módosítások alkalmazása gombra. 

Isolation Forest Algorithm Outlier Detection in Python

Figyelje meg, hogyan ment az anomália-észlelés az adataink 32,56%-áról egészen 11,63%-ig. 

Isolation Forest Algorithm Outlier Detection in Python

Amint az eredményeinkből látható, ez egy jó módja annak, hogy optimalizáljuk a kiugró értékek észlelését. 

Ne feledje azt is, hogy amikor az emberek a hagyományos módszert használják, akkor 1,5-nél alacsonyabb értékeket használhatnak, de ennek ellenére az 1,5 x IQR a hagyományos módszer. 

Isolation Forest Algorithm Outlier Detection in Python

Isolation Forest Algorithm Outlier Detection in Python




Következtetés

Az Isolation Forest algoritmus használatával könnyen azonosíthatjuk és kizárhatjuk adatkészletünkből a szokatlan megfigyeléseket, így javítva elemzésünk pontosságát. Ez az oktatóanyag lépésenkénti útmutatót ad az Isolation Forest algoritmus használatához a kiugró értékek Python használatával történő észleléséhez, amely segít a saját projektekben való implementálásában.

Amit tettünk, egy nagyon egyszerű kód az anomáliák megtalálására. Tovább optimalizálhatja ezt az algoritmust a szennyeződés és számos más változó módosításával, amelyeket a kódlapon keresztül tanulhat meg. 

Minden jót,

Leave a Comment

E-mail melléklet mentése SharePointba a Power Automate segítségével

E-mail melléklet mentése SharePointba a Power Automate segítségével

Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Power Automate folyamatok létrehozása a semmiből

A Power Automate folyamatok létrehozása a semmiből

Ismerje meg, hogyan hozhat létre <strong>Power Automate</strong> folyamatokat a semmiből. Sablon használata helyett mi magunk hozzuk létre a kiváltó okokat és a műveleteket.

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Ebben az útmutatóban bemutatom, hogyan lehet Pénzügyi információk mátrixát létrehozni a Profit és veszteség (P&L) kimutatással a LuckyTemplates alkalmazásban.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Fedezze fel, hogyan lehet dinamikusan egyesíteni oszlopokat a Power Query Table.CombineColumns függvény segítségével.

SharePoint-fájlok hozzáadása a számítógéphez

SharePoint-fájlok hozzáadása a számítógéphez

Ismerje meg, hogyan adhatjuk hozzá és szinkronizálhatjuk SharePoint-fájljainkat az asztalon és a OneDrive-on.

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.