DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Outlier-deteksjon er en viktig oppgave innen maskinlæring. Den brukes til å identifisere uvanlige observasjoner eller datapunkter som avviker fra den generelle trenden til datasettet. En effektiv algoritme for avvikdeteksjon er Isolation Forest- algoritmen.
I dagens blogg vil vi dekke det grunnleggende om Isolation Forest-algoritmen og demonstrere hvordan du bruker den til å oppdage uteliggere i et datasett ved hjelp av . Du kan se hele videoen av denne opplæringen nederst på denne bloggen .
Innholdsfortegnelse
Isolasjonsskogalgoritme vs boksplottmetode
Nedenfor vises to bilder for avviksdeteksjon. Legg merke til de betydelige forskjellene i den visuelle representasjonen når du bruker sammenlignet med når Isolation Forest ML-modellen for avviksdeteksjon brukes.
I Isolation Forest ML-modellen er prosentandelen av uteliggere oppdaget av IS Anomaly Detection-algoritmen 32,56 %. Ved å bruke samme algoritme faller de resterende 67,44% av dataene i normalområdet, noe som er ganske sensitivt. Målet vårt er å finjustere denne følsomheten ved å bruke .
Den tradisjonelle metoden for avviksdeteksjon
Den tradisjonelle måten å finne en uteligger på er å bruke en boksplottmetode . I denne metoden bruker vi IQR for å finne hva som faller utenfor det forventede området for dataene.
I dette eksemplet er dette enkeltpunktet over værhåren vår ytterside.
Hvis vi oversetter denne visuelle grafen til et sektordiagram, får vi denne spesielle uteliggeren som tilsvarer 2,33 % av de totale dataene.
I denne bloggen lærer vi hvordan du bruker Isolation Forest ML-metoden, finjusterer den for å matche den tradisjonelle metoden og øker eller reduserer dens følsomhet.
Datasettet for isolasjonsskogalgoritmen
Åpne datasettet vårt i LuckyTemplates. Klikk deretter Transformer data.
Datasettet vårt for denne opplæringen vil dukke opp. Den inneholder dato , antall brukere , indeks og isolasjonsskogavvik med utgang 1 for normalområdet og -1 for avvikere .
Vi har også en kolonne for Traditional Outlier , og en betinget kolonne med tittelen IS Anomaly Detection som gjenspeiler Isolation Forest Outlier.
Vår andre spørring viser vår dataramme som vi lærer hvordan vi setter alt sammen.
Python-kodene
På Egenskaper- ruten kan vi se de to kjørende skriptene våre. Vi lager Isolation Forest-utgangen med ett av disse skriptene og genererer den tradisjonelle uteliggeren med den andre.
Isolasjonsskogalgoritme Python-kode
Klikk Kjør Python-skript for å se koden.
I denne Python-koden importerer vi som pd og bruk noe som heter Isolation Forest.
En isolasjonsskog er en trebasert modell som tar beslutninger basert på en trestruktur og deretter bestemmer om den er en uteligger eller ikke. Vi kaller det en ensemblemodell fordi den bruker to forskjellige metoder for å finne en bestemt uteligger.
Vi erstatter også datasettvariabelen , som holder datasettet vårt som standard, som df .
Gitt vårt datasett, vil vi ikke trenge de to linjene med koder som er uthevet nedenfor, så vi kan bare slette disse linjene.
Det vi gjør er å instansiere modellen.
Lagre modellen som IsolationForest og la modellen lære dataene med brukere. Deretter oppretter du en ny kolonne kalt Anomaly Detection som vil gå tilbake over alle dataene den lærer og forutsi hvilken som skal være en uteligger eller ikke.
For denne funksjonen er standard for kontaminering satt til 0,5 . Dermed er den supersensitiv for øyeblikket og vil lete etter mange uteliggere. Det er derfor vi i kakediagrammet vårt tidligere har et veldig høyt spekter av utliggere på 32,56 %.
For å gjøre det mindre følsomt, kan vi legge til kontaminering = .1 i IsolationForest -funksjonen.
Til slutt tilbakestill indeksen og klikk OK.
Resultatet vil vise en oppsummeringstabell. Gå til Applied Steps- panelet og klikk på df.
I utdataene kan vi finne uteliggere under kolonnen Anomaly Detection .
Vi ønsker også å se hvordan den presterer ved siden av den tradisjonelle uteliggeren.
Tradisjonell Outlier Python-kode
Vi kjører et annet Python-skript som i dette eksemplet er Run Python-skript1.
Denne koden legger til en uteliggerfunksjon ved å bruke den første og tredje kvartilen. Når vi trekker q1 fra q3 , får vi Interquartile Range (IQR) .
De to neste linjene setter betingelsene for uteliggere. Den første linjen sier at alt mindre enn 1,5 * iqr anses som negative eller lavere uteliggere. Det er også slik vi finner uteliggere på tradisjonell måte.
Vi vet også at vi har én uteligger som høyeste punkt i dataene våre. For å gjøre rede for det, sier den andre linjen at datapunkter som er høyere enn q3 + 1,5 * iqr også anses som uteliggere.
Returner det datasettet og bruk funksjonen outliers(df, 'Brukere') . Klikk deretter OK.
En oppsummeringstabell som ligner på det vi har tidligere vil dukke opp.
Hvis vi går til Applied Steps- panelet og klikker Changed Type1 , får vi Tradisjonell Outlier og Anomaly Detection- kolonner side om side, med sistnevnte bruker 1 og -1 for å angi uteliggere og ikke.
Men når vi bruker datoer med Python, kan de virke rotete ut.
Det vi kan gjøre er å lage en ekstra kolonne ved å bruke indeksen fra Legg til kolonne .
Legg deretter til Index i forrige kolonne med Merge , slik at vi kan bevare all informasjonen i den originale kolonnen/datasettet.
Når vi har alt sammen, kan vi kjøre koden vår og oppdatere bildene våre. Husk at vi endret forurensningen av uteliggeren fra 0,5 til 0,1, så vi bør se denne delen av grafen krympe ganske mye.
Gå tilbake til det visuelle og klikk på Bruk endringer.
Legg merke til hvordan anomalideteksjonen gikk hele veien fra 32,56 % ned til 11,63 % av dataene våre.
Som vi ser i resultatene våre, er dette en god måte å optimalisere avvikdeteksjonen vår.
Husk også at når folk bruker den tradisjonelle metoden, kan de bruke verdier lavere enn 1,5, men 1,5 x IQR er den tradisjonelle måten, likevel.
Konklusjon
Ved å bruke Isolation Forest-algoritmen kan vi enkelt identifisere og ekskludere uvanlige observasjoner fra datasettet vårt, og dermed forbedre nøyaktigheten til analysen vår. Denne opplæringen har gitt en trinn-for-trinn-guide for hvordan du bruker Isolation Forest-algoritmen for avvikdeteksjon ved hjelp av Python, som skal hjelpe deg med å komme i gang med å implementere den i dine egne prosjekter.
Det vi gjorde var en veldig enkel kode for å finne anomalier. Du kan optimalisere denne algoritmen ytterligere ved å modifisere forurensning og en rekke andre variabler som du kan lære gjennom kodesett.
Beste ønsker,
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.