Eine praktische Einführung in AutoML von H2O: E-Commerce-Abwanderungsvorhersage | von Puja Chaudhury | Juni 2023

0
26


Stellen Sie sich vor, Sie lernen kochen, aber anstatt sich mit dem Zerkleinern von Zwiebeln und dem Kochen von Soßen abmühen zu müssen, stoßen Sie auf ein magisches Küchengerät. Dieses Gerät nimmt Ihre Zutaten auf, zaubert eine köstliche Mahlzeit und reinigt sich sogar selbst. Klingt unglaublich, oder? Nun, genau so ging es mir, als ich zum ersten Mal AutoML von H2O entdeckte. Es kann alle Arten von Daten verarbeiten und macht die Erstellung von Modellen für maschinelles Lernen zum Kinderspiel. Es hat mir so viel Spaß gemacht, dass ich einfach teilen musste, was ich gelernt habe.

Stellen Sie sich das so vor: Wissen Sie, wie ChatGPT es einfacher macht, ein Gespräch zu führen? Das liegt daran, dass hinter den Kulissen viel harte Arbeit und komplexe Prozesse ablaufen, um zu verstehen, was Sie sagen, und angemessen zu reagieren. Aber für Sie ist es nur ein Chat. Stellen Sie sich nun etwas Ähnliches vor, aber für maschinelles Lernen und Vorhersagen. Das ist AutoML.

In der Welt des maschinellen Lernens ist AutoML wie Ihr persönlicher Assistent. Es übernimmt die ganze schwere Arbeit, die mit der Einrichtung und Durchführung von Machine-Studying-Projekten einhergeht. Es kümmert sich um alles, vom Umgang mit Rohdaten bis zur Auswahl des besten Modells, alles unter der Haube. Die Idee besteht darin, maschinelles Lernen weniger kompliziert und effizienter zu machen, genau wie ChatGPT es mit Konversationen macht. Egal, ob Sie ein erfahrener Profi sind oder gerade erst anfangen, AutoML steht Ihnen zur Seite.

In diesem Weblog erkläre ich Ihnen, was H2O AutoML so großartig macht, und teile ein Projekt, an dem ich gearbeitet habe. Bleiben Sie additionally hier und lassen Sie uns sehen, was H2O AutoML leisten kann!

H2O ist eine Open-Supply-Plattform für Datenanalyse und maschinelles Lernen. Es wurde von H2O.ai entwickelt und soll schnelles, skalierbares maschinelles Lernen für Einzelpersonen und Organisationen ermöglichen, unabhängig von ihrer Größe oder ihren Ressourcen. H2O ist in Java geschrieben, bietet aber APIs für Sprachen wie Python, R und Scala und macht es so einem breiten Spektrum von Entwicklern und Datenwissenschaftlern zugänglich.

AutoML-Workflow-Übersicht von H2O.ai

Wie unterscheidet sich H2O?

  • H2O zeichnet sich durch seine Fähigkeit aus, große Datensätze zu verarbeiten, die nicht in den Speicher einer einzelnen Maschine passen würden.
  • Es unterteilt große Aufgaben in kleinere, verteilt sie auf mehrere Maschinen und sammelt dann die Ergebnisse.
  • Dies macht es zu einem hervorragenden Device für Unternehmen, die große Datenmengen schnell verarbeiten müssen.

H2O AutoML

  • AutoML von H2O ist ein automatisiertes System für maschinelles Lernen, das den Prozess der Erstellung von Modellen für maschinelles Lernen vereinfacht.
  • Es übernimmt alles von der Datenvorverarbeitung und Characteristic-Engineering bis hin zur Modellauswahl und -optimierung.
  • Die Verwendung von AutoML von H2O erfordert nur minimale Kenntnisse im Bereich maschinelles Lernen – Sie stellen lediglich Ihren Datensatz bereit, geben eine Zielvariable an und legen ein Zeitlimit fest.
  • H2O AutoML trainiert und optimiert verschiedene Modelle und präsentiert dann eine Bestenliste der besten Modelle.
  • Es ist ein leistungsstarkes Device sowohl für Anfänger als auch für erfahrene Datenwissenschaftler – es vereinfacht das Lernen für Anfänger und spart erfahrenen Benutzern Zeit und Mühe.

Vor einiger Zeit habe ich ein Projekt übernommen, bei dem es darum ging, die Kundenabwanderung für ein E-Commerce-Unternehmen vorherzusagen. Wenn Sie mit dem Begriff nicht vertraut sind: „Abwanderung“ bezieht sich auf Kunden, die keine Geschäfte mehr mit einem Unternehmen tätigen. Wie Sie sich vorstellen können, ist die Vorhersage, welche Kunden abwandern könnten, für ein Unternehmen unglaublich wertvoll – es ermöglicht ihm, einzugreifen und zu versuchen, diese Kunden an sich zu binden.

Das Unternehmen verfügte über zahlreiche Daten seiner Kunden, von der Kaufhistorie bis hin zum Surfverhalten auf der Web site. Die Herausforderung bestand darin, anhand dieser Daten vorherzusagen, welche Kunden in Zukunft wahrscheinlich abwandern würden.

Angesichts der Größe und Komplexität der Daten habe ich mich entschieden, für diese Aufgabe AutoML von H2O zu verwenden. Ich hatte H2O bereits zuvor verwendet und struggle von seiner Leistung bei großen Datensätzen beeindruckt. Aber dies struggle das erste Mal, dass ich die AutoML-Funktionalität nutzte, und ich struggle gespannt, wie sie funktionieren würde.

Erste Schritte mit AutoML von H2O

Der Einstieg in AutoML von H2O struggle unkompliziert. Nachdem ich die Daten in H2O geladen hatte, richtete ich den AutoML-Lauf ein, indem ich die Zielvariable angab (in diesem Fall, ob ein Kunde abgewandert ist oder nicht) und ein Zeitlimit für den Lauf festlegte. Dann lasse ich AutoML von H2O seine Arbeit machen. Die Daten wurden automatisch vorverarbeitet, Funktionen entwickelt und verschiedene Modelle für maschinelles Lernen trainiert. Nach Abschluss des Laufs wurde mir eine Bestenliste der besten Modelle angezeigt.

Schritt-für-Schritt-Anleitung für den Einstieg in AutoML von H2O.

Schritt 1: Datensatz

Ich schulde Ankit Verma großen Dank für den Datensatz, den ich in diesem Projekt verwendet habe und den ich auf Kaggle gefunden habe. Wenn Sie interessiert sind, können Sie sich gleich den Datensatz selbst holen Hier.

Schritt 2: Installieren Sie die erforderlichen Bibliotheken

Um mit AutoML von H2O arbeiten zu können, müssen Sie mehrere Python-Pakete installieren. Führen Sie die folgenden Befehle in Ihrer Python-Umgebung aus:

!pip set up requests
!pip set up tabulate
!pip set up "colorama>=0.3.8"
!pip set up future
!pip set up h2o

Schritt 3: H2O initialisieren und AutoML einrichten

Wir müssen H2O zum Laufen bringen. Dazu importieren wir zunächst die notwendigen Bibliotheken. Wir werden das brauchen h2o Natürlich die Bibliothek selbst, und daraus werden wir auch importieren H2OAutoML.

import h2o
from h2o.automl import H2OAutoML

Sobald wir diese haben, können wir unsere H2O-Instanz initialisieren. Wir werden auch die maximale Speichergröße begrenzen, die H2O nutzen kann. Für dieses Projekt habe ich es auf „16G“ eingestellt, aber Sie können dies entsprechend den Fähigkeiten Ihres Methods anpassen.

h2o.init(max_mem_size='16G')

Schritt 3: Daten importieren und Variablen einrichten

Als Nächstes importieren wir unseren Datensatz und teilen ihn in einen Trainingssatz und einen Testsatz auf. Wir definieren auch unsere abhängigen und unabhängigen Variablen.

Zuerst verwenden wir die h2o.import_file() Funktion zum Importieren unseres Datensatzes. Unbedingt austauschen "Ecom.csv" mit dem Pfad zu Ihrem Datensatz, falls dieser anders ist. Um einen kurzen Blick auf unsere Daten zu werfen, verwenden wir die df.head() Funktion.

df = h2o.import_file("Ecom.csv")
df.head()

Als Nächstes teilen wir unseren Datensatz in einen Trainingssatz und einen Testsatz auf. Wir werden das verwenden df.split_frame() Funktion hierfür, die angibt, dass wir 80 % der Daten in unserem Trainingssatz haben möchten (die restlichen 20 % bleiben für unseren Testsatz übrig).

df_train, df_test = df.split_frame(ratios=[.8])

Jetzt richten wir unsere abhängigen und unabhängigen Variablen ein. Unsere abhängige Variable (die wir vorhersagen möchten) ist „Churn“. Unsere unabhängigen Variablen (die wir verwenden, um unsere Vorhersagen zu treffen) sind alle anderen Spalten in unserem Datensatz, mit Ausnahme von „Churn“ und „CustomerID“ (wir entfernen „CustomerID“, da es für jeden Kunden eindeutig ist und dies nicht der Fall ist zum Modell beitragen).

y = "Churn"
x = df.columns
x.take away(y)
x.take away('CustomerID')

Und da haben wir es! Wir haben unsere Daten importiert, sie in einen Trainingssatz und einen Testsatz aufgeteilt und unsere abhängigen und unabhängigen Variablen eingerichtet. Jetzt können wir mit der Verwendung von AutoML beginnen.

Schritt 4: AutoML-Modell trainieren

Nachdem wir unsere Daten eingerichtet haben, können wir nun unser AutoML-Modell trainieren. Dafür richten wir eine ein H2OAutoML Objekt, geben Sie einige Parameter an und lassen Sie es auf unseren Daten trainieren.

Zuerst initialisieren wir unser AutoML-Modell. Wir setzen max_runtime_secs=300 Das bedeutet, dass der AutoML-Prozess maximal 300 Sekunden lang ausgeführt wird. max_models=10 was AutoML anweist, maximal 10 Modelle zu berücksichtigen, seed=10 um die Reproduzierbarkeit sicherzustellen, verbosity="information" um detaillierte Protokolle zu erhalten, und nfolds=2 zur Kreuzvalidierung.

aml = H2OAutoML(max_runtime_secs=500,max_models = 15, seed = 7, verbosity="information", nfolds=4)

Als nächstes trainieren wir das Modell anhand unserer Trainingsdaten mit prepare() Funktion, die unsere unabhängigen und abhängigen Variablen und den Trainingsrahmen angibt.

aml.prepare(x=x, y=y, training_frame=df_train)

Anschließend rufen wir die Bestenliste ab, in der die Modelle nach ihrer Leistung eingestuft werden.

Das Modell mit der besten Leistung struggle ein StackedEnsemble, was eine kleine Überraschung struggle – ich hatte erwartet, dass ein Deep-Studying-Modell die Nase vorn haben würde. Aber das ist das Schöne an AutoML: Es kann Erkenntnisse gewinnen und Ergebnisse liefern, die möglicherweise nicht offensichtlich wären, wenn Sie alles manuell erledigen würden.

lb = aml.leaderboard
model_ids = listing(aml.leaderboard['model_id'].as_data_frame().iloc[:,0])

Wir können die Leistung des Topmodells (des „Spitzenreiters“) am Testset überprüfen.

aml.chief.model_performance(df_test)

Am Ende dieser Schritte sollten Sie über ein trainiertes AutoML-Modell verfügen und einige Vorhersagen zu Ihren Testdaten getroffen haben. Die Leistungsmetriken geben Ihnen einen Hinweis darauf, wie intestine Ihr Modell abschneidet. In diesem Fall werden der mittlere quadratische Fehler (MSE), der mittlere quadratische Fehler (RMSE), der mittlere absolute Fehler (MAE), der mittlere quadratische logarithmische Fehler (RMSLE) und die R²-Werte sowohl für Trainings- als auch für Kreuzvalidierungsdaten gemeldet. Diese geben Ihnen einen guten Hinweis darauf, wie intestine Ihr Modell funktioniert.

Schritt 5: Vorhersagen zu den Testdaten treffen

Da wir nun über unser leistungsstärkstes Modell verfügen, ist es an der Zeit, es an unseren Testdaten zu testen. Dies geschieht durch den Aufruf von predict Funktion und Weitergabe unserer Testdaten.

pred = aml.predict(df_test)

Um unsere Vorhersagen zu überprüfen, verwenden wir die head Funktion, die uns die ersten Zeilen unserer Vorhersagedaten liefert:

pred.head()

Hier werden Ihnen die wichtigsten Vorhersagen angezeigt, die unser Modell anhand der Testdaten getroffen hat. Es ist immer wieder spannend zu sehen, was sich dein Mannequin ausgedacht hat!

Unabhängig davon, ob Sie ein erfahrener Datenwissenschaftler oder ein Anfänger im Bereich des maschinellen Lernens sind, bietet AutoML von H2O eine fantastische Gelegenheit, Ihren Modellbildungsprozess zu optimieren. Es handelt sich um ein leistungsstarkes Device, mit dem Sie mit minimalem manuellen Eingriff optimale Modelle für Ihre Datensätze ermitteln können.

AutoML von H2O ist nicht nur auf Customary-Geschäftsanwendungsfälle beschränkt. Es hat sich in verschiedenen Bereichen als wirksam erwiesen. Ein aktuelles Beispiel ist eine von einem Forscherteam durchgeführte Studie zur Vorhersage der Wasserqualität. Sie nutzten H2O.ai AutoML und veröffentlichten einen Artikel, in dem sie ihre Ergebnisse und den Einsatz von H2O-3 AutoML in ihrer Studie detailliert beschrieben. Das Papier unterstreicht die Bedeutung präziser Vorhersagen der Wasserqualität für ein solides Wassermanagement und den Umweltschutz.

Vorhersage der Wasserqualität mit H2O AutoML und erklärbaren KI-Techniken von Hamza Ahmad Madni et al.

Zusammenfassend lässt sich sagen, dass AutoML von H2O Ihre maschinellen Lernprojekte grundlegend verändern kann. Es ist an der Zeit, dieses leistungsstarke Device zu Ihrem Information-Science-Toolkit hinzuzufügen. Tauchen Sie additionally ein, experimentieren Sie und erschließen Sie das Potenzial von AutoML für Ihre Projekte. Viel Spaß beim Modeln!



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here