{"id":479,"date":"2018-10-13T22:08:05","date_gmt":"2018-10-14T04:08:05","guid":{"rendered":"http:\/\/www.jacobsoft.com.mx\/?p=479"},"modified":"2025-02-20T13:37:50","modified_gmt":"2025-02-20T19:37:50","slug":"regresion-logistica","status":"publish","type":"post","link":"https:\/\/www.jacobsoft.com.mx\/es_mx\/regresion-logistica\/","title":{"rendered":"Regresi\u00f3n Log\u00edstica"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Regresi\u00f3n Log\u00edstica <\/h3>\n\n\n\n<p>La regresi\u00f3n log\u00edstica es un m\u00e9todo de clasificaci\u00f3n, que a diferencia de la regresi\u00f3n simple, donde se predice un n\u00famero continuo, la regresi\u00f3n log\u00edstica se utiliza para predecir una categor\u00eda.<\/p>\n\n\n\n<p>La clasificaci\u00f3n tiene una amplia gama de aplicaciones que van desde el diagn\u00f3stico m\u00e9dico hasta incluso el marketing. Entre los modelos de clasificaci\u00f3n podemos hablar de modelos lineales y no lineales<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Modelos de clasificaci\u00f3n lineal<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Regresi\u00f3n log\u00edstica<\/li><li>SVM (Support Vector Machine)<\/li><li>Naive Bayes<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Modelos de clasificaci\u00f3n no lineal<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00c1rboles de decisi\u00f3n<\/li><li>K-NN (K-Nearest Neighbors)<\/li><li>Kernel SVM<\/li><li>Random Forest<\/li><\/ul>\n\n\n\n<p>Cuando una variable objetivo toma s\u00f3lo dos valores Si o No, &#8216;0&#8217; o &#8216;1&#8217;, entonces el problema de clasificaci\u00f3n se conoce como un problema de clasificaci\u00f3n binaria y la forma efectiva de tratar con este tipo de problemas es utilizando la <strong>regresi\u00f3n log\u00edstica<\/strong>.<\/p>\n\n\n\n<p>Normalmente la funci\u00f3n de regresi\u00f3n lineal toma valores de una linea recta, siendo esta funci\u00f3n del tipo: <strong>f(x) = b<sub>0<\/sub> + b<sub>1<\/sub>x&nbsp;<\/strong> &nbsp;y para la regresi\u00f3n m\u00faltiple <strong>f(x) = b<sub>0<\/sub> + b<sub>1<\/sub>x<sub>1<\/sub> + &#8230; + b<sub>n<\/sub>x<sub>n<\/sub><\/strong><\/p>\n\n\n\n<p>Para el problema de clasificaci\u00f3n &#8216;0&#8217;, &#8216;1&#8217; podemos insertar&nbsp; &nbsp;<strong>z = m<sup>T<\/sup>x<\/strong> en la funci\u00f3n log\u00edstica la cual se conoce como la funci\u00f3n <strong>sigmoid<\/strong> expresada de la siguiente forma:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"133\" height=\"63\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/sigmoid.png\" alt=\"\" class=\"wp-image-507\"\/><\/figure><\/div>\n\n\n\n<p>La funci\u00f3n mapea un n\u00famero real al intervalo [0,1] y es utilizada para transformar cualquier funci\u00f3n de valor arbitrario en una funci\u00f3n que se ajusta mejor a la clasificaci\u00f3n.<\/p>\n\n\n\n<p>la funci\u00f3n f(x) representa la probabilidad P(y=1 | x;m) por lo que la regresi\u00f3n log\u00edstica es un tipo de clasificaci\u00f3n probabil\u00edstica utilizada para representar una respuesta binaria de un predictor binario.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"858\" height=\"450\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica-sigmoi.png\" alt=\"\" class=\"wp-image-508\" srcset=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica-sigmoi.png 858w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica-sigmoi-300x157.png 300w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica-sigmoi-768x403.png 768w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica-sigmoi-800x420.png 800w\" sizes=\"auto, (max-width: 858px) 100vw, 858px\" \/><\/figure><\/div>\n\n\n\n<p>Sobre la curva de la funci\u00f3n sigmoid tendremos el valor de la probabilidad para Y, sin embargo para la clasificaci\u00f3n binaria, lo que se requiere es una frontera de decisi\u00f3n, que es una curva que separa el \u00e1rea donde y=0 del \u00e1rea donde y=1 para obtener la clasificaci\u00f3n 0 o 1, por lo que la salida de transforma con:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"187\" height=\"63\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/decision-boundary.png\" alt=\"\" class=\"wp-image-509\"\/><\/figure><\/div>\n\n\n\n<p>Si el valor estimado es menor a 0.5 la salida ser\u00e1 0 y si el valor estimado es mayor o igual a 0.5 entonces la salida de la funci\u00f3n sigmoid ser\u00e1 1.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Regresion Logistica y Arboles de Decision ejemplo con Python\" width=\"780\" height=\"439\" src=\"https:\/\/www.youtube.com\/embed\/AahwyCvQx00?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Logistic Regression with Python<\/h2>\n\n\n\n<p>Para este ejemplo de la regresi\u00f3n log\u00edstica con python utilizaremos un archivo de datos que contiene informaci\u00f3n de clientes que compran o no ciertos productos en l\u00ednea, para ello contamos con informaci\u00f3n sobre el g\u00e9nero, la edad y el salario estimado, clasificando a los clientes con 0 y 1 si no compr\u00f3 o si compr\u00f3 respectivamente.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"537\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/Compras_en_linea.png\" alt=\"\" class=\"wp-image-510\" srcset=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/Compras_en_linea.png 698w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/Compras_en_linea-300x231.png 300w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Cargamos la librer\u00edas y el conjunto de datos desde el archivo con:<\/p>\n\n\n\n\n<pre><span class=\"coments\"># Regresion Logistica<\/span>\n\n<span class=\"coments\"># Importacion de librerias<\/span>\n<span class=\"keyword\">import<\/span> numpy <span class=\"keyword\">as<\/span> np\n<span class=\"keyword\">import<\/span> matplotlib.pyplot <span class=\"keyword\">as<\/span> plt\n<span class=\"keyword\">import<\/span> pandas <span class=\"keyword\">as<\/span> pd\n\n<span class=\"coments\"># Importacion del dataset<\/span>\ndataset = pd.read_csv('<span class=\"texto\">Compras_en_Linea.csv<\/span>')\nX = dataset.iloc[:, [<span class=\"keyword\">2<\/span>, <span class=\"keyword\">3<\/span>]].values\ny = dataset.iloc[:, <span class=\"keyword\">4<\/span>].values\n<\/pre>\n\n\n\n<p>Para la variable independiente x, utilizamos la edad y el salario, columnas 2 y 3, la variable dependiente Y es la columna 4 con la informaci\u00f3n de si compr\u00f3 o no.<\/p>\n\n\n\n<p>Utilizamos el 25% de los datos que contiene el archivo para pruebas y el 75% para el conjunto de entrenamiento. El archivo completo contiene 400 registros de clientes, por lo que se utilizar\u00e1n 300 para el entrenamiento y 100 para las pruebas.<\/p>\n\n\n\n\n<pre><span class=\"coments\"># Division del conjunto de datos en datos de entrenamiento\n# y datos de prueba<\/span>\n<span class=\"keyword\">from<\/span> sklearn.cross_validation <span class=\"keyword\">import<\/span> train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, \n                                                    y, \n                                                    test_size = <span class=\"keyword\">0.25<\/span>, \n                                                    random_state = <span class=\"keyword\">0<\/span>)\n<\/pre>\n\n\n\n<p>Ahora, dado que el valor de la edad y el salario se encuentran en distintas escalas, realizamos un ajuste de escalas con la clase StandarScaler<\/p>\n\n\n\n\n<pre><span class=\"coments\"># Ajuste de escalas<\/span>\n<span class=\"keyword\">from<\/span> sklearn.preprocessing <span class=\"keyword\">import<\/span> StandardScaler\nsc = StandardScaler()\nX_train = sc.fit_transform(X_train)\nX_test = sc.transform(X_test)\n<\/pre>\n\n\n\n<p>Ahora creamos el modelo con la clase <strong>LogisticRegression<\/strong> de la librer\u00eda <strong>sklearn<\/strong> y lo entrenamos con los datos del conjunto de entrenamiento <em><strong>X_train<\/strong><\/em>.<\/p>\n\n\n\n\n<pre><span class=\"coments\">\n# Ajuste de la regresion logistica al conjunto de entrenamiento<\/span>\n<span class=\"keyword\">from<\/span> sklearn.linear_model <span class=\"keyword\">import<\/span> LogisticRegression\nclassifier = LogisticRegression(random_state = <span class=\"keyword\">0<\/span>)\nclassifier.fit(X_train, y_train)\n<\/pre>\n\n\n\n<p>Una vez entrenado el modelo podemos realizar la predicci\u00f3n de los datos contenidos en el conjunto de pruebas <em><strong>X_test<\/strong><\/em><\/p>\n\n\n\n\n<pre><span class=\"coments\"># Prediccion de conjunto de pruebas<\/span>\ny_pred = classifier.predict(X_test)\n<\/pre>\n\n\n\n<p><em><strong>y_pred<\/strong><\/em> contiene los datos calculados o predecidos por el modelo de regresi\u00f3n log\u00edstica, por lo que podemos comprar <em><strong>y_test<\/strong><\/em> con <em><strong>y_pred<\/strong><\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"427\" height=\"531\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/resultados_logistica.png\" alt=\"\" class=\"wp-image-512\" srcset=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/resultados_logistica.png 427w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/resultados_logistica-241x300.png 241w\" sizes=\"auto, (max-width: 427px) 100vw, 427px\" \/><\/figure><\/div>\n\n\n\n<p>Observamos que en el rengl\u00f3n 9 hubo un error en la predicci\u00f3n, por loq ue podemos genera la matriz de confusi\u00f3n para analizar tanto los falsos positivos, como los falsos negativos.<\/p>\n\n\n\n\n<pre><span class=\"coments\"># Matriz de Confusion<\/span>\nfrom sklearn.metrics import confusion_matrix\ncm = confusion_matrix(y_test, y_pred)\n<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"416\" height=\"338\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/matriz_confusion_logistica.png\" alt=\"\" class=\"wp-image-513\" srcset=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/matriz_confusion_logistica.png 416w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/matriz_confusion_logistica-300x244.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/figure><\/div>\n\n\n\n<p>Observamos que de los 100 registros que contiene el conjunto de prueba, 8 registros que deber\u00edan de ser 1 fueron clasificados como 0 y 3 registros que deber\u00edan de ser 0 fueron clasificados como 1. Los resultados son aceptables, sin embargo para conseguir mejores resultados en la clasificaci\u00f3n requerimos de m\u00e1s datos para entrenar el modelo.<\/p>\n\n\n\n<p>La clasificaci\u00f3n de los clientes que pertenecen al conjunto de pruebas se lleva a cabo para determinar si el cliente compra o no compra. Este conjunto contiene registros desconocidos para el modelo dado que no pertenecen al conjunto de entrenamiento y fueron separados con la funci\u00f3n <em><strong>train_test_split<\/strong><\/em> de forma aleatoria.<\/p>\n\n\n\n<p>Para tener una visi\u00f3n m\u00e1s clara de los resultados podemos graficar los datos tanto del conjunto de prueba como del conjunto de entrenamiento. En nuestro caso s\u00f3lo lo haremos para el conjunto de entrenamiento de la siguiente manera:<\/p>\n\n\n\n\n<pre><span class=\"coments\"># Visualizacion de los resultados de Prueba<\/span>\n<span class=\"keyword\">from<\/span> matplotlib.colors <span class=\"keyword\">import<\/span> ListedColormap\nX_set, y_set = X_test, y_test\nX1, X2 = np.meshgrid(np.arange(start = X_set[:, <span class=\"keyword\">0<\/span>].min() - <span class=\"keyword\">1<\/span>, stop = X_set[:, <span class=\"keyword\">0<\/span>].max() + <span class=\"keyword\">1<\/span>, step = <span class=\"keyword\">0.01<\/span>),\n                     np.arange(start = X_set[:, <span class=\"keyword\">1<\/span>].min() - <span class=\"keyword\">1<\/span>, stop = X_set[:, <span class=\"keyword\">1<\/span>].max() + <span class=\"keyword\">1<\/span>, step = <span class=\"keyword\">0.01<\/span>))\nplt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),\n             alpha = <span class=\"keyword\">0.75<\/span>, cmap = ListedColormap(('red', 'green')))\nplt.xlim(X1.min(), X1.max())\nplt.ylim(X2.min(), X2.max())\n<span class=\"keyword\">for<\/span> i, j <span class=\"keyword\">in<\/span> enumerate(np.unique(y_set)):\n    plt.scatter(X_set[y_set == j, <span class=\"keyword\">0<\/span>], X_set[y_set == j, <span class=\"keyword\">1<\/span>],\n                c = ListedColormap(('<span class=\"texto\">red<\/span>', '<span class=\"texto\">green<\/span>'))(i), label = j)\nplt.title('<span class=\"texto\">Regresion Logistica (Conjunto de Prueba)<\/span>')\nplt.xlabel('<span class=\"texto\">Edad<\/span>')\nplt.ylabel('<span class=\"texto\">Salario Estimado<\/span>')\nplt.legend()\nplt.show()\n<\/pre>\n\n\n\n<p>La gr\u00e1fica que obtenemos es la siguiente:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"584\" src=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica_regresion_logistica.png\" alt=\"\" class=\"wp-image-516\" srcset=\"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica_regresion_logistica.png 656w, https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/grafica_regresion_logistica-300x267.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/figure><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>En la gr\u00e1fica podemos observar las dos regiones, roja para los clientes que no compran con el valor de y=0 y verde para los clientes que si compran con el valor de y=1, en ella podemos observar tambi\u00e9n los 8 puntos verdes sobre la zona roja y los 3 puntos rojos sobre la zona verde.<\/p>\n\n\n\n<p>Dado que de 100 registros del conjunto de prueba 11 fueron clasificados err\u00f3neamente, podemos concluir que para este caso, la precisi\u00f3n del&nbsp; modelo es del 89%<\/p>\n\n\n\n\n<pre><span class=\"coments\">#la precisi\u00f3n del modelo la obtenemos con el score<\/span>\nscore_test =classifier.score(X_test, y_test)\n<\/pre>\n\n\n\n<p>El valor de la variable score_test es 0.89000 lo que significa el 89% de precisi\u00f3n en la clasificaci\u00f3n y\/o predicci\u00f3n.<\/p>\n<style class=\"advgb-styles-renderer\">\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n\n\t.coments{color:gray;}\n\t.keyword{color:blue;}\n\t.texto{color:green;}\n<\/style>","protected":false},"excerpt":{"rendered":"<p>Regresi\u00f3n Log\u00edstica La regresi\u00f3n log\u00edstica es un m\u00e9todo de clasificaci\u00f3n, que a diferencia de la &hellip; <\/p>\n","protected":false},"author":2,"featured_media":481,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[25,35,46],"tags":[66,57,55,56,82,50,51,84],"class_list":["post-479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algoritmos","category-inteligencia-artificial","category-machine-learning","tag-analisis-de-datos","tag-ciencia-de-datos","tag-clasificacion","tag-data-science","tag-inteligencia-artificial","tag-machine-learning","tag-regresion","tag-regresion-logistica"],"aioseo_notices":[],"author_meta":{"display_name":"Jacob Avila Camacho","author_link":"https:\/\/www.jacobsoft.com.mx\/es_mx\/author\/jacob-avila\/"},"featured_img":"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/destacada_regresion_logistica-300x165.png","featured_image_src":"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/destacada_regresion_logistica.png","featured_image_src_square":"https:\/\/www.jacobsoft.com.mx\/wp-content\/uploads\/2018\/10\/destacada_regresion_logistica.png","author_info":{"display_name":"Jacob Avila Camacho","author_link":"https:\/\/www.jacobsoft.com.mx\/es_mx\/author\/jacob-avila\/"},"coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/algoritmos\/\" class=\"advgb-post-tax-term\">Algoritmos<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/\" class=\"advgb-post-tax-term\">Inteligencia Artificial<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">Machine Learning<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Algoritmos<\/span>","<span class=\"advgb-post-tax-term\">Inteligencia Artificial<\/span>","<span class=\"advgb-post-tax-term\">Machine Learning<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">an\u00e1lisis de datos<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">Ciencia de Datos<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">clasificaci\u00f3n<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">Data Science<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">Inteligencia Artificial<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">machine learning<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">regresi\u00f3n<\/a>","<a href=\"https:\/\/www.jacobsoft.com.mx\/es_mx\/category\/inteligencia-artificial\/machine-learning\/\" class=\"advgb-post-tax-term\">regresi\u00f3n log\u00edstica<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">an\u00e1lisis de datos<\/span>","<span class=\"advgb-post-tax-term\">Ciencia de Datos<\/span>","<span class=\"advgb-post-tax-term\">clasificaci\u00f3n<\/span>","<span class=\"advgb-post-tax-term\">Data Science<\/span>","<span class=\"advgb-post-tax-term\">Inteligencia Artificial<\/span>","<span class=\"advgb-post-tax-term\">machine learning<\/span>","<span class=\"advgb-post-tax-term\">regresi\u00f3n<\/span>","<span class=\"advgb-post-tax-term\">regresi\u00f3n log\u00edstica<\/span>"]}},"comment_count":"4","relative_dates":{"created":"Publicado 8 a\u00f1os hace","modified":"Actualizado 1 a\u00f1o hace"},"absolute_dates":{"created":"Publicado el octubre 13, 2018","modified":"Actualizado el febrero 20, 2025"},"absolute_dates_time":{"created":"Publicado el octubre 13, 2018 10:08 pm","modified":"Actualizado el febrero 20, 2025 1:37 pm"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/posts\/479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":9,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/posts\/479\/revisions"}],"predecessor-version":[{"id":1447,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/posts\/479\/revisions\/1447"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/media\/481"}],"wp:attachment":[{"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/media?parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/categories?post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jacobsoft.com.mx\/es_mx\/wp-json\/wp\/v2\/tags?post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}