{"id":2410,"date":"2021-09-04T19:14:12","date_gmt":"2021-09-05T00:14:12","guid":{"rendered":"https:\/\/naps.com.mx\/blog\/?p=2410"},"modified":"2021-09-04T19:14:12","modified_gmt":"2021-09-05T00:14:12","slug":"introduccion-al-machine-learning-en-python","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/introduccion-al-machine-learning-en-python\/","title":{"rendered":"Introducci\u00f3n al machine learning en Python"},"content":{"rendered":"<p>En este art\u00edculo veremos una introducci\u00f3n al machine learning en Python, cu\u00e1les son las librer\u00edas que se necesitan, los principales algoritmos, as\u00ed como la diferencia entre el machine learning y la programaci\u00f3n tradicional.<\/p>\n<p><!--more--><\/p>\n<p>El <strong>machine learning<\/strong> o aprendizaje autom\u00e1tico, es una t\u00e9cnica o una rama de la inteligencia artificial, que permite que los sistemas aprendan. Esto se consigue porque pueden analizar los datos para buscar patrones, y as\u00ed realizar predicciones.<\/p>\n<p>Como ejemplo de aplicaci\u00f3n, las instituciones bancarias lo utilizan actualmente para prevenir fraudes en tarjetas de cr\u00e9dito, logrando incluso suspender una compra cuando detecta que proviene de un usuario no autorizado. (Vea tambi\u00e9n:\u00a0<a href=\"https:\/\/naps.com.mx\/blog\/introduccion-a-la-inteligencia-artificial\/\">Introducci\u00f3n a la inteligencia artificial<\/a>)<\/p>\n<h2>Machine Learning vs Programaci\u00f3n Tradicional<\/h2>\n<p>En la <strong>programaci\u00f3n tradicional<\/strong> se escriben todas las <em>reglas<\/em> que el programa necesita para proporcionar un <em>resultado<\/em>. Luego, al programa se le proporcionan <em>datos<\/em> de entrada que ser\u00e1n procesados con base en las reglas y de esa forma se obtienen los resultados esperados.<\/p>\n<p>Por el contrario, en <strong>Machine Learning<\/strong> el sistema es entrenado en vez de ser programado expl\u00edcitamente. Para esto, se necesitan los <em>datos<\/em> de entrada y los <em>resultados<\/em> esperados. Al final obtenemos un conjunto de <em>reglas<\/em>, tambi\u00e9n llamado <strong>modelo<\/strong>.<\/p>\n<div id=\"attachment_2412\" style=\"width: 1520px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2412\" class=\"size-full wp-image-2412\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML.png\" alt=\"\" width=\"1510\" height=\"862\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML.png 1510w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML-300x171.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML-768x438.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Tradicional-vs-ML-1024x585.png 1024w\" sizes=\"auto, (max-width: 1510px) 100vw, 1510px\" \/><\/a><p id=\"caption-attachment-2412\" class=\"wp-caption-text\">Machine Learning vs Programaci\u00f3n Tradicional<\/p><\/div>\n<h2>Machine Learning en Python: Bibliotecas esenciales<\/h2>\n<p>Para hacer Machine Learning en Python usaremos las siguientes bibliotecas:<\/p>\n<p><strong>Pandas<\/strong>. Para obtener y manipular los conjuntos de datos<\/p>\n<p><strong>NumPy<\/strong>. Para trabajar los datos en forma de matrices y as\u00ed mejorar el rendimiento del modelo.<\/p>\n<p><strong>Matplotlib \/ Seaborn<\/strong>. Para crear gr\u00e1ficos que nos permitir\u00e1n observar las relaciones entre los datos<\/p>\n<p><strong>Scikit Learn<\/strong>. Es la biblioteca principal de Machine Learning en Python. Contiene diferentes algoritmos que pueden ser utilizados para entrenar nuestros modelos.<\/p>\n<p><strong>Pickle<\/strong>. Nos permite almacenar los modelos en archivos y de esa forma poderlos utilizar posteriormente.<\/p>\n<p><strong>Scipy<\/strong>. Contiene m\u00f3dulos para tareas de ciencia e ingenier\u00eda.<\/p>\n<div id=\"attachment_2413\" style=\"width: 1862px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2413\" class=\"size-full wp-image-2413\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias.png\" alt=\"Machine Learning en Python Bibliotecas necesarias\" width=\"1852\" height=\"1052\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias.png 1852w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias-300x170.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias-768x436.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Bibliotecas-necesarias-1024x582.png 1024w\" sizes=\"auto, (max-width: 1852px) 100vw, 1852px\" \/><\/a><p id=\"caption-attachment-2413\" class=\"wp-caption-text\">Machine Learning en Python Bibliotecas necesarias<\/p><\/div>\n<h2>Machine Learning en Python: Principales algoritmos<\/h2>\n<p>Scikit Learn nos ofrece una amplia variedad de algoritmos para producir nuestros modelos. Entre ellos est\u00e1n los siguientes.<\/p>\n<h3>Para aprendizaje supervisado<\/h3>\n<p>En aprendizaje supervisado disponemos de los datos etiquetados, es decir, los datos incluyen correctamente el atributo objetivo.<\/p>\n<p><strong>Cuando el atributo objetivo es un valor continuo:<\/strong><\/p>\n<ul>\n<li>Regresi\u00f3n Lineal<\/li>\n<li>\u00c1rboles de decisi\u00f3n<\/li>\n<li>Random Forest<\/li>\n<\/ul>\n<p><strong>Cuando el atributo es una categor\u00eda:<\/strong><\/p>\n<ul>\n<li>KNN<\/li>\n<li>Regresi\u00f3n log\u00edstica<\/li>\n<li>Naive-Bayes<\/li>\n<li>SVM<\/li>\n<li>\u00c1rboles de decisi\u00f3n<\/li>\n<\/ul>\n<h3>Para aprendizaje no supervisado<\/h3>\n<p>En aprendizaje no supervisado no disponemos de los datos ya etiquetados. Por as\u00ed decirlo, no le decimos la respuesta correcta en el momento del entrenamiento, sino que el algoritmo aprende de los mismos datos.<\/p>\n<p><strong>Cuando el atributo objetivo es un valor continuo:<\/strong><\/p>\n<ul>\n<li>SVD<\/li>\n<li>PCA<\/li>\n<\/ul>\n<p><strong>Cuando el atributo es una categor\u00eda:<\/strong><\/p>\n<ul>\n<li>K-Means<\/li>\n<li>DBScan<\/li>\n<\/ul>\n<div id=\"attachment_2415\" style=\"width: 844px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2415\" class=\"size-full wp-image-2415\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos.png\" alt=\"Machine Learning en Python Principales algoritmos\" width=\"834\" height=\"1154\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos.png 834w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos-217x300.png 217w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos-768x1063.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2021\/09\/Machine-Learning-en-Python-Principales-algoritmos-740x1024.png 740w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><\/a><p id=\"caption-attachment-2415\" class=\"wp-caption-text\">Machine Learning en Python Principales algoritmos<\/p><\/div>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Python es un lenguaje de programaci\u00f3n que nos permite crear modelos de Machine Learning a trav\u00e9s de la librer\u00eda sklearn, misma que contiene una amplia variedad de algoritmos para utilizar.<\/p>\n<h2>Referencias<\/h2>\n<p>Ohlsson (2020). The nature of machine learning projects. Disponible en [<a href=\"https:\/\/labs.sogeti.com\/the-nature-of-machine-learning-projects\/\" target=\"_blank\" rel=\"noopener\">https:\/\/labs.sogeti.com\/the-nature-of-machine-learning-projects\/<\/a>]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo veremos una introducci\u00f3n al machine learning en Python, cu\u00e1les son las librer\u00edas que se necesitan, los principales algoritmos, as\u00ed como la diferencia entre el machine learning y la programaci\u00f3n tradicional.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[315],"tags":[310,284,285],"class_list":["post-2410","post","type-post","status-publish","format-standard","hentry","category-machine-learning","tag-inteligencia-artificial","tag-machine-learning","tag-regresion-lineal"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=2410"}],"version-history":[{"count":5,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2410\/revisions"}],"predecessor-version":[{"id":2418,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2410\/revisions\/2418"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=2410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=2410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=2410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}