Vergleichen Sie ML-Modelle mit wenigen Codezeilen

Mithilfe der Lazy Predict-Bibliothek können wir mühelos die leistungsstärksten Klassifizierungs- und Regressionsalgorithmen vergleichen. Diese Bibliothek wurde von „Shankar Rao Pandala“ verfasst und hier ist der Link zur Dokumentation.

Wir werden den Brustkrebs-Datensatz zum Vergleichen von Klassifizierungsalgorithmen und den Boston Housing-Datensatz zum Vergleichen der Regressionsalgorithmen mit nur wenigen Codezeilen für jede Aufgabe verwenden, die diese Bibliothek verwendet.

Klassifizierungsaufgabe:

Installieren der Bibliothek:

! pip install lazypredict

Verwenden Sie den obigen Befehl, um die Lazypredict-Bibliothek zu installieren

Importieren der erforderlichen Bibliotheken und Brustkrebsdaten:

# Importieren von Bibliotheken
Importieren von Lazypredict
aus Lazypredict. Überwachter Import von LazyClassifier
aus sklearn.datasets Importieren von load_breast_cancer
aus sklearn.model_selection Import von train_test_split

# Dataset
laden data = load_breast_cancer ()
X = data.data
y = data.target

Jetzt werden wir die Daten in ein Verhältnis von 80/20 aufteilen:

# Datenaufteilung
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 100)

Lazyclassifier zuweisen:

# Definiert und baut die lazyclassifier
CLF = LazyClassifier (verbose = 0, ignore_warnings = True, custom_metric = None)
models_train, predictions_train = clf.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = clf.fit (X_train, X_test, y_train, y_test)

Zugdatenleistung:

#
Druckt die Modellleistung auf dem Trainingssatz models_train

Leistung verschiedener Modelle anhand von Trainingsdaten

Testdatenleistung:

#
Druckt die Modellleistung im Testdatensatz models_test

Leistung verschiedener Modelle anhand von Testdaten

Aus den obigen Bildern können wir verstehen, wie verschiedene Klassifikatoralgorithmen (ca. 28 Modelle) erstellt werden, und wir können ihre Genauigkeiten, ROC AUC- und F1-Werte sowie ihre Zeit für die Erstellung vergleichen.

Lassen Sie uns ein Balkendiagramm erstellen, um diese Modelle mithilfe von Seaborn- und Matplot-Bibliotheken zu vergleichen.

importiere matplotlib.pyplot als plt
importiere seaborn als sns

plt.figure (figsize = (5, 10))
sns.set_theme (style = ”whitegrid”)
ax = sns.barplot (y = models_train.index, x = ”Genauigkeit”, data = models_train)

Vergleich verschiedener Modellleistungen

Aus dem obigen Barplot können wir entscheiden, welcher Algorithmus besser zu unserer Problemstellung passt, und ihn für eine bessere Leistung weiter optimieren.

Regressionsaufgabe:

# Laden des Boston-Gehäusedatensatzes boston = datasets.load_boston
()
X, y = shuffle (boston.data, boston.target, random_state = 42)

Jetzt werden wir die Daten in ein Verhältnis von 80/20 aufteilen:

# Datenaufteilung
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 42)

Lazyregressor zuweisen:

# Definiert und baut die lazyclassifier
reg = LazyRegressor (verbose = 0, ignore_warnings = False, custom_metric = None)
models_train, predictions_train = reg.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = reg.fit (X_train, X_test, y_train, y_test)

Zugdatenleistung:

#
Druckt die Modellleistung im Trainingsdatensatz models_train

Leistung verschiedener Modelle anhand von Trainingsdaten

Testdatenleistung:

#
Druckt die Modellleistung im Testdatensatz models_test

Leistung verschiedener Modelle anhand von Testdaten

Aus den obigen Bildern können wir verstehen, wie verschiedene Regressor-Algorithmen (ca. 36 Modelle) erstellt werden, und wir können ihre R-Quadrat-RMSE-Werte mit ihrer Zeit vergleichen, die für die Erstellung benötigt wird.

Lassen Sie uns ein Balkendiagramm erstellen, um diese Modelle mithilfe von Seaborn- und Matplot-Bibliotheken zu vergleichen.

importiere matplotlib.pyplot als plt
importiere seaborn als sns

models_train [“R-Squared”] = [0 wenn i <0 sonst i für i in models_train.iloc [:, 0]]

plt.figure (figsize = (5, 10))
sns.set_theme (style = ”whitegrid”)
ax = sns.barplot (y = models_train.index, x = ”R-Squared”, data = models_train)
ax.set ( xlim = (0, 1))

Vergleich der Leistung verschiedener Modelle basierend auf der R-Quadrat-Metrik

Dies ist eine einfache Möglichkeit, mehrere Modelle für maschinelles Lernen mit nur wenigen Codezeilen zu erstellen. Wenn wir versuchen, diese ML-Modelle manuell einzeln zu erstellen, würde es viel Zeit in Anspruch nehmen, die jeweiligen Bibliotheken zu importieren, einzeln zu erstellen und ihre Vorhersageergebnisse zu aggregieren. Aus dem obigen Barplot können wir eine Schlussfolgerung ziehen, welcher Algorithmus gut funktioniert, und uns entscheiden, ihn für eine bessere Leistung weiter zu optimieren.

Hinweis :

Mit der LazyPredict-Bibliothek können wir die Modelle mit ihren Standardparametern erstellen. Wir können die Parameter nicht optimieren, aber es werden diese Modelle mit ihren Standardparametern erstellt, was immer noch gut ist, da wir sie schnell erstellen konnten. Sobald wir herausgefunden haben, welches Modell das beste ist, können wir uns darauf konzentrieren, eine Hyperparameteroptimierung für diese ML durchzuführen Algorithmus.

Also, was denkt ihr? Ich werde interessiert sein, Ihre Gedanken darüber zu erfahren. Ich hoffe, ich habe Ihnen eine kurze Vorstellung davon gegeben, wie Sie mit nur wenigen Codezeilen schnell ML-Modelle erstellen können. Geben Sie ein 💚, wenn Sie diesen Beitrag für zusätzliche Motivation mögen. Ich bin immer offen für Ihre Vorschläge und Fragen.

Suggested posts

Assoziatives Gedächtnis implementieren

Assoziatives Gedächtnis implementieren

Geschrieben von Shashata Sawmya und Harveer Singh Mit dem Aufkommen großer neuronaler Netze und den ständig zunehmenden technologischen Fortschritten, die aktuelle Methoden an ihre absoluten Grenzen bringen, liegt der Schwerpunkt auf der Entwicklung eines Allround-Tools, das alles kann. Allerdings würden die meisten Aufgaben nicht die unglaublich intensiven tiefen Netzwerke erfordern, sondern dennoch etwas Vielseitigeres als grundlegende mathematische Modelle.

So führen Sie ChatGPT-Plugins kostenlos mit Langchain aus

So führen Sie ChatGPT-Plugins kostenlos mit Langchain aus

Sie haben sicher schon von allen neuen leistungsstarken ChatGPT-Plugins wie Browser, Code Interpreter usw. gehört. Es gibt jedoch ein Problem: Der Zugriff auf Plugins ist auf eine Warteliste beschränkt und viele haben daher keinen Zugriff darauf.

Related posts

Was macht einen Podcast einflussreich?

Was macht einen Podcast einflussreich?

Letzte Woche fiel mir eine Pressemitteilung auf, die über PressGazette (eine britische Nachrichten-Website für Medien) verschickt wurde. In dem Artikel wurde angekündigt, dass Acast, das skandinavische Podcast-Hosting- und Werbeunternehmen, ein Konsortium der „wahrscheinlich einflussreichsten“ Verlage im Podcasting leiten werde.

GRENZENLOSES LEBEN

Wenn man erwachsen wird, wird einem oft gesagt, dass die Welt so ist, wie sie ist, und dass das Leben nur darin besteht, sein Leben in der Welt zu leben, niemals sein Leben zu riskieren, einfach einem festgelegten Weg zu folgen und am Ende zu sterben, und versucht, es nicht zu tun Schlage zu viel gegen die Wände. Aber das ist ein sehr begrenztes Leben.

„Der Marianengraben enthüllt: Enthüllung der schrecklichen verborgenen Wahrheiten des Abgrunds“

„Der Marianengraben enthüllt: Enthüllung der schrecklichen verborgenen Wahrheiten des Abgrunds“

Einleitung: Willkommen, mutige Leser, zu einer Reise, die uns in die dunkelsten Tiefen unseres Planeten führt. In diesem Blog tauchen wir in die rätselhafte Welt des Marianengrabens ein, decken seine verborgenen Geheimnisse auf und decken die gruseligen Wahrheiten auf, die unter seiner Oberfläche liegen.

Informationen zu Domänennamen finden

Ein Auszug aus Small, Sharp Software Tools von Brian P. Hogan

Informationen zu Domänennamen finden

Wenn Sie eine Anfrage an facebook.com stellen, sucht Ihr Computer nach dem Domänennamen, um diesen in eine IP-Adresse zu übersetzen, damit Ihr Computer diese Verbindung herstellen kann.