Skapa en datumtabell i LuckyTemplates
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Outlier-detektering är en viktig uppgift inom området maskininlärning. Den används för att identifiera ovanliga observationer eller datapunkter som avviker från datasetets allmänna trend. En effektiv algoritm för detektering av extremvärden är algoritmen Isolation Forest .
I dagens blogg kommer vi att täcka grunderna i Isolation Forest-algoritmen och demonstrera hur man använder den för att upptäcka extremvärden i en datauppsättning med hjälp av . Du kan se hela videon av denna handledning längst ner på den här bloggen .
Innehållsförteckning
Isolation Forest Algorithm vs Box Plot Method
Nedan visas två bilder för avvikande upptäckt. Lägg märke till de betydande skillnaderna i den visuella representationen när du använder den jämfört med när Isolation Forest ML-modellen för avvikande upptäckt används.
I Isolation Forest ML-modellen är andelen extremvärden som detekteras av IS Anomaly Detection-algoritmen 32,56 %. Med samma algoritm faller de återstående 67,44% av datan inom normalområdet, vilket är ganska känsligt. Vårt mål är att finjustera denna känslighet med .
Den traditionella metoden för att upptäcka avvikelser
Det traditionella sättet att hitta en outlier är att använda en boxplotmetod . I den här metoden använder vi IQR för att hitta vad som faller utanför det förväntade intervallet för data.
I det här exemplet är den här enstaka punkten ovanför morrhåren vår avvikelse.
Om vi översätter den här visuella grafen till ett cirkeldiagram får vi denna speciella extremvärde som motsvarar 2,33 % av den totala datan.
I den här bloggen kommer vi att lära oss hur man använder Isolation Forest ML-metoden, finjustera den för att matcha den traditionella metoden och öka eller minska dess känslighet.
Datauppsättningen för isoleringsskogsalgoritm
Öppna vår datauppsättning i LuckyTemplates. Klicka sedan på Transformera data.
Vår datauppsättning för denna handledning kommer att dyka upp. Den innehåller Datum , antal användare , Index och Isolation Forest Outlier med utgång 1 för normalintervallet och -1 för extremvärden.
Vi har också en kolumn för Traditional Outlier och en villkorlig kolumn med titeln IS Anomaly Detection som återspeglar Isolation Forest Outlier.
Vår andra fråga visar vår dataram som vi lär oss hur man sätter ihop allt.
Pythonkoderna
På rutan Egenskaper kan vi se våra två körande skript. Vi skapar Isolation Forest-utgången med ett av dessa skript och genererar den traditionella outliern med den andra.
Isolation Forest Algoritm Python Code
Klicka på Kör Python-skript för att se koden.
I denna Python-kod importerar vi som pd och använd något som heter Isolation Forest.
En isoleringsskog är en trädbaserad modell som fattar beslut baserat på en trädstruktur och sedan avgör om det är en outlier eller inte. Vi kallar det för en ensemblemodell eftersom den använder två olika metoder för att hitta en viss extremvärde.
Vi ersätter också datasetvariabeln , som håller vår datauppsättning som standard, som df .
Med tanke på vår datauppsättning kommer vi inte att behöva de två raderna med koder som är markerade nedan så vi kan bara ta bort dessa rader.
Det vi gör är att instansiera modellen.
Spara modellen som IsolationForest och låt modellen lära sig data med användare. Skapa sedan en ny kolumn som heter Anomaly Detection som kommer att gå tillbaka över all data som den lär sig och förutsäga vilken som ska vara en avvikare eller inte.
För denna funktion är standardinställningen för kontaminering inställd på 0,5 . Således är den superkänslig för tillfället och kommer att leta efter många extremvärden. Det är därför vi i vårt cirkeldiagram tidigare har ett mycket högt intervall av extremvärden på 32,56%.
För att göra det mindre känsligt kan vi lägga till kontaminering = .1 i IsolationForest -funktionen.
Slutligen, återställ indexet och klicka på OK.
Resultatet kommer att visa en sammanfattningstabell. Gå till rutan Tillämpade steg och klicka på df.
I utgången kan vi hitta extremvärdena under kolumnen Anomaly Detection .
Vi vill också se hur den presterar vid sidan av den traditionella avvikaren.
Traditionell Outlier Python-kod
Vi kör ett annat Python-skript som i det här exemplet är Kör Python-skript1.
Denna kod lägger till en outlier-funktion med den första och tredje kvartilen. När vi subtraherar q1 från q3 får vi Interquartile Range (IQR) .
De följande två raderna ställer villkoren för extremvärdena. Den första raden säger att allt mindre än 1,5 * iqr anses vara negativa eller lägre extremvärden. Det är också så vi hittar extremvärden på traditionellt sätt.
Vi vet också att vi har en extremvärde som högsta punkt i vår data. För att ta hänsyn till det anger den andra raden att datapunkter som är högre än q3 + 1,5 * iqr också anses vara extremvärden.
Returnera den datamängden och använd funktionen outliers(df, 'Users') . Klicka sedan på OK.
En sammanfattningstabell liknande den vi har tidigare kommer att dyka upp.
Om vi går till rutan Tillämpade steg och klickar på Ändrad typ1 , får vi kolumnerna Traditional Outlier och Anomaly Detection sida vid sida, där de senare använder 1 och -1 för att beteckna extremvärden och inte.
Men när vi använder datum med Python kan de verka trassliga.
Vad vi kan göra är att skapa en extra kolumn med hjälp av indexet från Lägg till kolumn .
Lägg sedan till Index i föregående kolumn med Merge , så att vi kan bevara all information i den ursprungliga kolumnen/datauppsättningen.
När vi har samlat allt kan vi köra vår kod och uppdatera våra bilder. Kom ihåg att vi ändrade kontamineringen av extremvärdet från 0,5 till 0,1, så vi borde se denna del av grafen krympa en hel del.
Gå tillbaka till bilderna och klicka på Verkställ ändringar.
Lägg märke till hur anomalidetekteringen gick hela vägen från 32,56 % ner till 11,63 % av vår data.
Som vi ser i våra resultat är detta ett bra sätt att optimera vår detektering av extremvärden.
Kom också ihåg att när människor använder den traditionella metoden kan de använda värden lägre än 1,5, men 1,5 x IQR är det traditionella sättet ändå.
Slutsats
Genom att använda Isolation Forest-algoritmen kan vi enkelt identifiera och utesluta ovanliga observationer från vår datauppsättning, vilket förbättrar noggrannheten i vår analys. Den här handledningen har gett en steg-för-steg-guide om hur du använder Isolation Forest-algoritmen för att detektera avvikelser med Python, vilket bör hjälpa dig att komma igång med att implementera den i dina egna projekt.
Det vi gjorde var en väldigt enkel kod för att hitta anomalier. Du kan optimera den algoritmen ytterligare genom att modifiera kontaminering och en mängd andra variabler som du kan lära dig via teckentabellen.
Med vänliga hälsningar,
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.
I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.
I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.
I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.
I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.
Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.