{"id":1195,"date":"2023-07-27T08:14:05","date_gmt":"2023-07-27T08:14:05","guid":{"rendered":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/"},"modified":"2023-07-27T08:14:05","modified_gmt":"2023-07-27T08:14:05","slug":"crest-regressie-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/","title":{"rendered":"Ridge-regressie in python (stap voor stap)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/nl\/regressie-van-de-bergkam\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ridge-regressie<\/a> is een methode die we kunnen gebruiken om een regressiemodel te fitten wanneer <a href=\"https:\/\/statorials.org\/nl\/multicollineariteitsregressie\/\" target=\"_blank\" rel=\"noopener noreferrer\">multicollineariteit<\/a> in de gegevens aanwezig is.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In een notendop probeert regressie met de kleinste kwadraten co\u00ebffici\u00ebntschattingen te vinden die de resterende som van de kwadraten (RSS) minimaliseren:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS = \u03a3(y <sub>i<\/sub> \u2013 \u0177 <sub>i<\/sub> )2<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Goud:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u03a3<\/strong> : Een Grieks symbool dat <em>som<\/em> betekent<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>y <sub>i<\/sub><\/strong> : de werkelijke responswaarde voor de <sup>i-de<\/sup> waarneming<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>\u0177 <sub>i<\/sub><\/strong> : De voorspelde responswaarde op basis van het meervoudige lineaire regressiemodel<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Omgekeerd probeert nokregressie het volgende te minimaliseren:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS + \u03bb\u03a3\u03b2 <sub>j<\/sub> <sup>2<\/sup><\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">waarbij <em>j<\/em> van 1 naar <em>p<\/em> voorspellende variabelen gaat en \u03bb \u2265 0.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Deze tweede term in de vergelijking staat bekend als de <em>opnameboete<\/em> . Bij nokregressie selecteren we een waarde voor \u03bb die de laagst mogelijke MSE-test oplevert (gemiddelde kwadratische fout).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Deze zelfstudie biedt een stapsgewijs voorbeeld van hoe u ridge-regressie in Python uitvoert.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Stap 1: Importeer de benodigde pakketten<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Eerst zullen we de benodigde pakketten importeren om ridge-regressie in Python uit te voeren:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> arange\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> Ridge\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> RidgeCV\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> RepeatedKFold<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Stap 2: Gegevens laden<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Voor dit voorbeeld gebruiken we een dataset met de naam <strong>mtcars<\/strong> , die informatie bevat over 33 verschillende auto&#8217;s. We zullen <strong>hp<\/strong> gebruiken als de responsvariabele en de volgende variabelen als voorspellers:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg<\/span><\/li>\n<li> <span style=\"color: #000000;\">gewicht<\/span><\/li>\n<li> <span style=\"color: #000000;\">shit<\/span><\/li>\n<li> <span style=\"color: #000000;\">qsec<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">De volgende code laat zien hoe u deze gegevensset laadt en weergeeft:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define URL where data is located<\/span>\nurl = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/mtcars.csv\"\n\n<span style=\"color: #008080;\">#read in data<\/span>\ndata_full = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#select subset of data\n<\/span>data = data_full[[\"mpg\", \"wt\", \"drat\", \"qsec\", \"hp\"]]\n\n<span style=\"color: #008080;\">#view first six rows of data<\/span>\ndata[0:6]\n\n\tmpg wt drat qsec hp\n0 21.0 2.620 3.90 16.46 110\n1 21.0 2.875 3.90 17.02 110\n2 22.8 2.320 3.85 18.61 93\n3 21.4 3.215 3.08 19.44 110\n4 18.7 3,440 3.15 17.02 175\n5 18.1 3.460 2.76 20.22 105<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Stap 3: Pas het Ridge Regressiemodel toe<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Vervolgens zullen we de functie <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.linear_model.RidgeCV.html\" target=\"_blank\" rel=\"noopener noreferrer\">RidgeCV()<\/a> van sklearn gebruiken om het ridge-regressiemodel aan te passen en de functie <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.model_selection.RepeatedKFold.html\" target=\"_blank\" rel=\"noopener noreferrer\">RepeatedKFold()<\/a> gebruiken om k-voudige kruisvalidatie uit te voeren om de optimale alfawaarde te vinden die voor de strafterm kan worden gebruikt.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em><strong>Opmerking:<\/strong> in Python wordt de term &#8218;alpha&#8216; gebruikt in plaats van &#8218;lambda&#8216;.<\/em><\/span><\/p>\n<p> <span style=\"color: #000000;\">Voor dit voorbeeld kiezen we k = 10 vouwen en herhalen we het kruisvalidatieproces drie keer.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Merk ook op dat RidgeCV() standaard alleen alfawaarden 0,1, 1 en 10 test. We kunnen echter ons eigen alfabereik instellen van 0 tot 1 in stappen van 0,01:<\/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 = data[[\"mpg\", \"wt\", \"drat\", \"qsec\"]]\ny = data[\"hp\"]\n\n<span style=\"color: #008080;\">#define cross-validation method to evaluate model\n<\/span>cv = RepeatedKFold(n_splits= <span style=\"color: #008000;\">10<\/span> , n_repeats= <span style=\"color: #008000;\">3<\/span> , random_state= <span style=\"color: #008000;\">1<\/span> )\n\n<span style=\"color: #008080;\">#define model\n<\/span>model = RidgeCV(alphas= <span style=\"color: #3366ff;\">arange<\/span> (0, 1, 0.01), cv=cv, scoring=' <span style=\"color: #008000;\">neg_mean_absolute_error<\/span> ')\n\n<span style=\"color: #008080;\">#fit model\n<\/span>model. <span style=\"color: #3366ff;\">fit<\/span> (x,y)\n\n<span style=\"color: #008080;\">#display lambda that produced the lowest test MSE\n<\/span>print( <span style=\"color: #3366ff;\">model.alpha_<\/span> )\n\n0.99<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">De lambdawaarde die de MSE van de test minimaliseert blijkt <strong>0,99<\/strong> te zijn.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Stap 4: Gebruik het model om voorspellingen te doen<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Ten slotte kunnen we het Final Ridge Regressiemodel gebruiken om voorspellingen te doen over nieuwe waarnemingen. De volgende code laat bijvoorbeeld zien hoe u een nieuwe auto definieert met de volgende kenmerken:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg: 24<\/span><\/li>\n<li> <span style=\"color: #000000;\">gewicht: 2,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">prijs: 3,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">qsec: 18,5<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">De volgende code laat zien hoe u het gepaste nokregressiemodel kunt gebruiken om de <em>pk-<\/em> waarde van deze nieuwe waarneming te voorspellen:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define new observation\n<span style=\"color: #000000;\">new = [24, 2.5, 3.5, 18.5]\n<\/span>\n#predict hp value using ridge regression model\n<span style=\"color: #000000;\">model. <span style=\"color: #3366ff;\">predict<\/span> ([new])\n\narray([104.16398018])\n<\/span><\/span><\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Op basis van de ingevoerde waarden voorspelt het model dat deze auto een <em>pk-<\/em> waarde zal hebben van <strong>104,16398018<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Je kunt de volledige Python-code die in dit voorbeeld wordt gebruikt <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/ridge_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> vinden.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ridge-regressie is een methode die we kunnen gebruiken om een regressiemodel te fitten wanneer multicollineariteit in de gegevens aanwezig is. In een notendop probeert regressie met de kleinste kwadraten co\u00ebffici\u00ebntschattingen te vinden die de resterende som van de kwadraten (RSS) minimaliseren: RSS = \u03a3(y i \u2013 \u0177 i )2 Goud: \u03a3 : Een Grieks symbool [&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":[],"class_list":["post-1195","post","type-post","status-publish","format-standard","hentry","category-gids"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ridge-regressie in Python (stap voor stap) - Statorials<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.\" \/>\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\/nl\/crest-regressie-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ridge-regressie in Python (stap voor stap) - Statorials\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T08:14:05+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\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/\",\"url\":\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/\",\"name\":\"Ridge-regressie in Python (stap voor stap) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-27T08:14:05+00:00\",\"dateModified\":\"2023-07-27T08:14:05+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ridge-regressie in python (stap voor stap)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/nl\/#website\",\"url\":\"https:\/\/statorials.org\/nl\/\",\"name\":\"Statorials\",\"description\":\"Uw gids voor statistische competentie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\",\"name\":\"Dr.benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr.benjamin anderson\"},\"description\":\"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder\",\"sameAs\":[\"http:\/\/statorials.org\/nl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ridge-regressie in Python (stap voor stap) - Statorials","description":"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.","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\/nl\/crest-regressie-in-python\/","og_locale":"de_DE","og_type":"article","og_title":"Ridge-regressie in Python (stap voor stap) - Statorials","og_description":"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.","og_url":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T08:14:05+00:00","author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/","url":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/","name":"Ridge-regressie in Python (stap voor stap) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-27T08:14:05+00:00","dateModified":"2023-07-27T08:14:05+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt uitgelegd hoe u Ridge-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/crest-regressie-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/crest-regressie-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Ridge-regressie in python (stap voor stap)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/nl\/#website","url":"https:\/\/statorials.org\/nl\/","name":"Statorials","description":"Uw gids voor statistische competentie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219","name":"Dr.benjamin anderson","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr.benjamin anderson"},"description":"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder","sameAs":["http:\/\/statorials.org\/nl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/comments?post=1195"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1195\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}