{"id":181073,"date":"2023-07-21T19:28:27","date_gmt":"2023-07-21T18:28:27","guid":{"rendered":"https:\/\/liora.io\/de\/?p=181073"},"modified":"2026-02-19T14:21:31","modified_gmt":"2026-02-19T13:21:31","slug":"isolation-forest","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/isolation-forest","title":{"rendered":"Isolation Forest: Wie kann man Anomalien in einem Datenbestand erkennen?"},"content":{"rendered":"\n<p><strong>Heute besch\u00e4ftigen wir uns mit dem Isolation Forest, einem Machine-Learning-Algorithmus zur L\u00f6sung von bin\u00e4ren Klassifikationsproblemen wie Betrugserkennung oder Krankheitsdiagnose. Diese Technik, die 2008 auf der Eighth IEEE International Conference vorgestellt wurde, ist die erste Klassifizierungstechnik, die sich der Erkennung von Anomalien auf der Grundlage von Isolation widmet.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-isolation-forest-das-accuracy-paradox-problem\">Isolation Forest &#8211; Das Accuracy-Paradox-Problem<\/h2>\n\n\n\n<p>Bei einem <a href=\"https:\/\/liora.io\/de\/umgang-mit-problemen-bei-unausgewogener-klassifizierung-teil-ii\">Klassenklassifikationsproblem<\/a> mit Machine Learning kann es vorkommen, dass der Datensatz unausgewogen ist. Genauer gesagt, ist der<strong> Anteil einer Klasse im Vergleich zu einer anderen<\/strong> in der Lernstichprobe viel gr\u00f6\u00dfer. Dieses Problem ist ein h\u00e4ufiges Merkmal von <a href=\"https:\/\/liora.io\/de\/umgang-mit-problemen-bei-unausgewogener-klassifizierung-teil-i\">bin\u00e4ren Klassifikationsproblemen.<\/a> Man k\u00f6nnte zun\u00e4chst daran denken, einen <strong>klassischen Klassifikationsalgorithmus<\/strong> anzuwenden, wie z. B. Entscheidungsb\u00e4ume, <a href=\"https:\/\/liora.io\/de\/der-knn-algorithmus-einfach-erklart\">K-NN<\/a> oder SVM, die in unserem Blog vorgestellt werden. Diese Algorithmen sind jedoch in <strong>Wirklichkeit nicht in der Lage, mit diesen atypischen Datens\u00e4tzen<\/strong> umzugehen, in denen die Unterschiede zwischen den Klassen ziemlich gro\u00df sind. Sie tendieren dazu, \u00fcber ihre Verlustfunktion Gr\u00f6\u00dfen wie die Akkuranz zu maximieren, ohne jedoch die Verteilung der Daten zu ber\u00fccksichtigen.<\/p>\n\n\n\n<p>In der Praxis f\u00fchrt dies zu Modellen, die, wenn sie mit einem von einer Klasse dominierten Datenbestand trainiert werden, in der Evaluierungsphase eine hohe Rate an korrekten Vorhersagen, die sogenannte<strong> &#8222;accuracy&#8220;, aufweisen, aber f\u00fcr den Gebrauch nicht relevant sind.<\/strong><\/p>\n\n\n\n<p>Ein Beispiel soll dieses Paradoxon verdeutlichen. Betrachten wir ein Problem bei der Erkennung von Bankbetrug: Eine Bank versucht, aus einer gro\u00dfen Anzahl von Transaktionen anhand einer Reihe von erkl\u00e4renden Variablen die betr\u00fcgerischen Transaktionen zu bestimmen. Diese <strong>betr\u00fcgerischen Transaktionen<\/strong> machen etwa 11% der Transaktionen in unserem Datenbestand aus. Die Klassifizierung mithilfe eines einfachen Modells wie SVM mithilfe von <a href=\"https:\/\/scikit-learn.org\/stable\/\">scikit learn<\/a> ergibt z. B. folgende Punktzahl:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/Ynrcj554OXGvMvJ9dVOKrIlut_xhW5AYb5_QaIXSE5EqzRP9Fnex4FSZjbBqnQxgzB2fV2A2A26jDdMY5vdFdFjcz40AU27eKozCzjHPmdheJJTkjU8k_9njuL1FbCvq1.jpg\" alt=\"\" style=\"width:auto;height:50px\" \/><\/figure>\n\n\n\n<p>Ein Blick auf die <a href=\"https:\/\/liora.io\/de\/confusion-matrix\">Verwirrungsmatrix<\/a> zeigt jedoch schnell, dass der Algorithmus sich recht naiv verh\u00e4lt:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/Classe-predite.jpg\" alt=\"\" style=\"width:auto;height:200px\" \/><\/figure>\n\n\n\n<p>Tats\u00e4chlich wurden von 219 betr\u00fcgerischen <strong>Transaktionen<\/strong> nur 25 von unserem Modell tats\u00e4chlich als betr\u00fcgerisch identifiziert. Wir stellen also fest, dass die Vorhersagekraft des Modells nicht so stark ist, wie es die accuracy vermuten lassen k\u00f6nnte. Es handelt sich um eine Metrik, die durch ein <strong>Ungleichgewicht der Klassen zu stark verzerrt<\/strong> ist, dieses Ph\u00e4nomen wird als accuracy paradox bezeichnet.<\/p>\n\n\n\n<p>Ein Modell mit einem<strong> h\u00f6heren accuracy-Wert<\/strong> kann eine geringere Vorhersagekraft haben als ein Modell mit einem niedrigeren accuracy-Wert.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\">Lernen, das accuracy paradox zu korrigieren<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-isolation-forest-was-ist-das\">Isolation Forest: Was ist das?<\/h2>\n\n\n\n<p>Aber wie geht man mit diesem Problem um, das die <strong>Bem\u00fchungen<\/strong> mehrerer gut trainierter klassischer Algorithmen zunichte macht? Es gibt verschiedene L\u00f6sungen, wie z. B. Resampling-Methoden wie Undersampling oder Oversampling, bei denen Daten zuf\u00e4llig ausgew\u00e4hlt werden, um das <strong>Klassenverh\u00e4ltnis<\/strong> auszugleichen. Wenn diese Methoden jedoch nicht effektiv genug sind, ist es \u00fcblich, das Problem neu zu \u00fcberdenken und die Erkennung von Anomalien als ein Problem der un\u00fcberwachten Klassifizierung zu betrachten. Hier kommt der lang erwartete Isolation Forest ins Spiel!<\/p>\n\n\n\n<p>Isolation Forest ist eine Technik zur Erkennung von Anomalien, die Anomalien (allgemein als &#8222;Ausrei\u00dfer&#8220; bekannt) direkt identifiziert, im Gegensatz zu herk\u00f6mmlichen <strong>Techniken, die Punkte von einem &#8222;normalisierten&#8220; Gesamtprofil unterscheiden.<\/strong><\/p>\n\n\n\n<p>Das Prinzip dieses Algorithmus ist sehr einfach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Man w\u00e4hlt eine Variable (Feature) zuf\u00e4llig aus.<\/li>\n\n\n\n<li>Anschlie\u00dfend wird der Datensatz nach dieser Variable zuf\u00e4llig partitioniert, um zwei Teilmengen der Daten zu erhalten.<\/li>\n\n\n\n<li>Die beiden vorherigen Schritte werden so lange wiederholt, bis ein <strong>Datensatz isoliert<\/strong> ist.<\/li>\n\n\n\n<li>Rekursiv werden die vorherigen Schritte wiederholt.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/python_anomaly_detection_isolation_forest.gif\" alt=\"\" style=\"width:auto;height:400px\" \/><figcaption class=\"wp-element-caption\">Funktionsweise des Arlgorithmus<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Entdecke unsere Weiterbildungen<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Isolation Forest \u2013 Das Accuracy-Paradox-Problem\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Bei unausgewogenen Datens\u00e4tzen (z.B. nur 1% betr\u00fcgerische Transaktionen) versagen klassische Klassifikationsalgorithmen wie SVM oder Entscheidungsb\u00e4ume. Sie maximieren die Accuracy, ohne die Datenverteilung zu ber\u00fccksichtigen. Das Accuracy-Paradoxon beschreibt, dass ein Modell mit hoher Accuracy dennoch eine geringe Vorhersagekraft haben kann \u2013 es sagt einfach die Mehrheitsklasse voraus. Im Beispiel wurden von 219 betr\u00fcgerischen Transaktionen nur 25 erkannt, trotz scheinbar guter Accuracy.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Isolation Forest: Was ist das?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Isolation Forest ist ein 2008 vorgestellter Algorithmus zur un\u00fcberwachten Erkennung von Anomalien. Anders als herk\u00f6mmliche Methoden identifiziert er Anomalien direkt durch Isolation, nicht durch Abweichung von einer Norm. Das Prinzip: Zuf\u00e4llige Auswahl einer Variable, zuf\u00e4llige Partitionierung des Datensatzes nach dieser Variable, Wiederholung bis ein Datensatz isoliert ist. Anomalien werden schneller isoliert als normale Datenpunkte.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Heute besch\u00e4ftigen wir uns mit dem Isolation Forest, einem Machine-Learning-Algorithmus zur L\u00f6sung von bin\u00e4ren Klassifikationsproblemen wie Betrugserkennung oder Krankheitsdiagnose. Diese Technik, die 2008 auf der Eighth IEEE International Conference vorgestellt wurde, ist die erste Klassifizierungstechnik, die sich der Erkennung von Anomalien auf der Grundlage von Isolation widmet. Isolation Forest &#8211; Das Accuracy-Paradox-Problem Bei einem Klassenklassifikationsproblem [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":218660,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-181073","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=181073"}],"version-history":[{"count":4,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181073\/revisions"}],"predecessor-version":[{"id":218680,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181073\/revisions\/218680"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/218660"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=181073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=181073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}