Sie möchten gleich loslegen Maschinelles Lernen?
Ich habe ein einfaches und einfaches Tutorial für komplette Anfänger erstellt. Gemeinsam gehen wir die grundlegenden Schritte zum Trainieren eines maschinellen Lernmodells durch.
Während ich die Schritte zum Trainieren eines Modells einzeln erkläre, werde ich auch ein sehr grundlegendes Beispiel für ein maschinelles Lernproblem geben. Wenn Sie also mitmachen möchten, können Sie diesen Beispieldatensatz hier herunterladen Link.
Dies ist nur ein Beispieldatensatz, der Ihnen den Einstieg in das maschinelle Lernen erleichtern soll.
Wir haben 18 Werte von Menschen unterschiedlichen Alters und Geschlechts, die ihre Lieblingsmusik definiert haben. Anhand der Merkmale „Alter“ und „Geschlecht“ versuchen wir zu erraten, welches Musikgenre ihr Favorit ist.
Hinweis: 1 und 0 sind in diesem Datensatz den Geschlechtern als weiblich und männlich zugeordnet.
Wenn Sie jedoch nicht dem Beispiel folgen möchten, ist dies auch völlig in Ordnung. Ich werde alle diese Schritte im Detail erklären. Tauchen wir also ein!
Erste Dinge zu wissen
Bevor wir auf die Schritte zum Trainieren eines Modells eingehen, wollen wir einige Punkte klären. Maschinelles Lernen ist ein künstliche Intelligenz Disziplin, die sich auf die Entwicklung von Algorithmen konzentriert, die aus Daten lernen können.
Dazu werden Machine-Learning-Modelle auf einem Datensatz trainiert, der dem Modell beibringt, korrekte Vorhersagen zu treffen bzw Klassifizierungen auf frischen, bisher unbekannten Daten.
Also, was sind diese Modelle? A Modell des maschinellen Lernens ähnelt einem Rezept, das ein Computer verwendet, um Datenvorhersagen oder Auswahlmöglichkeiten zu generieren.
Ein Modell folgt wie ein Rezept einer Reihe von Anweisungen, um Daten auszuwerten und Vorhersagen oder Urteile basierend auf in den Daten gefundenen Mustern zu generieren. Je mehr Daten das Modell trainiert, desto genauer werden seine Vorhersagen.
Welche Art von Modellen können wir trainieren?
Sehen wir uns an, was die grundlegenden Modelle für maschinelles Lernen sind.
- Lineare Regression: ein Modell, das eine kontinuierliche Zielvariable aus einer oder mehreren Eingabevariablen vorhersagt.
- Neuronale Netze: ein Netzwerk verbundener Knoten, die lernen können, komplizierte Muster in Daten zu erkennen.
- Entscheidungsbäume: ein Ansatz zur Entscheidungsfindung, der auf einer Kette von verzweigten if-else-Anweisungen aufbaut.
- Clustering: eine Reihe von Modellen, die vergleichbare Datenpunkte basierend auf Ähnlichkeit gruppieren.
- Logistische Regression: ein Modell für binäre Klassifikationsprobleme, bei dem die Zielvariable zwei mögliche Werte hat.
- Entscheidungsbäume: ein Ansatz zur Entscheidungsfindung, der auf einer Kette von verzweigten if-else-Anweisungen aufbaut.
- Random Forest: ein aus zahlreichen Entscheidungsbäumen zusammengesetztes Ensemble-Modell. Sie werden häufig für Klassifizierungs- und Regressionsanwendungen verwendet.
- K-nächste Nachbarn: ein Modell, das die Zielvariable unter Verwendung der k-nächsten Datenpunkte im Trainingssatz vorhersagt.
Abhängig von unserem Problem und Datensatz entscheiden wir, welches maschinelle Lernmodell am besten zu unserer Situation passt. Doch darauf kommen wir später zurück. Beginnen wir nun mit dem Training unseres Modells. Ich hoffe, Sie haben die bereits heruntergeladen Datensatz wenn Sie unserem Beispiel folgen möchten.
Außerdem empfehle ich zu haben Jupyter Notizbuch auf Ihrem lokalen Computer installiert ist und für Ihre Machine-Learning-Projekte verwendet wird.
1: Definieren Sie das Problem
Die erste Stufe in Training eines maschinellen Lernens Modell definiert das zu lösende Problem. Dazu müssen Sie die Variablen auswählen, die Sie prognostizieren möchten (bekannt als die Zielvariable) und die Variablen, die verwendet werden, um diese Vorhersagen zu generieren (bekannt als Merkmale oder Prädiktoren).
Sie sollten auch entscheiden, welche Art von maschinellem Lernproblem Sie angehen möchten (Klassifizierung, Regression, Clustering usw.) und welche Art von Daten Sie sammeln oder abrufen müssen, um Ihr Modell zu trainieren.
Die Art des Modells, das Sie verwenden, wird durch die Art des maschinellen Lernproblems bestimmt, das Sie lösen möchten. Klassifizierung, Regression und Clustering sind die drei Hauptkategorien von Herausforderungen des maschinellen Lernens. Wenn Sie eine kategoriale Variable vorhersagen möchten, z. B. ob eine E-Mail Spam ist oder nicht, verwenden Sie die Klassifizierung.
Wenn Sie eine kontinuierliche Variable wie den Preis eines Hauses prognostizieren möchten, verwenden Sie die Regression. Clustering wird verwendet, um vergleichbare Datenelemente basierend auf ihren Gemeinsamkeiten zusammenzustellen.
Wenn wir unser Beispiel betrachten; unsere herausforderung besteht darin, den bevorzugten musikstil einer person anhand ihres geschlechts und alters zu bestimmen. Wir verwenden für dieses Beispiel einen Datensatz von 18 Personen und Informationen zu ihrem Alter, Geschlecht und bevorzugten Musikstil.
2. Bereiten Sie die Daten vor
Nachdem Sie das Problem spezifiziert haben, müssen Sie die Daten zum Trainieren des Modells vorbereiten. Dies beinhaltet die Bereinigung und Verarbeitung der Daten. Damit wir sicherstellen können, dass es in einem Format vorliegt, das die maschineller Lernalgorithmus Kann benutzen.
Dazu können Aktivitäten wie das Löschen fehlender Werte, das Umwandeln kategorialer Daten in numerische Daten und das Skalieren oder Normalisieren der Daten gehören, um sicherzustellen, dass alle Merkmale auf derselben Skala liegen.
So löschen Sie beispielsweise fehlende Werte:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
Kleine Anmerkung: In der Zeile o“import pandas as pd",
Wir importieren die Pandas-Bibliothek und weisen ihr den Alias „pd“ zu, um später im Code leichter auf ihre Funktionen und Objekte verweisen zu können.
Pandas ist ein bekanntes Modul für Python zur Datenmanipulation und -analyse, insbesondere bei der Arbeit mit strukturierten oder tabellarischen Daten.
In unserem Beispiel zur Bestimmung von Musikgenres. Zuerst importieren wir den Datensatz. Ich habe es music.csv genannt, aber Sie können es benennen, wie Sie wollen.
Um die Daten für das Training eines maschinellen Lernmodells aufzubereiten, teilen wir sie in Attribute (Alter und Geschlecht) und Ziele (Musikgenre) auf.
Wir teilen die Daten zusätzlich in 80:20-Trainings- und Testsätze auf, um die Leistung unseres Modells zu bewerten und eine Überanpassung zu vermeiden.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. Wählen Sie ein maschinelles Lernmodell aus.
Nachdem Sie die Daten aufbereitet haben, müssen Sie ein Machine-Learning-Modell auswählen, das für Ihre Aufgabe geeignet ist.
Es stehen mehrere Algorithmen zur Auswahl, z. B. Entscheidungsbäume, logistische Regression, Support-Vektor-Maschinen, neuronale Netze und andere. Der von Ihnen gewählte Algorithmus wird durch die Art des Problems, das Sie zu beantworten versuchen, die Art der Daten, die Sie haben, und Ihre Leistungsanforderungen bestimmt.
Wir verwenden für dieses Beispiel einen Entscheidungsbaumklassifizierer, da wir mit einem Klassifizierungsproblem arbeiten (Vorhersage kategorialer Daten).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Hier ist eine Visualisierung, wie der Decision Tree Classifier funktioniert:
4. Trainieren Sie das Modell
Sie können mit dem Training des Modells beginnen, wenn Sie einen akzeptablen Algorithmus für maschinelles Lernen ausgewählt haben. Dies beinhaltet die Verwendung der zuvor generierten Daten, um den Algorithmus darin zu schulen, wie er Vorhersagen auf neuen, zuvor ungesehenen Daten treffen kann.
Der Algorithmus ändert seine internen Parameter während des Trainings, um die Differenz zwischen seinen vorhergesagten Werten und den tatsächlichen Werten in den Trainingsdaten zu minimieren. Die für das Training verwendete Datenmenge sowie die spezifischen Parameter des Algorithmus können sich alle auf die Genauigkeit des resultierenden Modells auswirken.
Nachdem wir uns in unserem konkreten Beispiel für eine Methode entschieden haben, können wir unser Modell mit den Trainingsdaten trainieren.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Bewerten Sie das Modell
Nachdem das Modell trainiert wurde, muss es anhand neuer Daten evaluiert werden, um sicherzustellen, dass es genau und zuverlässig ist. Dazu muss das Modell mit Daten getestet werden, die während des Trainings nicht verwendet wurden, und die prognostizierten Werte mit den tatsächlichen Werten in den Testdaten verglichen werden.
Diese Überprüfung kann bei der Identifizierung von Modellfehlern wie Overfitting oder Underfitting helfen und zu einer eventuell erforderlichen Feinabstimmung führen.
Anhand der Testdaten werden wir die Korrektheit unseres Modells beurteilen.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
Die Genauigkeitsbewertung ist vorerst nicht so schlecht. 🙂 Um Ihre Genauigkeitsbewertung zu verbessern, können Sie die Daten jederzeit weiter bereinigen oder verschiedene maschinelle Lernmodelle ausprobieren, um zu sehen, welches die höchste Bewertung ergibt.
6. Optimieren Sie das Modell
Wenn die Effizienz des Modells nicht ausreicht, können Sie es feinabstimmen, indem Sie verschiedene Algorithmusparameter ändern oder ganz mit neuen Algorithmen experimentieren.
Dieses Verfahren kann das Experimentieren mit alternativen Lernraten, das Ändern von Regularisierungseinstellungen oder das Ändern der Anzahl oder Größe verborgener Schichten in einem neuronalen Netzwerk umfassen.
7. Verwenden Sie das Modell
Sobald Sie mit der Leistung des Modells zufrieden sind, können Sie damit beginnen, Vorhersagen für neue Daten zu generieren.
Dies kann beinhalten, neue Daten in das Modell einzuspeisen und die gelernten Parameter des Modells zu verwenden, um Vorhersagen auf diesen Daten zu generieren, oder das Modell in eine breitere Anwendung oder ein breiteres System zu integrieren.
Wir können unser Modell verwenden, um Vorhersagen für neue Daten zu erstellen, nachdem wir mit seiner Genauigkeit zufrieden sind. Sie können verschiedene Werte für Geschlecht und Alter ausprobieren.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Einpacken
Wir haben das Training unseres ersten Modells für maschinelles Lernen abgeschlossen.
Ich hoffe, Sie fanden es nützlich. Sie können jetzt versuchen, verschiedene maschinelle Lernmodelle wie lineare Regression oder Random Forest zu verwenden.
Es gibt viele Datensätze und Herausforderungen Kaggle wenn Sie Ihr Programmieren und Ihr Verständnis von maschinellem Lernen verbessern möchten.
Hinterlassen Sie uns einen Kommentar