"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Aprilizado: la varita mágica para la creación de aplicaciones de ML

Aprilizado: la varita mágica para la creación de aplicaciones de ML

Publicado el 2025-03-25
Navegar:798

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.

comenzando con Streamlit

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")


Streamlit: The Magic Wand for ML App Creation

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)


Streamlit: The Magic Wand for ML App Creation

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)


Streamlit: The Magic Wand for ML App Creation

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}')


Streamlit: The Magic Wand for ML App Creation

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)


Streamlit: The Magic Wand for ML App Creation

construyendo un proyecto de aprendizaje automático con Streamlit

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:

  • Cargue el conjunto de datos.
  • Entrena un randomForestClassifier.
  • Permitir a los usuarios ingresar funciones usando controles deslizantes.
  • predice la especie en función de las características de entrada.

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:

Streamlit: The Magic Wand for ML App Creation

Streamlit: The Magic Wand for ML App Creation

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! ?

Declaración de liberación Este artículo se reproduce en: https://dev.to/Jagroop2001/streamlit-the-magic-wand-for-ml-app-creation-43i8?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

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