Skip to content

Top 7 Ejemplos y Tutoriales de Streamlit para Comenzar

Updated on

¡Bienvenido al mundo de Streamlit!

Si eres un científico de datos o entusiasta del aprendizaje automático que busca compartir tu trabajo, estás en el lugar correcto. Estamos a punto de explorar algunos de los ejemplos más emocionantes construidos con Streamlit, una poderosa herramienta que está revolucionando la comunidad de la ciencia de datos. Desde el análisis de sentimientos y la visualización de datos de acciones hasta el suministro de modelos de aprendizaje automático, veremos cómo Streamlit está facilitando más que nunca la transformación de scripts de datos en aplicaciones web compartibles.

¿Qué es Streamlit?

Pero antes de sumergirnos en los proyectos, tomémonos un momento para entender qué es Streamlit. Streamlit es un marco de trabajo de Python de código abierto que te permite crear aplicaciones web personalizadas para el aprendizaje automático y la ciencia de datos.

¿Qué es Streamlit?

Con solo unas pocas líneas de código, puedes construir características interactivas que permiten a los usuarios manipular datos, ajustar parámetros y ver los resultados en tiempo real. Está diseñado para ayudar a los científicos de datos e ingenieros a optimizar sus procesos, desde la exploración de datos hasta la implementación de modelos. Entonces, ya seas un experto experimentado o un principiante que recién comienza, Streamlit tiene algo que ofrecer. ¡Sumérgete y veamos qué es posible!

¿Por qué usar Streamlit? Comparación de Streamlit con Django y Flask

Streamlit ha sido comparado con otros marcos de trabajo web populares como Django y Flask, especialmente en el contexto de aplicaciones de ciencia de datos y aprendizaje automático. Veamos cómo se compara.

Aquí hay una tabla de comparación que resume las diferencias entre Streamlit, Django y Flask:

CaracterísticaStreamlitDjangoFlask
Diseñado para Ciencia de Datos y Aprendizaje AutomáticoNoNo
Facilidad de UsoAlta (se requiere un mínimo de programación)Media (curva de aprendizaje pronunciada)Media (requiere comprensión del desarrollo web)
Conocimiento Requerido de Desarrollo WebNo
Funcionalidades IncluidasNo (enfocado en aplicaciones de ciencia de datos y aprendizaje automático)Sí (incluye ORM, panel de administración, soporte de autenticación, etc.)No (diseño minimalista, pero se puede extender con bibliotecas)
FlexibilidadMedia (no adecuado para aplicaciones web complejas)Alta (adecuado para aplicaciones web complejas)Alta (te permite elegir tus propias herramientas y bibliotecas)
Adecuado para Aplicaciones Web SimplesTal vez (puede ser excesivo)

Esta tabla proporciona una comparación a nivel general de los tres marcos de trabajo. La mejor elección depende de tus necesidades específicas y de la complejidad de tu proyecto.

Streamlit vs. Django

Django (opens in a new tab) es un marco de trabajo web de alto nivel para Python que fomenta el desarrollo rápido y el diseño limpio y pragmático. Sigue el patrón de arquitectura modelo-vista-controlador y es conocido por su filosofía "baterías incluidas", lo que significa que incluye muchas funcionalidades listas para usar, como un ORM, un panel de administración y soporte de autenticación.

Si bien Django es un marco de trabajo robusto y versátil, puede ser excesivo para aplicaciones simples de ciencia de datos y aprendizaje automático. Tiene una curva de aprendizaje pronunciada y requiere una buena comprensión de los conceptos de desarrollo web.

Por otro lado, Streamlit está diseñado específicamente para aplicaciones de ciencia de datos y aprendizaje automático. Te permite crear aplicaciones web interactivas con solo unas pocas líneas de código, sin necesidad de conocer el desarrollo web. Sin embargo, no es tan completo en funcionalidades como Django y puede no ser adecuado para aplicaciones web complejas.

Streamlit vs. Flask

Flask (opens in a new tab) es un marco de trabajo web ligero para Python que proporciona lo mínimo necesario para poner en marcha una aplicación web. Es más flexible que Django y te permite elegir tus propias herramientas y bibliotecas.

Flask es una buena opción para aplicaciones web simples, pero al igual que Django, requiere una buena comprensión de los conceptos de desarrollo web. Crear aplicaciones interactivas de ciencia de datos y aprendizaje automático con Flask puede ser desafiante y llevar mucho tiempo.

Streamlit, con su enfoque en la ciencia de datos y el aprendizaje automático, facilita la creación de aplicaciones web interactivas. Se encarga de gran parte del trabajo de desarrollo web por ti, lo que te permite centrarte en la parte de la ciencia de datos.

Mejores Ejemplos de Streamlit para Comenzar

TensorFlow Serving con Streamlit

TensorFlow Serving con Streamlit (opens in a new tab) es un proyecto que demuestra cómo servir un modelo de TensorFlow utilizando TensorFlow Serving y visualizar las predicciones en una aplicación web utilizando Streamlit. El proyecto incluye un cuaderno de Jupyter que muestra el proceso de entrenar un modelo, exportarlo en un formato adecuado para el servicio y servir el modelo utilizando TensorFlow Serving. La aplicación de Streamlit proporciona una interfaz fácil de usar para interactuar con el modelo servido y visualizar las predicciones.

TensorFlow Serving con Streamlit

Aquí tienes un resumen breve de cómo funciona el proyecto:

  1. Entrenar un modelo de TensorFlow: El proyecto incluye un cuaderno de Jupyter que muestra cómo entrenar un modelo simple de TensorFlow en el conjunto de datos MNIST.

  2. Exportar el modelo para su servicio: El modelo entrenado se exporta en un formato que puede ser servido utilizando TensorFlow Serving.

  3. Servir el modelo: El modelo exportado se sirve utilizando TensorFlow Serving, que proporciona un sistema de servicio flexible y de alto rendimiento para modelos de aprendizaje automático.

  4. Visualizar predicciones con Streamlit: Se crea una aplicación de Streamlit para interactuar con el modelo servido. La aplicación permite a los usuarios dibujar un dígito en un lienzo, enviar la imagen dibujada al modelo servido y mostrar el dígito predicho.

Rimar con IA

Rimar con IA (opens in a new tab) es un proyecto divertido que utiliza el aprendizaje automático para generar rimas. El proyecto utiliza un modelo de lenguaje entrenado en un corpus de letras de canciones. La aplicación de Streamlit permite a los usuarios ingresar una palabra y el modelo genera una lista de palabras que riman con la palabra ingresada.

Rimar con IA

Así es como funciona el proyecto:

  1. Entrenar un modelo de lenguaje: El proyecto entrena un modelo de lenguaje en un corpus de letras de canciones. El modelo aprende los patrones en los datos y puede generar texto que imita el estilo de los datos de entrenamiento.

  2. Generar rimas: Dada una palabra de entrada, el modelo genera una lista de palabras que riman con la palabra de entrada. Las rimas se generan en base a los patrones aprendidos por el modelo durante el entrenamiento.

  3. Visualizar rimas con Streamlit: Se crea una aplicación de Streamlit para interactuar con el modelo. La aplicación permite a los usuarios ingresar una palabra y muestra las rimas generadas.

Herramienta de análisis de sentimientos

Herramienta de análisis de sentimientos (opens in a new tab) es un proyecto que utiliza el aprendizaje automático para analizar el sentimiento de un texto. El proyecto incluye un cuaderno de Jupyter que muestra cómo entrenar un modelo de análisis de sentimientos en el conjunto de datos de críticas de películas de IMDB. La aplicación de Streamlit proporciona una interfaz fácil de usar para interactuar con el modelo y analizar el sentimiento del texto ingresado por el usuario.

Herramienta de análisis de sentimientos

Aquí tienes una breve descripción de cómo funciona el proyecto:

  1. Entrenar un modelo de análisis de sentimientos: El proyecto incluye un cuaderno de Jupyter que muestra cómo entrenar un modelo de análisis de sentimientos en el conjunto de datos de críticas de películas de IMDB. El modelo es un modelo de clasificación binaria que predice si una crítica es positiva o negativa.

  2. Analizar el sentimiento con Streamlit: Se crea una aplicación de Streamlit para interactuar con el modelo. La aplicación permite a los usuarios ingresar texto y muestra el sentimiento predicho del texto ingresado.

Squote: Visualizador de cotizaciones de acciones

Squote (opens in a new tab) es un proyecto que utiliza Streamlit para crear un visualizador interactivo de cotizaciones de acciones. La aplicación permite a los usuarios seleccionar una acción y visualizar sus datos históricos de precios.

Squote: Visualizador de cotizaciones de acciones

Así es como funciona el proyecto:

  1. Obtener datos de las acciones: La aplicación obtiene datos históricos de precios de la acción seleccionada utilizando la biblioteca yfinance, que permite acceder a los datos financieros de Yahoo Finance.

  2. Visualizar los datos de las acciones con Streamlit: Se crea una aplicación de Streamlit para interactuar con los datos obtenidos. La aplicación permite a los usuarios seleccionar una acción y un rango de fechas, y muestra un gráfico del precio de la acción durante el rango de fechas seleccionado.

Análisis exploratorio de datos financieros con Streamlit

Análisis exploratorio de datos financieros con Streamlit (opens in a new tab) es un proyecto que muestra cómo realizar análisis exploratorio de datos (EDA) en datos financieros utilizando Streamlit. La aplicación permite a los usuarios seleccionar una acción y visualizar varios aspectos de los datos de la acción, como su precio, volumen y rendimiento.

Análisis exploratorio de datos financieros con Streamlit

Aquí tienes una breve descripción de cómo funciona el proyecto:

  1. Obtener datos de las acciones: La aplicación obtiene datos históricos de precios y volumen de la acción seleccionada utilizando la biblioteca yfinance.

  2. Realizar EDA con Streamlit: Se crea una aplicación de Streamlit para interactuar con los datos obtenidos. La aplicación permite a los usuarios seleccionar una acción y muestra varias visualizaciones de los datos de la acción, como un gráfico de líneas del precio, un gráfico de barras del volumen y un histograma del rendimiento.

Analizador de chats de WhatsApp

Analizador de chats de WhatsApp (opens in a new tab) es un proyecto que utiliza Streamlit para crear un analizador de chats de WhatsApp interactivo. La aplicación permite a los usuarios cargar un archivo de chat y visualizar varios aspectos del chat, como el número de mensajes por usuario, los usuarios más activos y las palabras más utilizadas.

Analizador de chats de WhatsApp

Aquí tienes una breve descripción de cómo funciona el proyecto:

  1. Cargar un archivo de chat: La aplicación permite a los usuarios cargar un archivo de chat de WhatsApp. El archivo de chat se puede obtener utilizando la función 'Exportar chat' en WhatsApp.

  2. Analizar el chat con Streamlit: Se crea una aplicación de Streamlit para interactuar con el archivo de chat cargado. La aplicación analiza el archivo de chat y muestra diversas visualizaciones de los datos del chat.

Recogidas de Uber en la ciudad de Nueva York

Recogidas de Uber en la ciudad de Nueva York (opens in a new tab) es una demostración de Streamlit que visualiza interactivamente las recogidas de Uber en la ciudad de Nueva York. La aplicación permite a los usuarios seleccionar una fecha y hora y muestra un mapa de las recogidas de Uber en la ciudad durante el período seleccionado.

Recogidas de Uber en la ciudad de Nueva York

Aquí tienes una breve descripción de cómo funciona el proyecto:

  1. Cargar datos de Uber: La aplicación carga un conjunto de datos de las recogidas de Uber en la ciudad de Nueva York. El conjunto de datos incluye la fecha, hora y ubicación de cada recogida.

  2. Visualizar las recogidas de Uber con Streamlit: Se crea una aplicación de Streamlit para interactuar con los datos de Uber. La aplicación permite a los usuarios seleccionar una fecha y hora, y muestra un mapa de las recogidas de Uber en la ciudad durante el período seleccionado. Estos proyectos muestran el poder y la versatilidad de Streamlit en la creación de aplicaciones web interactivas para ciencia de datos y aprendizaje automático. Ya sea que esté visualizando datos de acciones, analizando datos de chat o sirviendo modelos de aprendizaje automático, Streamlit facilita la transformación de sus scripts de datos en aplicaciones web compartibles.

Tutoriales de Streamlit

Streamlit se ha vuelto popular tanto entre los desarrolladores como entre los científicos de datos debido a su integración perfecta con Python y su interfaz simple y fácil de usar. Comprender la plataforma a fondo puede ser mucho más fácil con la ayuda de tutoriales de Streamlit. Por favor, consulte los siguientes recursos:

Pero el poder de Streamlit no se detiene aquí. ¡Para los científicos de datos que deseen construir rápidamente una aplicación de visualización de datos con Streamlit, existe una increíble biblioteca de Python que puede ayudarlo a realizar el trabajo pesado!

PyGWalker (opens in a new tab) es una biblioteca de Python que le ayuda a incrustar fácilmente una interfaz similar a Tableau en su propia aplicación de Streamlit sin esfuerzo.

Echa un vistazo a este increíble video producido por Cómo explorar datos con PyGWalker en Python (opens in a new tab) que muestra los pasos detallados para potenciar tu aplicación de Streamlit con esta poderosa biblioteca de visualización de datos en Python!


Agradecimientos especiales a Sven y su gran contribución (opens in a new tab) a la comunidad de PyGWalker!

Además, también puedes consultar la página de GitHub de PyGWalker (opens in a new tab) para obtener más ejemplos de PyGWalker.

Conclusión

Streamlit es una herramienta poderosa para crear aplicaciones web interactivas para ciencia de datos y aprendizaje automático. Es fácil de usar, requiere un código mínimo y está diseñado específicamente para científicos de datos y profesionales de aprendizaje automático. Los proyectos que hemos explorado en este artículo muestran el poder y la versatilidad de Streamlit, desde la visualización de datos de acciones hasta la implementación de modelos de aprendizaje automático.

Ya sea que seas un científico de datos experimentado que busca compartir tu trabajo o un principiante que está comenzando, Streamlit ofrece una forma rápida y fácil de convertir tus scripts de datos en aplicaciones web compartibles.

Preguntas frecuentes

¿Es Streamlit mejor que Django?

Depende del caso de uso. Django es un marco robusto y completo adecuado para aplicaciones web complejas, mientras que Streamlit está diseñado específicamente para crear aplicaciones web interactivas para ciencia de datos y aprendizaje automático. Si eres un científico de datos o un profesional de aprendizaje automático que busca compartir tu trabajo, es probable que Streamlit sea la mejor opción.

¿Es Streamlit un buen marco de trabajo?

Sí, Streamlit es un gran marco de trabajo para crear aplicaciones web interactivas para ciencia de datos y aprendizaje automático. Es fácil de usar, requiere un código mínimo y te permite centrarte en la parte de ciencia de datos de tu proyecto.

¿Es Streamlit mejor que Flask?

Para aplicaciones de ciencia de datos y aprendizaje automático, Streamlit es generalmente una mejor opción que Flask. Si bien Flask es un marco web flexible y ligero, crear aplicaciones interactivas de ciencia de datos y aprendizaje automático con Flask puede ser desafiante y llevar mucho tiempo. Streamlit, por otro lado, está diseñado específicamente para este tipo de aplicaciones y facilita la creación de aplicaciones web interactivas.