{"id":1194,"date":"2023-07-27T08:14:05","date_gmt":"2023-07-27T08:14:05","guid":{"rendered":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/"},"modified":"2023-07-27T08:14:05","modified_gmt":"2023-07-27T08:14:05","slug":"regressao-de-crista-em-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/","title":{"rendered":"Regress\u00e3o ridge em python (passo a passo)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/pt\/regressao-do-cume\/\" target=\"_blank\" rel=\"noopener noreferrer\">A regress\u00e3o Ridge<\/a> \u00e9 um m\u00e9todo que podemos usar para ajustar um modelo de regress\u00e3o quando <a href=\"https:\/\/statorials.org\/pt\/regressao-multicolinearidade\/\" target=\"_blank\" rel=\"noopener noreferrer\">a multicolinearidade<\/a> est\u00e1 presente nos dados.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Resumindo, a regress\u00e3o de m\u00ednimos quadrados tenta encontrar estimativas de coeficientes que minimizem a soma residual dos quadrados (RSS):<\/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;\">Ouro:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u03a3<\/strong> : Um s\u00edmbolo grego que significa <em>soma<\/em><\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>y <sub>i<\/sub><\/strong> : o valor real da resposta para a <sup>i-\u00e9sima<\/sup> observa\u00e7\u00e3o<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>\u0177 <sub>i<\/sub><\/strong> : O valor da resposta prevista com base no modelo de regress\u00e3o linear m\u00faltipla<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Por outro lado, a regress\u00e3o de crista procura minimizar o seguinte:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS + <sub>\u03bb\u03a3\u03b2j<\/sub> <sup>2<\/sup><\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">onde <em>j<\/em> vai de 1 a <em>p<\/em> vari\u00e1veis preditoras e \u03bb \u2265 0.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Este segundo termo da equa\u00e7\u00e3o \u00e9 conhecido como <em>penalidade de retirada<\/em> . Na regress\u00e3o de crista, selecionamos um valor para \u03bb que produz o teste MSE mais baixo poss\u00edvel (erro quadr\u00e1tico m\u00e9dio).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Este tutorial fornece um exemplo passo a passo de como realizar a regress\u00e3o de crista em Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passo 1: Importe os pacotes necess\u00e1rios<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Primeiro, importaremos os pacotes necess\u00e1rios para realizar a regress\u00e3o de crista em Python:<\/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>Etapa 2: carregar dados<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Neste exemplo, usaremos um conjunto de dados chamado <strong>mtcars<\/strong> , que cont\u00e9m informa\u00e7\u00f5es sobre 33 carros diferentes. Usaremos <strong>hp<\/strong> como vari\u00e1vel de resposta e as seguintes vari\u00e1veis como preditores:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg<\/span><\/li>\n<li> <span style=\"color: #000000;\">peso<\/span><\/li>\n<li> <span style=\"color: #000000;\">merda<\/span><\/li>\n<li> <span style=\"color: #000000;\">qsec<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">O c\u00f3digo a seguir mostra como carregar e exibir esse conjunto de dados:<\/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>Etapa 3: Ajustar o modelo de regress\u00e3o Ridge<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">A seguir, usaremos a fun\u00e7\u00e3o <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.linear_model.RidgeCV.html\" target=\"_blank\" rel=\"noopener noreferrer\">RidgeCV()<\/a> do sklearn para ajustar o modelo de regress\u00e3o de crista e usaremos a fun\u00e7\u00e3o <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.model_selection.RepeatedKFold.html\" target=\"_blank\" rel=\"noopener noreferrer\">RepeatedKFold()<\/a> para realizar a valida\u00e7\u00e3o cruzada k-fold para encontrar o valor alfa ideal a ser usado para o termo de penalidade.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em><strong>Nota:<\/strong> O termo \u201calpha\u201d \u00e9 usado em vez de \u201clambda\u201d em Python.<\/em><\/span><\/p>\n<p> <span style=\"color: #000000;\">Para este exemplo, escolheremos k = 10 dobras e repetiremos o processo de valida\u00e7\u00e3o cruzada 3 vezes.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Observe tamb\u00e9m que RidgeCV() testa apenas os valores alfa 0,1, 1 e 10 por padr\u00e3o. No entanto, podemos definir nosso pr\u00f3prio intervalo alfa de 0 a 1 em incrementos de 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;\">O valor lambda que minimiza o MSE do teste \u00e9 <strong>0,99<\/strong> .<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Etapa 4: use o modelo para fazer previs\u00f5es<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Finalmente, podemos usar o modelo final de regress\u00e3o de crista para fazer previs\u00f5es sobre novas observa\u00e7\u00f5es. Por exemplo, o c\u00f3digo a seguir mostra como definir um carro novo com os seguintes atributos:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg: 24<\/span><\/li>\n<li> <span style=\"color: #000000;\">peso: 2,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">pre\u00e7o: 3,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">qseg: 18,5<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">O c\u00f3digo a seguir mostra como usar o modelo de regress\u00e3o de crista ajustado para prever o valor <em>hp<\/em> desta nova observa\u00e7\u00e3o:<\/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;\">Com base nos valores inseridos, o modelo prev\u00ea que este carro ter\u00e1 um valor de <em>cv<\/em> de <strong>104,16398018<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Voc\u00ea pode encontrar o c\u00f3digo Python completo usado neste exemplo <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/ridge_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">aqui<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A regress\u00e3o Ridge \u00e9 um m\u00e9todo que podemos usar para ajustar um modelo de regress\u00e3o quando a multicolinearidade est\u00e1 presente nos dados. Resumindo, a regress\u00e3o de m\u00ednimos quadrados tenta encontrar estimativas de coeficientes que minimizem a soma residual dos quadrados (RSS): RSS = \u03a3(y i \u2013 \u0177 i )2 Ouro: \u03a3 : Um s\u00edmbolo grego [&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-1194","post","type-post","status-publish","format-standard","hentry","category-guia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Regress\u00e3o Ridge em Python (passo a passo) - Estatologia<\/title>\n<meta name=\"description\" content=\"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.\" \/>\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\/pt\/regressao-de-crista-em-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regress\u00e3o Ridge em Python (passo a passo) - Estatologia\" \/>\n<meta property=\"og:description\" content=\"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-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. benjamim anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. benjamim anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/\",\"url\":\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/\",\"name\":\"Regress\u00e3o Ridge em Python (passo a passo) - Estatologia\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pt\/#website\"},\"datePublished\":\"2023-07-27T08:14:05+00:00\",\"dateModified\":\"2023-07-27T08:14:05+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\"},\"description\":\"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Lar\",\"item\":\"https:\/\/statorials.org\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regress\u00e3o ridge em python (passo a passo)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/pt\/#website\",\"url\":\"https:\/\/statorials.org\/pt\/\",\"name\":\"Statorials\",\"description\":\"O seu guia para a literacia estat\u00edstica!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/pt\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\",\"name\":\"Dr. benjamim anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. benjamim anderson\"},\"description\":\"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais\",\"sameAs\":[\"https:\/\/statorials.org\/pt\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Regress\u00e3o Ridge em Python (passo a passo) - Estatologia","description":"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.","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\/pt\/regressao-de-crista-em-python\/","og_locale":"pt_PT","og_type":"article","og_title":"Regress\u00e3o Ridge em Python (passo a passo) - Estatologia","og_description":"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.","og_url":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T08:14:05+00:00","author":"Dr. benjamim anderson","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Dr. benjamim anderson","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/","url":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/","name":"Regress\u00e3o Ridge em Python (passo a passo) - Estatologia","isPartOf":{"@id":"https:\/\/statorials.org\/pt\/#website"},"datePublished":"2023-07-27T08:14:05+00:00","dateModified":"2023-07-27T08:14:05+00:00","author":{"@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666"},"description":"Este tutorial explica como realizar a regress\u00e3o de crista em Python, incluindo um exemplo passo a passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pt\/regressao-de-crista-em-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Lar","item":"https:\/\/statorials.org\/pt\/"},{"@type":"ListItem","position":2,"name":"Regress\u00e3o ridge em python (passo a passo)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/pt\/#website","url":"https:\/\/statorials.org\/pt\/","name":"Statorials","description":"O seu guia para a literacia estat\u00edstica!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/pt\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666","name":"Dr. benjamim anderson","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr. benjamim anderson"},"description":"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais","sameAs":["https:\/\/statorials.org\/pt"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/comments?post=1194"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/1194\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/media?parent=1194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/categories?post=1194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/tags?post=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}