Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Detectarea valorii aberante este o sarcină importantă în domeniul învățării automate. Este folosit pentru a identifica observații neobișnuite sau puncte de date care se abat de la tendința generală a setului de date. Un algoritm eficient pentru detectarea valorii aberante este algoritmul Isolation Forest .
În blogul de astăzi, vom acoperi elementele de bază ale algoritmului Izolație Forest și vom demonstra cum să-l folosim pentru a detecta valori aberante într-un set de date folosind Python . Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog .
Cuprins
Algoritmul de izolare a pădurii vs metoda Box Plot
Mai jos sunt prezentate două elemente vizuale pentru detectarea valorii aberante. Observați diferențele semnificative în reprezentarea vizuală atunci când utilizați în comparație cu atunci când este utilizat modelul ML de izolare forestieră pentru detectarea valorii aberante.
În modelul ML Izolație Forest, procentul de valori aberante detectate de algoritmul de detectare a anomaliilor IS este de 32,56%. Folosind același algoritm, restul de 67,44% din date se încadrează în intervalul normal, care este destul de sensibil. Scopul nostru este de a regla această sensibilitate folosind Python .
Metoda tradițională de detectare a valorii aberante
Modul tradițional de găsire a valorii aberante este prin utilizarea unei metode de diagramă cu casete . În această metodă, folosim IQR pentru a găsi ceea ce se încadrează în afara intervalului așteptat al datelor.
În acest exemplu, acest punct unic de deasupra mustații este valoarea noastră anormală.
Dacă traducem acest grafic vizual într-o diagramă circulară, vom obține acest lucru aberant, care este echivalent cu 2,33% din totalul datelor.
În acest blog, vom învăța cum să folosim Metoda ML de Izolație Forest, să o ajustam pentru a se potrivi cu metoda tradițională și să creștem sau să reducem sensibilitatea acesteia.
Setul de date pentru algoritmul pădurii de izolare
Deschideți setul nostru de date în LuckyTemplates. Apoi faceți clic pe Transform Data.
Setul nostru de date pentru acest tutorial va apărea. Conține data , numărul de utilizatori , indexul și valorile aberante ale pădurii de izolare cu ieșirea 1 pentru intervalul normal și -1 pentru valori aberante .
Avem, de asemenea, o coloană pentru Traditional Outlier și o coloană condiționată intitulată IS Anomaly Detecting reflecting Isolation Forest Outlier.
A doua noastră interogare arată cadrul nostru de date pe care vom învăța cum să punem totul împreună.
Codurile Python
În panoul Proprietăți , putem vedea cele două scripturi Python care rulează . Creăm rezultatul Isolation Forest cu unul dintre aceste scripturi Python și generăm valorile aberante tradiționale cu celălalt.
Codul Python al algoritmului forestier de izolare
Faceți clic pe Executare script Python pentru a vedea codul.
În acest cod Python, importăm panda ca pd și folosim ceva numit Isolation Forest.
O pădure de izolare este un model bazat pe arbori care ia decizii pe baza unei structuri de arbore și apoi decide dacă este un valori aberant sau nu. Numim asta un model de ansamblu , deoarece folosește două metode diferite de a găsi un anumit valori aberante.
Înlocuim, de asemenea, variabila set de date , care deține setul de date implicit, ca df .
Având în vedere setul nostru de date, nu vom avea nevoie de cele două linii de coduri evidențiate mai jos, așa că putem doar să ștergem acele linii.
Ceea ce facem este să instanțiem modelul.
Salvați modelul ca IsolationForest și lăsați modelul să învețe datele cu utilizatorii. Apoi, creați o nouă coloană numită Detectare anomalii , care va trece înapoi peste toate datele pe care le învață și va prezice care dintre ele ar trebui să fie un outlier sau nu.
Pentru această funcție, valoarea implicită pentru contaminare este setată la 0,5 . Astfel, este super sensibil în acest moment și va căuta o mulțime de valori aberante. De aceea, în graficul nostru circular anterior, avem o gamă foarte mare de valori aberante la 32,56%.
Pentru a o face mai puțin sensibilă, putem adăuga contaminare = .1 în funcția IsolationForest .
În cele din urmă, resetați indexul și faceți clic pe OK.
Rezultatul va afișa un tabel rezumativ. Mergeți la panoul Pași aplicați și faceți clic pe df.
În rezultat, putem găsi valorile aberante în coloana Detectare anomalii .
De asemenea, vrem să vedem cum se comportă lângă valorile aberante tradiționale.
Cod Python tradițional Outlier
Vom rula un alt script Python, care în acest exemplu este Run Python script1.
Acest cod adaugă o funcție anormală folosind primul și al treilea quartile. Când scădem q1 din q3 , obținem Intervalul Interquartile (IQR) .
Următoarele două rânduri stabilesc condițiile pentru valorile aberante. Prima linie spune că orice valoare mai mică de 1,5 * iqr este considerată valori aberante negative sau mai mici. Acesta este și modul în care găsim valori aberante în mod tradițional.
De asemenea, știm că avem un punct aberant ca cel mai înalt punct al datelor noastre. Pentru a ține seama de acest lucru, a doua linie afirmă că punctele de date care sunt mai mari decât q3 + 1,5 * iqr sunt, de asemenea, considerate valori aberante.
Returnați setul de date și utilizați funcția outliers(df, „Utilizatori”) . Apoi faceți clic pe OK.
Va apărea un tabel rezumativ similar cu cel pe care îl avem mai devreme.
Dacă mergem la panoul Pași aplicați și facem clic pe Tip modificat 1 , vom obține coloanele Tradiționale aberante și Detectare anomalii una lângă alta, aceasta din urmă folosind 1 și -1 pentru a desemna valori aberante și nu.
Cu toate acestea, atunci când folosim date cu Python, acestea pot părea încurcate.
Ceea ce putem face este să creăm o coloană suplimentară folosind Indexul din Adăugare coloană .
Apoi, adăugați Index la coloana anterioară cu Merge , astfel încât să putem păstra toate informațiile din acea coloană/set de date inițial.
Odată ce avem totul împreună, ne putem rula codul și ne putem actualiza imaginile. Amintiți-vă că am schimbat contaminarea valorii aberante de la 0,5 la 0,1, așa că ar trebui să vedem că această parte a graficului se micșorează destul de mult.
Reveniți la imagini și faceți clic pe Aplicați modificări.
Observați cum Detectarea anomaliilor a trecut de la 32,56% la 11,63% din datele noastre.
După cum vedem în rezultatele noastre, aceasta este o modalitate bună de a optimiza detectarea valorii aberante.
De asemenea, amintiți-vă că atunci când oamenii folosesc metoda tradițională, pot folosi valori mai mici de 1,5, dar 1,5 x IQR este modul tradițional, totuși.
Detectarea și prezentarea rezultatelor aberante în LuckyTemplates
Crearea punctelor de declanșare a valorii aberante dinamice în LuckyTemplates
Funcția de detectare a anomaliilor LuckyTemplates: Cum funcționează
Concluzie
Folosind algoritmul Izolație Forest, putem identifica și exclude cu ușurință orice observație neobișnuită din setul nostru de date, îmbunătățind astfel acuratețea analizei noastre. Acest tutorial a oferit un ghid pas cu pas despre cum să utilizați algoritmul Isolation Forest pentru detectarea valorii aberante folosind Python, care ar trebui să vă ajute să începeți să-l implementați în propriile proiecte.
Ceea ce am făcut a fost o modalitate foarte ușoară de a folosi codul nostru Python pentru a găsi anomalii. Puteți optimiza în continuare acel algoritm modificând contaminarea și o serie de alte variabile pe care le puteți învăța prin pagina de coduri a lui Python .
Toate cele bune,
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți