42

Cuatro librerías de Machine Learning: TensorFlow, Scikit-learn, Pytorch y Keras

15408Puntos

hace 4 años

Curso de Machine Learning Aplicado con Python
Curso de Machine Learning Aplicado con Python

Curso de Machine Learning Aplicado con Python

Aplica algoritmos de Machine Learning de forma simple y eficiente con Scikit-Learn. Utiliza herramientas para análisis y minería de datos implementando esta librería en tus proyectos.

El flujo de trabajo de Machine Learning se puede dividir en 4 pasos: preparación de los datos, representación, aprendizaje y evaluación del modelo utilizado.

  1. Recolectar la información. Existen distintos tipos de datos útiles, por ejemplo las bases de datos públicas, bases de datos de empresas o incluso información libre en internet que se puede obtener con un scraper de datos. En esta etapa se deben limpiar los datos haciendo uniones entre las diferentes bases de datos.

  2. Representación de los datos. No existe una sola forma de representar los datos, en una base hay objetos o ejemplos en las filas, y características en las columnas. Es importante que estas características sean relevantes, útiles y que nos permitan entrenar el modelo.

  3. Aprendizaje. Para esta fase debemos elegir un algoritmo que alimentaremos con datos de entrenamiento. Así se obtiene un modelo que puede generar predicciones basadas en datos.

  4. Evaluación del modelo. Al retomar los datos de una predicción generada por el modelo se pueden comparar con los datos reales que se utilizaron para alimentar el algoritmo. Así se puede obtener una métrica de rendimiento para decidir si el modelo es satisfactorio o si se debe iterar el proceso.

Hace poco tuve una conversación con Will Wolf sobre Machine Learning. Me explicó algunos detalles sobre diferentes librerías y frameworks como Pytorch y TensorFlow, y utilizó una analogía ideal para mi: un restaurante.

Imagina que estás creando el menú de un restaurante y tu meta es crear platos increíbles. Empiezas a diseñar el menú y decides qué tipos de platos vas a tener: un plato fuerte, una bebida y quizás un postre. Esto sería el equivalente a crear la arquitectura de una red neuronal: va a tener una cantidad determinada de capas, ciertos tipos de filtros, algunos parámetros y formas de outputs. Para hacer esto es común utilizar librerías como Keras o Pytorch.

Qué es Keras

Keras es una librería escrita en Python, diseñada específicamente para hacer experimentos con redes neuronales. Permite crear prototipos rápidamente y de manera fácil, pues está pensada para que sea fácil de usar. Tienen una filosofía que la hace ideal para lo que estamos explicando sobre el restaurante:

Tener la posibilidad de pasar de una idea a un resultado con el mínimo retraso posible es clave cuando haces investigación.

Qué es Pytorch

Pytorch es un framework de Python que permite el crecimiento rápido del Deep Learning, con una fuerte aceleración de la GPU. La característica principal de Pytorch es que utiliza grafos computacionales dinámicos. Todos los frameworks de Deep Learning utilizan un lenguaje, como Python en este caso, y un grafo computacional. Esto funciona así por cuestiones de eficiencia y optimización, pues un grafo computacional corre en paralelo en la GPU.

Volviendo a la analogía del menú del restaurante, al utilizar un framework o una librería como Pytorch o Keras, básicamente con eso se empieza a trabajar y funciona muy bien para hacer predicciones. Pero después de decidir cuáles son los platos del menú tienes que saber cómo prepararlos. Esto sería el equivalente a ajustar la red y computar los pesos y los sesgos que puede tener, y se hace con gradientes.

Qué es TensorFlow

Cuando una red neuronal se vuelve más compleja, llena de capas y parámetros, el proceso se vuelve mucho más complejo. Es aquí donde entra TensorFlow, una librería de computación numérica que computa gradientes automáticamente, esto quiere decir que está a un nivel más bajo y profundo que Keras o Pytorch.

TensorFlow fue desarrollada por Google y la utilizan empresas como Airbnb, Dropbox, Uber y Snapchat. Aunque es muy popular es más recomendable para proyectos grandes y quizás más complejos, pues te da mucho control cuando estás construyendo redes neuronales.

Si quieres aprender a diseñar redes neuronales y crear prototipos de manera rápida para entender cómo funcionan, una librería como Keras es ideal, pues incluso ésta utiliza TensorFlow por debajo para computar gradientes, pero sin que tengas que involucrarte con eso. Pytorch combina las dos cosas, pues te ayuda a construir las redes y computa los gradientes automáticamente.

Qué es Scikit-learn

Otra librería ideal para diseñar y entrenar redes neuronales es Scikit-learn, que también está escrita en Python y que utilizan empresas como Spotify, Booking y Evernote. Emplea algoritmos de clasificación (determina a qué categoría pertenece un objeto), regresión (asocia atributos de valor continuo a objetos) y agrupamiento (agrupa objetos similares en conjuntos); y opera de manera simultánea con librerías como NumPy y SciPy.

Al principio del artículo hablé sobre los algoritmos de aprendizaje y cómo evaluar su efectividad. En la documentación de Scikit-learn plantean que el Machine Learning se trata de aprender sobre algunas propiedades o características de un conjunto de datos, para luego aplicarlas en otros nuevos. Una práctica común para evaluar un algoritmo es dividir los datos en dos conjuntos, uno de entrenamiento del cual se aprende sobre las características de los datos, y otro de testing con el que se prueban dichas propiedades.

En el Curso de Machine Learning Aplicado con Python aprenderás cómo definir un problema de Machine Learning, el ciclo de ingeniería, cómo montar un ambiente de trabajo usando NumPy, preparar los datos, implementar y evaluar un modelo de regresión con Scikit-learn.

Curso de Machine Learning Aplicado con Python
Curso de Machine Learning Aplicado con Python

Curso de Machine Learning Aplicado con Python

Aplica algoritmos de Machine Learning de forma simple y eficiente con Scikit-Learn. Utiliza herramientas para análisis y minería de datos implementando esta librería en tus proyectos.
Nicole
Nicole
maldeadora

15408Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
4
40565Puntos

Excelente artículo Maldeadora, Machine Learning y Data Science me paracen temas muy interesantes.

Hace poco supe que TensorFlow a parte de Python, también tiene soporte para C++, Java y Go.

1
8464Puntos
4 años

Si! El código fuente de Tensor es C++😋

1

Esta carrera cambió mi ruta profesional 😄 la revolucionó gracias platzi 😃

1

hola, estoy trabajando con tensorflow y me gustaria ver mas opciones de como tensorflow pueda entrenar mas bases de datos por secuencia o simultaneo , dar predicion, soluciones, y resultados , habra algun tutorial ‘’, SALUDOS CODIALES

1
32547Puntos

Quiero aprender todas! muy buen post =)

1
16314Puntos

👏👏👏 Excelente Maldeadora! Muchas gracias!

1
14082Puntos

Que bien por fin encontré de nuevo éste artículo, hace tiempo lo había visto pero sólo lo pude encontrar en el curso de Backpropagation.

0
28936Puntos

Suena muy interesante, me gustaría compartir, he hecho algunas cosas con GNU Octave, el cual es un interprete del lenguaje M utilizado por matlab, en el cual en la clase de Métodos Numéricos que doy en un Tecnológico también hay un experimento de regresión lineal con Numpy y Simpy. Les recomiendo hojearse algún sobre Métodos o Análisis Numérico, desafortunadamente la mayoría se enfocan en Matlab, espero contribuir en platzi trayendo algunas de mis clases a forma de tutorial usando python en un futuro.

0
1770Puntos

Saludos a todos, me llama mucho la atención este tema de machine learning y quisiera aprenderlo pero tengo dos dudas:

  • Primero: disculpen mi ignorancia pero aun no entiendo muy bien en que consiste el machine learning y cual seria una aplicación real de esta tecnología.

  • Segundo: es python el mejor lenguaje para machine learning por que veo que todas las librerias estan escritas en python

1
8464Puntos
4 años

Wow la inteligencia artificial tiene aplicaciones en casi TODAS las áreas, el caso más popular es los coches que se conducen sólos. Te recomiendo que busques un vídeo en el que Freddy habla de sus aplicaciones.

Se utiliza Python porque para tratar un tema un poco complejo como lo es la AI, este al ser simple y legible facilita la tarea, su comunidad, su desempeño y su propósito variado apoyan su uso.

0

Esta carrera cambió mi ruta profesional 😄 la revolucionó gracias platzi 😃

0
25347Puntos

Excelente artículo, por lo que pude apreciar, Python se ve como la alternativa en cuanto a lenguajes, para aprender Machine Learning junto con estadística descriptiva e inferencial.

0
5124Puntos

Excelente artículo, pueden hacer un curso de MatLab, Python y R aplicado a lógica difusa y mapas cognitivos 😃