So speichern und laden Sie eine RDS-Datei in R
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Die Erkennung von Ausreißern ist eine wichtige Aufgabe im Bereich des maschinellen Lernens. Es wird verwendet, um ungewöhnliche Beobachtungen oder Datenpunkte zu identifizieren, die vom allgemeinen Trend des Datensatzes abweichen. Ein effektiver Algorithmus zur Ausreißererkennung ist der Isolation Forest- Algorithmus.
Im heutigen Blog werden wir die Grundlagen des Isolation Forest-Algorithmus behandeln und zeigen, wie man ihn zum Erkennen von Ausreißern in einem Datensatz mit Python verwendet . Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen .
Inhaltsverzeichnis
Isolation Forest-Algorithmus vs. Box-Plot-Methode
Unten sind zwei visuelle Darstellungen zur Erkennung von Ausreißern dargestellt. Beachten Sie die erheblichen Unterschiede in der visuellen Darstellung bei Verwendung der im Vergleich zur Verwendung des Isolation Forest ML-Modells zur Ausreißererkennung.
Im Isolation Forest ML-Modell beträgt der Prozentsatz der vom IS-Anomalieerkennungsalgorithmus erkannten Ausreißer 32,56 %. Bei Verwendung desselben Algorithmus liegen die verbleibenden 67,44 % der Daten im normalen Bereich, was sehr empfindlich ist. Unser Ziel ist es, diese Empfindlichkeit mithilfe von Python zu optimieren .
Die traditionelle Methode zur Erkennung von Ausreißern
Der herkömmliche Weg, einen Ausreißer zu finden, ist die Verwendung einer Boxplot-Methode . Bei dieser Methode verwenden wir den IQR, um herauszufinden, was außerhalb des erwarteten Datenbereichs liegt.
In diesem Beispiel ist dieser einzelne Punkt über dem Whisker unser Ausreißer.
Wenn wir dieses visuelle Diagramm in ein Kreisdiagramm übersetzen, erhalten wir diesen einen bestimmten Ausreißer, der 2,33 % der Gesamtdaten entspricht .
In diesem Blog erfahren Sie, wie Sie die Isolation Forest ML-Methode verwenden, sie an die traditionelle Methode anpassen und ihre Empfindlichkeit erhöhen oder verringern.
Der Datensatz für den Isolation Forest-Algorithmus
Öffnen Sie unseren Datensatz in LuckyTemplates. Klicken Sie dann auf Daten transformieren.
Unser Datensatz für dieses Tutorial wird angezeigt. Es enthält Datum , Anzahl der Benutzer , Index und Isolationswald-Ausreißer mit der Ausgabe 1 für den Normalbereich und -1 für Ausreißer.
Wir haben auch eine Spalte für Traditional Outlier und eine bedingte Spalte mit dem Titel IS Anomaly Detection, die den Isolation Forest Outlier widerspiegelt.
Unsere zweite Abfrage zeigt unseren Datenrahmen, in dem wir lernen, wie man alles zusammenfügt.
Die Python-Codes
Im Eigenschaftenbereich können wir unsere beiden laufenden Python- Skripte sehen. Wir erstellen die Isolation Forest-Ausgabe mit einem dieser Python- Skripte und generieren mit dem anderen den traditionellen Ausreißer.
Python-Code für den Isolationswaldalgorithmus
Klicken Sie auf Python-Skript ausführen , um den Code anzuzeigen.
In diesem Python-Code importieren wir Pandas als pd und verwenden etwas namens Isolation Forest.
Ein Isolation Forest ist ein baumbasiertes Modell, das Entscheidungen auf der Grundlage einer Baumstruktur trifft und dann entscheidet, ob es sich um einen Ausreißer handelt oder nicht. Wir nennen das ein Ensemble-Modell, weil es zwei verschiedene Methoden verwendet, um einen bestimmten Ausreißer zu finden.
Wir ersetzen auch die Datensatzvariable , die standardmäßig unseren Datensatz enthält, durch df .
Aufgrund unseres Datensatzes benötigen wir die beiden unten hervorgehobenen Codezeilen nicht, sodass wir diese Zeilen einfach löschen können.
Wir instanziieren das Modell.
Speichern Sie das Modell als IsolationForest und lassen Sie das Modell die Daten mit Benutzern lernen . Erstellen Sie dann eine neue Spalte mit dem Namen „Anomaly Detection“ , die alle gelernten Daten durchgeht und vorhersagt, welche Daten ein Ausreißer sein sollten oder nicht.
Für diese Funktion ist der Standardwert für die Kontamination auf 0,5 eingestellt . Daher ist es im Moment sehr empfindlich und wird nach vielen Ausreißern suchen. Aus diesem Grund haben wir in unserem Tortendiagramm zuvor mit 32,56 % eine sehr hohe Spanne an Ausreißern.
Um es weniger empfindlich zu machen, können wir in der IsolationForest -Funktion „contamination = .1“ hinzufügen .
Setzen Sie abschließend den Index zurück und klicken Sie auf OK.
Das Ergebnis wird in einer Übersichtstabelle angezeigt. Gehen Sie zum Bereich „Angewandte Schritte“ und klicken Sie auf df.
In der Ausgabe finden wir die Ausreißer in der Spalte „Anomalieerkennung“ .
Wir wollen auch sehen, wie es im Vergleich zum traditionellen Ausreißer abschneidet.
Traditioneller Ausreißer-Python-Code
Wir führen ein weiteres Python-Skript aus, in diesem Beispiel „ Run Python script1“.
Dieser Code fügt eine Ausreißerfunktion hinzu, die das erste und dritte Quartil verwendet. Wenn wir q1 von q3 subtrahieren , erhalten wir den Interquartilbereich (IQR) .
Die nächsten beiden Zeilen legen die Bedingungen für die Ausreißer fest. Die erste Zeile besagt, dass alles unter 1,5 * iqr als negativ oder als geringere Ausreißer gilt . Auf diese Weise finden wir auch auf herkömmliche Weise Ausreißer.
Wir wissen auch, dass wir einen Ausreißer als höchsten Punkt in unseren Daten haben. Um dies zu berücksichtigen, heißt es in der zweiten Zeile, dass Datenpunkte, die höher als q3 + 1,5 * iqr sind , ebenfalls als Ausreißer gelten.
Geben Sie diesen Datensatz zurück und verwenden Sie die Funktion outliers(df, 'Users') . Klicken Sie dann auf OK.
Es erscheint eine Übersichtstabelle, die der zuvor gezeigten ähnelt.
Wenn wir zum Bereich „Angewandte Schritte“ gehen und auf „Geänderter Typ1“ klicken , werden die Spalten „Traditionelle Ausreißer “ und „Anomalieerkennung“ nebeneinander angezeigt, wobei letztere 1 und -1 verwenden, um Ausreißer zu kennzeichnen, und nicht.
Wenn wir jedoch Datumsangaben mit Python verwenden, können diese fehlerhaft erscheinen.
Was wir tun können, ist, eine zusätzliche Spalte zu erstellen, indem wir den Index aus „Add Column“ verwenden .
Fügen Sie dann mit Merge den Index zur vorherigen Spalte hinzu , damit wir alle Informationen in dieser ursprünglichen Spalte/diesem ursprünglichen Datensatz beibehalten können.
Sobald wir alles zusammen haben, können wir unseren Code ausführen und unsere Visuals aktualisieren. Denken Sie daran, dass wir die Kontamination des Ausreißers von 0,5 auf 0,1 geändert haben, sodass dieser Teil des Diagramms deutlich schrumpfen sollte.
Gehen Sie zurück zu den Visuals und klicken Sie auf „Änderungen übernehmen“.
Beachten Sie, dass die Anomalieerkennung von 32,56 % auf 11,63 % unserer Daten zurückgegangen ist.
Wie wir in unseren Ergebnissen sehen, ist dies eine gute Möglichkeit, unsere Ausreißererkennung zu optimieren.
Denken Sie auch daran, dass Menschen, die die traditionelle Methode verwenden, möglicherweise Werte unter 1,5 verwenden, aber 1,5 x IQR ist dennoch die traditionelle Methode.
Erkennen und Präsentieren von Ausreißerergebnissen in LuckyTemplates.
Erstellen dynamischer Ausreißer-Triggerpunkte in LuckyTemplates.
LuckyTemplates-Funktion zur Anomalieerkennung: So funktioniert es
Abschluss
Mithilfe des Isolation Forest-Algorithmus können wir ungewöhnliche Beobachtungen leicht identifizieren und aus unserem Datensatz ausschließen und so die Genauigkeit unserer Analyse verbessern. Dieses Tutorial bietet eine Schritt-für-Schritt-Anleitung zur Verwendung des Isolation Forest-Algorithmus zur Ausreißererkennung mit Python, die Ihnen den Einstieg in die Implementierung in Ihren eigenen Projekten erleichtern soll.
Was wir gemacht haben, war eine sehr einfache Möglichkeit, unseren Python- Code zum Auffinden von Anomalien zu verwenden . Sie können diesen Algorithmus weiter optimieren, indem Sie die Kontamination und eine Vielzahl anderer Variablen ändern, die Sie über die Codepage von Python lernen können.
Alles Gute,
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Was ist Self in Python: Beispiele aus der Praxis
In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.
In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.
Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.
Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.
In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.
Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.
Was ist LuckyTemplates Gateway? Alles was du wissen musst