ist magisch – bis Sie feststellen, welches Modell für Ihren Datensatz verwendet werden soll. Sollten Sie mit einem zufälligen Wald oder einer logistischen Regression gehen? Was ist, wenn ein naives Bayes -Modell beides übertrifft? Für die meisten von uns beantwortet dies Stunden manueller Exams, Modellbildung und Verwirrung.

Aber was wäre, wenn Sie den gesamten Modellauswahlprozess automatisieren könnten?
In diesem Artikel werde ich Sie durch ein einfaches, aber mächtiges führen Python Automatisierung, die automatisch die besten maschinellen Lernmodelle für Ihren Datensatz auswählt. Sie brauchen keine tiefen ML -Kenntnisse oder Tuning -Fähigkeiten. Schließen Sie einfach Ihre Daten ein und lassen Sie Python den Relaxation machen.

Warum automatisieren Sie die ML -Modellauswahl?

Es gibt mehrere Gründe, lasst uns einige von ihnen sehen. Denken Sie darüber nach:

  • Die meisten Datensätze können auf verschiedene Weise modelliert werden.
  • Es ist zeitaufwändig, jedes Modell manuell zu versuchen.
  • Das frühzeitige Auswahl des falschen Modells kann Ihr Projekt entgleisen.

Mit der Automatisierung können Sie:

  • Vergleichen Sie Dutzende von Modellen sofort.
  • Erhalten Sie Leistungsmetriken, ohne sich wiederholten Code zu schreiben.
  • Identifizieren Sie High-Performing-Algorithmen basierend auf Genauigkeit, F1-Rating oder RMSE.

Es ist nicht nur bequem, es ist eine intelligente ML -Hygiene.

Bibliotheken werden wir verwenden

Wir werden 2 unterschätzte Python -ML -Automatisierungsbibliotheken untersuchen. Diese sind LazyPredict Und Pykarett. Sie können beide mit dem unten angegebenen PIP -Befehl installieren.

pip set up lazypredict
pip set up pycaret

Importieren der erforderlichen Bibliotheken

Nachdem wir die erforderlichen Bibliotheken installiert haben, importieren wir sie. Wir werden auch einige andere Bibliotheken importieren, die uns helfen, die Daten zu laden und sie für die Modellierung vorzubereiten. Wir können sie mit dem unten angegebenen Code importieren.

import pandas as pd
from sklearn.model_selection import train_test_split
from lazypredict.Supervised import LazyClassifier
from pycaret.classification import *

Dataset laden

Wir werden den frei verfügbaren Diabetes -Datensatz verwenden, und Sie können diese Daten daraus überprüfen Hyperlink. Wir werden den folgenden Befehl verwenden, um die Daten herunterzuladen, sie in einem Datenrahmen zu speichern und die X (Funktionen) und Y (Ergebnis) zu definieren.

# Load dataset
url = "https://uncooked.githubusercontent.com/jbrownlee/Datasets/grasp/pima-indians-diabetes.knowledge.csv"
df = pd.read_csv(url, header=None)

X = df.iloc(:, :-1)
y = df.iloc(:, -1)

Verwenden von LazyPredict

Nachdem der Datensatz und die erforderlichen Bibliotheken importiert werden, teilen wir die Daten in ein Coaching und einen Testdatensatz auf. Danach werden wir es endlich an LazyPredict weitergeben, um zu verstehen, was das beste Modell für unsere Daten ist.

# Cut up knowledge
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# LazyClassifier
clf = LazyClassifier(verbose=0, ignore_warnings=True)
fashions, predictions = clf.match(X_train, X_test, y_train, y_test)

# High 5 fashions
print(fashions.head(5))
Modellleistung

In der Ausgabe können wir deutlich erkennen, dass LazyPredict versucht hat, die Daten in über 20 ml -Modellen anzupassen, und die Leistung in Bezug auf Genauigkeit, ROC, AUC usw. wird gezeigt, dass sie das beste Modell für die Daten auswählt. Dies macht die Entscheidung weniger zeitaufwändig und genauer. In ähnlicher Weise können wir eine Handlung der Genauigkeit dieser Modelle erstellen, um es zu einer visuelleren Entscheidung zu machen. Sie können auch die benötigte Zeit überprüfen, was vernachlässigbar ist, was es viel mehr Zeit spart.

import matplotlib.pyplot as plt

# Assuming `fashions` is the LazyPredict DataFrame
top_models = fashions.sort_values("Accuracy", ascending=False).head(10)

plt.determine(figsize=(10, 6))
top_models("Accuracy").plot(form="barh", colour="skyblue")
plt.xlabel("Accuracy")
plt.title("High 10 Fashions by Accuracy (LazyPredict)")
plt.gca().invert_yaxis()
plt.tight_layout()
Modellleistung Visualisierung

Verwenden von Pycaret

Überprüfen wir nun, wie Pycaret funktioniert. Wir werden denselben Datensatz verwenden, um die Modelle zu erstellen und die Leistung zu vergleichen. Wir werden den gesamten Datensatz verwenden, da Pycarett selbst einen Testtrain-Cut up durchführt.

Der folgende Code wird:

  • Führen Sie mehr als 15 Modelle aus
  • Bewerten Sie sie mit Kreuzvalidierung
  • Geben Sie den besten auf der Leistung zurück

Alles in zwei Codezeilen.

clf = setup(knowledge=df, goal=df.columns(-1))
best_model = compare_models()
Pycaret -Datenanalyse
Pycaret -Modellleistung

Wie wir hier sehen können, liefert PyCaret viel mehr Informationen über die Leistung des Modells. Es kann ein paar Sekunden dauern als LazyPredict, aber es liefert auch mehr Informationen, damit wir eine fundierte Entscheidung darüber treffen können, welches Modell wir fortsetzen möchten.

Actual-Life-Anwendungsfälle

Einige reale Anwendungsfälle, in denen diese Bibliotheken von Vorteil sein können, sind:

  • Schnelles Prototyping bei Hackathons
  • Interne Dashboards, die das beste Modell für Analysten vorschlagen
  • ML unterrichten, ohne in Syntax zu ertrinken
  • Ideen vor dem Testen vor der vollständigen Bereitstellung

Abschluss

Die Verwendung von Automl -Bibliotheken wie die, die wir besprochen haben, heißt das nicht, dass Sie die Mathematik hinter Modellen lernen sollten. Aber in einer schnelllebigen Welt ist es ein großer Produktivitätsschub.

Was ich an LazyPredict und Pycaret liebe, ist, dass sie Ihnen eine kurze Rückkopplungsschleife geben, sodass Sie sich auf Characteristic -Engineering, Domänenkenntnisse und Interpretationen konzentrieren können.

Wenn Sie ein neues ML -Projekt starten, probieren Sie diesen Workflow aus. Sie sparen Zeit, treffen bessere Entscheidungen und beeindrucken Ihr Workforce. Lassen Sie Python das schwere Heben durchführen, während Sie intelligenteren Lösungen bauen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert