{"id":134414,"date":"2021-12-16T16:32:36","date_gmt":"2021-12-16T15:32:36","guid":{"rendered":"https:\/\/multi.liora.io\/?p=134414"},"modified":"2026-02-26T13:57:05","modified_gmt":"2026-02-26T12:57:05","slug":"que-es-la-regresion-logistica","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/que-es-la-regresion-logistica","title":{"rendered":"\u00bfQu\u00e9 es la regresi\u00f3n log\u00edstica?"},"content":{"rendered":"\n<p><strong>Si te interesa, aunque sea m\u00ednimamente, el span Machine Learning y los problemas de clasificaci\u00f3n, ya has tenido que lidiar con el modelo de regresi\u00f3n log\u00edstica. \u00a1Y con raz\u00f3n! Se trata de uno de los modelos de <a href=\"https:\/\/liora.io\/es\/machine-learning-definicion-funcionamiento-usos\" target=\"_blank\" rel=\"noopener\">Machine Learning<\/a> m\u00e1s sencillos e interpretables que existen, toma datos a la vez continuos o discretos y los resultados obtenidos con \u00e9l son muy acertados.\u00a0<\/strong><\/p>\n\n\n\n<p>Pero, \u00bfqu\u00e9 hay detr\u00e1s de ese m\u00e9todo milagroso? Y sobre todo, \u00bfc\u00f3mo utilizarlo en Python? La respuesta est\u00e1 en este art\u00edculo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-definicion\">Definici\u00f3n<\/h2>\n\n\n\n<p>La regresi\u00f3n log\u00edstica es un <b>modelo estad\u00edstico<\/b> para estudiar las relaciones entre un conjunto de <b>variables cualitativas Xi<\/b> y una <b>variable cualitativa Y<\/b>. Se trata de un <b>modelo lineal<\/b> generalizado que utiliza una funci\u00f3n log\u00edstica como <b>funci\u00f3n de enlace<\/b>.<\/p>\n\n\n\n<p>Un modelo de regresi\u00f3n log\u00edstica tambi\u00e9n permite <b>predecir la probabilidad<\/b> de que ocurra un evento (valor de 1) o no (valor de 0) a partir de la <b>optimizaci\u00f3n de los coeficientes de regresi\u00f3n<\/b>. Este resultado siempre var\u00eda entre 0 y 1. Cuando el valor predicho supera un umbral, es probable que ocurra el evento, mientras que cuando ese valor est\u00e1 por debajo del mismo umbral, no es as\u00ed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-matematicamente-como-se-traduce-escribe\">Matem\u00e1ticamente, \u00bfc\u00f3mo se traduce\/escribe?<\/h2>\n\n\n\n<p>Consid\u00e9rons une entr\u00e9e &nbsp;X= x1 x2 x3 \u2026 &nbsp;xn , la r\u00e9gression logistique a pour objectif de trouver une fonction h telle que nous puissions calculer&nbsp;:<\/p>\n\n\n\n<p class=\"has-text-align-center\">y= {1 &nbsp; si &nbsp; hX\u2265 seuil , &nbsp;0 &nbsp; si &nbsp; hX&lt; seuil} &nbsp;<\/p>\n\n\n\n<p>Por tanto, entendemos que se espera que nuestra funci\u00f3n h sea \u200b\u200buna probabilidad entre 0 y 1, parametrada por = 1 2 3 n para optimizar, y que el umbral que definimos corresponda a nuestro criterio de clasificaci\u00f3n, por lo general se toma como igual a 0,5.<\/p>\n\n\n\n<p>La funci\u00f3n que mejor cumple estas condiciones es la funci\u00f3n <b>sigmoide<\/b>, definida en R con valores en [0,1]. Se escribe de la siguiente manera :<\/p>\n\n\n\n<figure class=\"wp-block-image 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\/7\/2020\/10\/capture-articl.png\" alt=\"\" style=\"width:auto;height:75px\" \/><\/figure>\n\n\n\n<p>Gr\u00e1ficamente, esto corresponde a <b>una curva en forma de S<\/b> cuyos l\u00edmites son 0 y 1 cuando x tiende respectivamente a &#8211; y + \u221e pasando por y = 0,5 en x = 0.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/image1.png\" alt=\"fonction sigmoid\" \/><figcaption class=\"wp-element-caption\">Funci\u00f3n sigmoide<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-y-nuestra-clasificacion-en-todo-esto\">\u00bfY nuestra clasificaci\u00f3n en todo esto?<\/h2>\n\n\n\n<p>La funci\u00f3n h que define la regresi\u00f3n log\u00edstica se escribe entonces :<\/p>\n\n\n\n<figure class=\"wp-block-image 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\/7\/2020\/10\/Capture-article-2.png\" alt=\"\" style=\"width:auto;height:250px\" \/><\/figure>\n\n\n\n<p>Todo el <b>problema de la clasificaci\u00f3n<\/b> por regresi\u00f3n log\u00edstica aparece entonces como un simple problema de optimizaci\u00f3n en el que, a partir de los datos, tratamos de <b>obtener el mejor conjunto de par\u00e1metros \u0398<\/b> lo que permite que nuestra curva sigmoide <b>se adhiera lo mejor posible a los datos<\/b>. Aqu\u00ed es donde entra el <b>Machine Learning<\/b>.<\/p>\n\n\n\n<p>Una vez realizado este paso, as\u00ed se ver\u00eda el resultado que se puede obtener :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" width=\"395\" height=\"297\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770.png\" alt=\"\" class=\"wp-image-13307\" style=\"width:auto;height:600px\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770.png 395w, https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770-300x226.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770-386x290.png 386w, https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770-210x158.png 210w, https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/unnamed-4-e1772110376770-85x64.png 85w\" sizes=\"(max-width: 395px) 100vw, 395px\" \/><\/figure>\n\n\n\n<p>Solo queda, una <b>vez definido<\/b> el umbral, clasificar los puntos seg\u00fan sus posiciones en relaci\u00f3n con la regresi\u00f3n y ya tenemos nuestra clasificaci\u00f3n hecha.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-regresion-logistica-en-la-practica\">La regresi\u00f3n log\u00edstica en la pr\u00e1ctica<\/h2>\n\n\n\n<p>En<a href=\"https:\/\/liora.io\/es\/python-o-r-que-elegir\"> Python<\/a> es bastante sencillo, usamos la <b>clase LogisticRegression<\/b> del <b>m\u00f3dulo sklearn.linear_model<\/b> como un clasificador normal y lo entrenamos con datos ya limpios y separados en conjuntos de entrenamiento y de prueba, y <b>listo<\/b>.<\/p>\n\n\n\n<p>En cuanto a c\u00f3digo, es bastante b\u00e1sico :&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>from sklearn.linear_model import LogisticRegression\nclf = LogisticRegression()\nclf.fit(X_train,y_train)\ny_pred = clf.predict(X_test)<\/code><\/pre>\n\n\n\n<p>Para aplicaciones m\u00e1s avanzadas, \u00bfpor qu\u00e9 no seguir el curso ofrecido por el equipo de Liora?<\/p>\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=\"\/es\/nuestros-cursos-de-data\">Descubrir nuestros cursos de Data<\/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\": \"Definici\u00f3n\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"La regresi\u00f3n log\u00edstica es un modelo estad\u00edstico para estudiar relaciones entre variables cualitativas Xi y una variable cualitativa Y. Es un modelo lineal generalizado que usa funci\u00f3n log\u00edstica como funci\u00f3n de enlace. Predice probabilidad de ocurrencia de evento (valor 1) o no (valor 0) optimizando coeficientes de regresi\u00f3n. Resultado var\u00eda entre 0 y 1; supera umbral (generalmente 0,5) indica evento probable.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Matem\u00e1ticamente, \u00bfc\u00f3mo se traduce\/escribe?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Para entrada X = [x1, x2, ..., xn], la regresi\u00f3n log\u00edstica busca funci\u00f3n h tal que y = 1 si h(X) \u2265 umbral, 0 si h(X) &lt; umbral. h debe ser probabilidad entre 0 y 1 parametrizada por \u0398 para optimizar. La funci\u00f3n sigmoide (curva en S con l\u00edmites 0 y 1) cumple estas condiciones, definida como h(X) = 1\/(1+e^(-\u0398^T X)).&quot;\n      }\n    },\n    {\n      &quot;@type&quot;: &quot;Question&quot;,\n      &quot;name&quot;: &quot;\u00bfY nuestra clasificaci\u00f3n en todo esto?&quot;,\n      &quot;acceptedAnswer&quot;: {\n        &quot;@type&quot;: &quot;Answer&quot;,\n        &quot;text&quot;: &quot;La clasificaci\u00f3n por regresi\u00f3n log\u00edstica es un problema de optimizaci\u00f3n para obtener el mejor conjunto de par\u00e1metros \u0398 que permita a la curva sigmoide adherirse mejor a los datos. Una vez optimizado, se define el umbral (ej. 0,5) y se clasifican los puntos seg\u00fan su posici\u00f3n respecto a la regresi\u00f3n.&quot;\n      }\n    },\n    {\n      &quot;@type&quot;: &quot;Question&quot;,\n      &quot;name&quot;: &quot;La regresi\u00f3n log\u00edstica en la pr\u00e1ctica&quot;,\n      &quot;acceptedAnswer&quot;: {\n        &quot;@type&quot;: &quot;Answer&quot;,\n        &quot;text&quot;: &quot;En Python se usa LogisticRegression de sklearn.linear_model como clasificador est\u00e1ndar. C\u00f3digo b\u00e1sico: from sklearn.linear_model import LogisticRegression; clf = LogisticRegression(); clf.fit(X_train, y_train); y_pred = clf.predict(X_test).&quot;\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Si te interesa, aunque sea m\u00ednimamente, el span Machine Learning y los problemas de clasificaci\u00f3n, ya has tenido que lidiar con el modelo de regresi\u00f3n log\u00edstica. \u00a1Y con raz\u00f3n! Se trata de uno de los modelos de Machine Learning m\u00e1s sencillos e interpretables que existen, toma datos a la vez continuos o discretos y los [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":184494,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-134414","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/134414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=134414"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/134414\/revisions"}],"predecessor-version":[{"id":184498,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/134414\/revisions\/184498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/184494"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=134414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=134414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}