{"id":1173,"date":"2023-07-27T09:53:30","date_gmt":"2023-07-27T09:53:30","guid":{"rendered":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/"},"modified":"2023-07-27T09:53:30","modified_gmt":"2023-07-27T09:53:30","slug":"lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren","status":"publish","type":"post","link":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/","title":{"rendered":"Leave-one-out-kreuzvalidierung in python (mit beispielen)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Um die Leistung eines Modells anhand eines Datensatzes zu bewerten, m\u00fcssen wir messen, wie gut die vom Modell gemachten Vorhersagen mit den beobachteten Daten \u00fcbereinstimmen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Eine hierf\u00fcr h\u00e4ufig verwendete Methode ist die sogenannte <a href=\"https:\/\/statorials.org\/de\/hinterlassen-sie-eine-einzige-kreuzvalidierung\/\" target=\"_blank\" rel=\"noopener noreferrer\">Leave-One-Out Cross-Validation (LOOCV)<\/a> , die den folgenden Ansatz verwendet:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Teilen Sie einen Datensatz in einen Trainingssatz und einen Testsatz auf und verwenden Sie dabei alle Beobachtungen bis auf eine als Teil des Trainingssatzes.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Erstellen Sie ein Modell, das nur Daten aus dem Trainingssatz verwendet.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Verwenden Sie das Modell, um den Antwortwert der vom Modell ausgeschlossenen Beobachtung vorherzusagen und den mittleren quadratischen Fehler (MSE) zu berechnen.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Wiederholen Sie diesen Vorgang <em>n<\/em> -mal. Berechnen Sie den Test-MSE als Durchschnitt aller Test-MSE.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dieses Tutorial bietet ein schrittweises Beispiel f\u00fcr die Ausf\u00fchrung von LOOCV f\u00fcr ein bestimmtes Modell in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Schritt 1: Laden Sie die erforderlichen Bibliotheken<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Zuerst laden wir die f\u00fcr dieses Beispiel ben\u00f6tigten Funktionen und Bibliotheken:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> LeaveOneOut\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> cross_val_score\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LinearRegression\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> means\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> absolute\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> sqrt\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Schritt 2: Erstellen Sie die Daten<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Als N\u00e4chstes erstellen wir einen Pandas-DataFrame, der zwei Pr\u00e4diktorvariablen <sub>x1<\/sub> und <sub>x2<\/sub> sowie eine einzelne Antwortvariable y enth\u00e4lt.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong>df = pd.DataFrame({' <span style=\"color: #008000;\">y<\/span> ': [6, 8, 12, 14, 14, 15, 17, 22, 24, 23],\n                   ' <span style=\"color: #008000;\">x1<\/span> ': [2, 5, 4, 3, 4, 6, 7, 5, 8, 9],\n                   ' <span style=\"color: #008000;\">x2<\/span> ': [14, 12, 12, 13, 7, 8, 7, 4, 6, 5]})\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Schritt 3: F\u00fchren Sie eine Leave-One-Out-Kreuzvalidierung durch<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Als N\u00e4chstes passen wir ein <a href=\"https:\/\/statorials.org\/de\/lineare-regressionspython\/\" target=\"_blank\" rel=\"noopener noreferrer\">multiples lineares Regressionsmodell<\/a> an den Datensatz an und f\u00fchren LOOCV durch, um die Leistung des Modells zu bewerten.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span>cv = LeaveOneOut()\n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use LOOCV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_absolute_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view mean absolute error\n<\/span>mean(absolute(scores))\n\n3.1461548083469726\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Aus dem Ergebnis k\u00f6nnen wir ersehen, dass der mittlere absolute Fehler (MAE) <strong>3,146<\/strong> betrug. Das hei\u00dft, der durchschnittliche absolute Fehler zwischen der Modellvorhersage und den tats\u00e4chlich beobachteten Daten betr\u00e4gt 3,146.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Im Allgemeinen gilt: Je niedriger der MAE, desto besser kann ein Modell tats\u00e4chliche Beobachtungen vorhersagen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Eine weitere h\u00e4ufig verwendete Metrik zur Bewertung der Modellleistung ist der quadratische Mittelfehler (Root Mean Square Error, RMSE). Der folgende Code zeigt, wie diese Metrik mithilfe von LOOCV berechnet wird:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span>cv = LeaveOneOut()\n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use LOOCV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_squared_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view RMSE\n<\/span>sqrt(mean(absolute(scores)))\n\n3.619456476385567<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Aus dem Ergebnis k\u00f6nnen wir ersehen, dass der quadratische Mittelfehler (RMSE) <strong>3,619<\/strong> betrug. Je niedriger der RMSE, desto besser kann ein Modell tats\u00e4chliche Beobachtungen vorhersagen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In der Praxis passen wir in der Regel mehrere unterschiedliche Modelle an und vergleichen den RMSE oder MAE jedes Modells, um zu entscheiden, welches Modell die niedrigsten Testfehlerraten erzeugt und daher das beste zu verwendende Modell ist.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Zus\u00e4tzliche Ressourcen<\/strong><\/span><\/h3>\n<p> <a href=\"https:\/\/statorials.org\/de\/hinterlassen-sie-eine-einzige-kreuzvalidierung\/\" target=\"_blank\" rel=\"noopener noreferrer\">Eine kurze Einf\u00fchrung in die Leave-One-Out-Kreuzvalidierung (LOOCV)<\/a><br \/> <a href=\"https:\/\/statorials.org\/de\/lineare-regressionspython\/\" target=\"_blank\" rel=\"noopener noreferrer\">Eine vollst\u00e4ndige Anleitung zur linearen Regression in Python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um die Leistung eines Modells anhand eines Datensatzes zu bewerten, m\u00fcssen wir messen, wie gut die vom Modell gemachten Vorhersagen mit den beobachteten Daten \u00fcbereinstimmen. Eine hierf\u00fcr h\u00e4ufig verwendete Methode ist die sogenannte Leave-One-Out Cross-Validation (LOOCV) , die den folgenden Ansatz verwendet: 1. Teilen Sie einen Datensatz in einen Trainingssatz und einen Testsatz auf und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)<\/title>\n<meta name=\"description\" content=\"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)\" \/>\n<meta property=\"og:description\" content=\"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T09:53:30+00:00\" \/>\n<meta name=\"author\" content=\"Dr. Benjamin Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. Benjamin Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/\",\"url\":\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/\",\"name\":\"Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/de\/#website\"},\"datePublished\":\"2023-07-27T09:53:30+00:00\",\"dateModified\":\"2023-07-27T09:53:30+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\"},\"description\":\"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Heim\",\"item\":\"https:\/\/statorials.org\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leave-one-out-kreuzvalidierung in python (mit beispielen)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/de\/#website\",\"url\":\"https:\/\/statorials.org\/de\/\",\"name\":\"Statorials\",\"description\":\"Ihr Leitfaden f\u00fcr statistische Kompetenz !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\",\"name\":\"Dr. Benjamin Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. Benjamin Anderson\"},\"description\":\"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen\",\"sameAs\":[\"https:\/\/statorials.org\/de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)","description":"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/","og_locale":"de_DE","og_type":"article","og_title":"Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)","og_description":"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.","og_url":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:53:30+00:00","author":"Dr. Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr. Benjamin Anderson","Gesch\u00e4tzte Lesezeit":"3 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/","url":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/","name":"Leave-One-Out-Kreuzvalidierung in Python (mit Beispielen)","isPartOf":{"@id":"https:\/\/statorials.org\/de\/#website"},"datePublished":"2023-07-27T09:53:30+00:00","dateModified":"2023-07-27T09:53:30+00:00","author":{"@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0"},"description":"In diesem Tutorial wird erl\u00e4utert, wie Sie eine praktische Kreuzvalidierung in Python durchf\u00fchren, einschlie\u00dflich eines Schritt-f\u00fcr-Schritt-Beispiels.","breadcrumb":{"@id":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/de\/lassen-sie-eine-kreuzvalidierung-in-python-durchfuhren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Heim","item":"https:\/\/statorials.org\/de\/"},{"@type":"ListItem","position":2,"name":"Leave-one-out-kreuzvalidierung in python (mit beispielen)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/de\/#website","url":"https:\/\/statorials.org\/de\/","name":"Statorials","description":"Ihr Leitfaden f\u00fcr statistische Kompetenz !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Person","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0","name":"Dr. Benjamin Anderson","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","caption":"Dr. Benjamin Anderson"},"description":"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen","sameAs":["https:\/\/statorials.org\/de"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/1173"}],"collection":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/comments?post=1173"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/1173\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/media?parent=1173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/categories?post=1173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/tags?post=1173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}