{"id":1200,"date":"2023-07-27T07:49:23","date_gmt":"2023-07-27T07:49:23","guid":{"rendered":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/"},"modified":"2023-07-27T07:49:23","modified_gmt":"2023-07-27T07:49:23","slug":"lasso-regressie-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/","title":{"rendered":"Lasso-regressie in python (stap voor stap)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/nl\/lasso-regressie\/\" target=\"_blank\" rel=\"noopener noreferrer\">Lasso-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 lasso-regressie het volgende te minimaliseren:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS + \u03bb\u03a3|\u03b2 <sub>j<\/sub> |<\/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 lasso-regressie selecteren we een waarde voor \u03bb die de laagst mogelijke MSE-test (mean square error) oplevert.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Deze tutorial biedt een stapsgewijs voorbeeld van hoe u lasso-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 lasso-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> LassoCV\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 Lasso-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\">LassoCV()<\/a> van sklearn gebruiken om het lasso-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 moet 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;\">Houd er ook rekening mee dat LassoCV() 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 = LassoCV(alphas= <span style=\"color: #3366ff;\">arange<\/span> (0, 1, 0.01), cv=cv, n_jobs=<\/strong><\/span> <span style=\"color: #008000;\"><strong>-1<\/strong><\/span> <span style=\"color: #000000;\"><strong>)\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 laatste lasso-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 lasso-regressiemodel 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 lasso regression model\n<span style=\"color: #000000;\">model. <span style=\"color: #3366ff;\">predict<\/span> ([new])\n<\/span>\n<span style=\"color: #000000;\">array([105.63442071])\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>105,63442071<\/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\/lasso_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> vinden.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lasso-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-1200","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>Lasso-regressie in Python (stap voor stap) - Statorials<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt uitgelegd hoe u een lasso-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\/lasso-regressie-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lasso-regressie in Python (stap voor stap) - Statorials\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt uitgelegd hoe u een lasso-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T07:49:23+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\/lasso-regressie-in-python\/\",\"url\":\"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/\",\"name\":\"Lasso-regressie in Python (stap voor stap) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-27T07:49:23+00:00\",\"dateModified\":\"2023-07-27T07:49:23+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt uitgelegd hoe u een lasso-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lasso-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":"Lasso-regressie in Python (stap voor stap) - Statorials","description":"In deze tutorial wordt uitgelegd hoe u een lasso-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\/lasso-regressie-in-python\/","og_locale":"de_DE","og_type":"article","og_title":"Lasso-regressie in Python (stap voor stap) - Statorials","og_description":"In deze tutorial wordt uitgelegd hoe u een lasso-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.","og_url":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T07:49:23+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\/lasso-regressie-in-python\/","url":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/","name":"Lasso-regressie in Python (stap voor stap) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-27T07:49:23+00:00","dateModified":"2023-07-27T07:49:23+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt uitgelegd hoe u een lasso-regressie in Python uitvoert, inclusief een stapsgewijs voorbeeld.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/lasso-regressie-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Lasso-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\/1200","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=1200"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1200\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=1200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=1200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}