Streamlit es un poderoso marco de código abierto que le permite crear aplicaciones web para Data Science y Machine Learning con solo unas pocas líneas de código Python.
es simple, intuitivo y no requiere experiencia frontend , lo que la convierte en una gran herramienta tanto para principiantes como para desarrolladores experimentados que desean implementar rápidamente modelos de aprendizaje automático.
En este blog, lo guiaré a través de un proceso paso a paso para construir una aplicación de Streamlit básica y un proyecto de aprendizaje automático Machine usando el conjunto de datos de Iris Iris con un randomforestclassifier.
Antes de saltar al proyecto, caminemos por una funcionalidad de transmisión básica para sentir cómodo con el marco. Puede instalar Streamlit usando el siguiente comando:
pip install streamlit
Una vez instalado, puede iniciar su primera aplicación strewlit creando un archivo de python, digamos app.py y ejecutándolo usando:
streamlit run app.py
ahora, exploremos las características centrales de Streamlit:
1. Escribir títulos y mostrar texto
import streamlit as st # Writing a title st.title("Hello World") # Display simple text st.write("Displaying a simple text")
2. Mostrar Dataframes
import pandas as pd # Creating a DataFrame df = pd.DataFrame({ "first column": [1, 2, 3, 4], "second column": [5, 6, 7, 8] }) # Display the DataFrame st.write("Displaying a DataFrame") st.write(df)
3. Visualizar datos con gráficos
import numpy as np # Generating random data chart_data = pd.DataFrame( np.random.randn(20, 4), columns=['a', 'b', 'c', 'd'] ) # Display the line chart st.line_chart(chart_data)
4. Interacción del usuario: entrada de texto, deslizadores y seleccione cuadros
strewlit habilita widgets interactivos como entradas de texto, controles deslizantes y seleccione cuadros que se actualicen dinámicamente en función de la entrada del usuario.
# Text input name = st.text_input("Your Name Is:") if name: st.write(f'Hello, {name}') # Slider age = st.slider("Select Your Age:", 0, 100, 25) if age: st.write(f'Your Age Is: {age}') # Select Box choices = ["Python", "Java", "Javascript"] lang = st.selectbox('Favorite Programming Language', choices) if lang: st.write(f'Favorite Programming Language is {lang}')
5. Archivo de carga
Puede permitir a los usuarios cargar archivos y mostrar sus contenidos dinámicamente en su strewlit app:
# File uploader for CSV files file = st.file_uploader('Choose a CSV file', 'csv') if file: data = pd.read_csv(file) st.write(data)
Ahora que está familiarizado con los conceptos básicos, vamos a sumergir para crear un proyecto de aprendizaje automático . Usaremos el famoso conjunto de datos de Iris y construiremos un modelo de clasificación simple usando RandomForestClassifier de scikit-learn .
estructura del proyecto:
1. Instale las dependencias necesarias
Primero, instalemos las bibliotecas necesarias:
pip install streamlit scikit-learn numpy pandas
2. Importar bibliotecas y cargar datos
Importemos las bibliotecas necesarias y cargamos el conjunto de datos de Iris:
import streamlit as st import pandas as pd from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier # Cache data for efficient loading @st.cache_data def load_data(): iris = load_iris() df = pd.DataFrame(iris.data, columns=iris.feature_names) df["species"] = iris.target return df, iris.target_names df, target_name = load_data()
3. Entrena el modelo de aprendizaje automático
Una vez que tengamos los datos, capacitaremos a un clasificador aleatorio para predecir la especie de una flor en función de sus características:
# Train RandomForestClassifier model = RandomForestClassifier() model.fit(df.iloc[:, :-1], df["species"])
4. Creación de la interfaz de entrada
Ahora, crearemos controles deslizantes en la barra lateral para permitir a los usuarios ingresar funciones para hacer predicciones:
# Sidebar for user input st.sidebar.title("Input Features") sepal_length = st.sidebar.slider("Sepal length", float(df['sepal length (cm)'].min()), float(df['sepal length (cm)'].max())) sepal_width = st.sidebar.slider("Sepal width", float(df['sepal width (cm)'].min()), float(df['sepal width (cm)'].max())) petal_length = st.sidebar.slider("Petal length", float(df['petal length (cm)'].min()), float(df['petal length (cm)'].max())) petal_width = st.sidebar.slider("Petal width", float(df['petal width (cm)'].min()), float(df['petal width (cm)'].max()))
5. Predicción de la especie
Después de obtener las entradas del usuario, haremos una predicción utilizando el modelo capacitado:
# Prepare the input data input_data = [[sepal_length, sepal_width, petal_length, petal_width]] # Prediction prediction = model.predict(input_data) prediction_species = target_name[prediction[0]] # Display the prediction st.write("Prediction:") st.write(f'Predicted species is {prediction_species}')
Esto se verá como:
Finalmente, Streamlit hace que sea increíblemente fácil crear e implementar la interfaz web de aprendizaje automático con un esfuerzo mínimo. ? En solo unas pocas líneas de código, creamos una aplicación interactiva? ¿Eso permite a los usuarios ingresar características y predecir las especies de una flor? Uso de un modelo de aprendizaje automático. ??
¡feliz codificación! ?
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3