Streamlit: Der Zauberstab für die Erstellung von ML-Apps

Patricia Arquette
Freigeben: 2024-10-07 20:10:30
Original
693 Leute haben es durchsucht

Streamlit ist ein leistungsstarkes Open-Source-Framework, mit dem Sie mit nur Webanwendungen für Datenwissenschaft und maschinelles Lernen erstellen können ein paar Zeilen Python-Code.

Es ist einfach, intuitiv und erfordert keine Frontend-Erfahrung, was es zu einem großartigen Tool sowohl für Anfänger als auch für erfahrene Entwickler macht, die schnell Modelle für maschinelles Lernen bereitstellen möchten.

In diesem Blog führe ich Sie Schritt für Schritt durch den Prozess zum Erstellen einer einfachen Streamlit-App und eines Projekts für maschinelles Lernen unter Verwendung des Iris-Datensatzes mit einem RandomForestClassifier .

Erste Schritte mit Streamlit

Bevor wir mit dem Projekt beginnen, gehen wir einige grundlegende Streamlit-Funktionen durch, um uns mit dem Framework vertraut zu machen. Sie können Streamlit mit dem folgenden Befehl installieren:


pip install streamlit


Nach dem Login kopieren

Nach der Installation können Sie Ihre erste Streamlit-App starten, indem Sie eine Python-Datei erstellen, beispielsweise app.py, und sie mit folgendem Befehl ausführen:


streamlit run app.py


Nach dem Login kopieren

Lassen Sie uns nun die Kernfunktionen von Streamlit erkunden:

1. Titel schreiben und Text anzeigen


import streamlit as st

# Writing a title
st.title("Hello World")

# Display simple text
st.write("Displaying a simple text")


Nach dem Login kopieren

Streamlit: The Magic Wand for ML App Creation

2. DataFrames anzeigen


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)


Nach dem Login kopieren

Streamlit: The Magic Wand for ML App Creation

3. Daten mit Diagrammen visualisieren


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)


Nach dem Login kopieren

Streamlit: The Magic Wand for ML App Creation

4. Benutzerinteraktion: Texteingabe, Schieberegler und Auswahlfelder
Streamlit ermöglicht interaktive Widgets wie Texteingaben, Schieberegler und Auswahlfelder, die dynamisch basierend auf Benutzereingaben aktualisiert werden.


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


Nach dem Login kopieren

Streamlit: The Magic Wand for ML App Creation

5. Datei hochladen
Sie können Benutzern erlauben, Dateien hochzuladen und ihre Inhalte dynamisch in Ihrer Streamlit-App anzuzeigen:


# File uploader for CSV files
file = st.file_uploader('Choose a CSV file', 'csv')

if file:
    data = pd.read_csv(file)
    st.write(data)


Nach dem Login kopieren

Streamlit: The Magic Wand for ML App Creation

Aufbau eines maschinellen Lernprojekts mit Streamlit

Da Sie nun mit den Grundlagen vertraut sind, beginnen wir mit der Erstellung eines Projekts für maschinelles Lernen. Wir werden den berühmten Iris-Datensatz verwenden und ein einfaches Klassifizierungs-Modell mit RandomForestClassifier von scikit-learn erstellen.

Projektstruktur:

  • Laden Sie den Datensatz.
  • Trainieren Sie einen RandomForestClassifier.
  • Ermöglichen Sie Benutzern die Eingabe von Funktionen mithilfe von Schiebereglern.
  • Prognostizieren Sie die Art basierend auf den Eingabemerkmalen.

1. Installieren Sie die erforderlichen Abhängigkeiten
Zuerst installieren wir die notwendigen Bibliotheken:


pip install streamlit scikit-learn numpy pandas


Nach dem Login kopieren

2. Bibliotheken importieren und Daten laden
Importieren wir die erforderlichen Bibliotheken und laden den Iris-Datensatz:


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


Nach dem Login kopieren

3. Trainieren Sie das Modell des maschinellen Lernens
Sobald wir die Daten haben, trainieren wir einen RandomForestClassifier, um die Art einer Blume anhand ihrer Merkmale vorherzusagen:


# Train RandomForestClassifier
model = RandomForestClassifier()
model.fit(df.iloc[:, :-1], df["species"])


Nach dem Login kopieren

4. Erstellen der Eingabeschnittstelle
Jetzt erstellen wir Schieberegler in der Seitenleiste, damit Benutzer Funktionen zum Erstellen von Vorhersagen eingeben können:


# 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()))


Nach dem Login kopieren

5. Vorhersage der Arten
Nachdem wir die Benutzereingaben erhalten haben, werden wir mithilfe des trainierten Modells eine Vorhersage treffen:


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


Nach dem Login kopieren

Das sieht so aus:

Streamlit: The Magic Wand for ML App Creation

Streamlit: The Magic Wand for ML App Creation

Schließlich macht esStreamlit unglaublich einfach, eine Webschnittstelle für maschinelles Lernen mit minimalem Aufwand zu erstellen und bereitzustellen. ? In nur wenigen Codezeilen haben wir eine interaktive App erstellt? das es Benutzern ermöglicht, Merkmale einzugeben und die Art einer Blume vorherzusagen? unter Verwendung eines maschinellen Lernmodells. ??

Viel Spaß beim Codieren! ?

Das obige ist der detaillierte Inhalt vonStreamlit: Der Zauberstab für die Erstellung von ML-Apps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!