Freigeben über


Poisson-Regression

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Erstellt ein Regressionsmodell, das davon ausgeht, dass Daten eine Poisson-Verteilung haben

Kategorie: Machine Learning/Initialize Model/Regression

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Poisson Regression-Modul in Machine Learning Studio (klassisch) verwenden, um ein Poisson-Regressionsmodell zu erstellen.

Poisson-Regression ist für die Verwendung in Regressionsmodellen vorgesehen, die verwendet werden, um numerische Werte vorherzusagen, in der Regel Zählungen. Daher sollten Sie dieses Modul nur dann verwenden, um das Regressionsmodell zu erstellen, wenn die Werte, die Sie vorhersagen möchten, folgende Bedingungen erfüllen:

  • Die Antwortvariable hat eine Poisson-Verteilung.

  • Die Anzahlen dürfen nicht negativ sein. Bei der Methode tritt direkt ein Fehler auf, wenn Sie versuchen, sie mit negativen Bezeichnungen zu verwenden.

  • Eine Poisson-Verteilung ist eine gleichmäßige Verteilung, darum ist es nicht sinnvoll, diese Methode mit Zahlen zu verwenden, die keine Ganzzahlen sind.

Tipp

Wenn der Zielwert keine Anzahl ist, ist die Poisson-Regression wahrscheinlich keine geeignete Methode. Probieren Sie eines der anderen Module in dieser Kategorie aus. Hilfe zur Auswahl einer Regressionsmethode finden Sie im Spickzettel Machine Learning Algorithmus.

Nachdem Sie die Regressionsmethode eingerichtet haben, müssen Sie das Modell mithilfe eines Datasets trainieren, das Beispiele für den Wert enthält, den Sie vorhersagen möchten. Das trainierte Modell kann danach verwendet werden, um Vorhersagen zu treffen.

Weitere Informationen zur Poisson-Regression

Eine Poisson-Regression ist ein spezieller Typ von Regressionsanalyse, der üblicherweise dazu verwendet wird, Anzahlen zu modellieren. Beispielsweise bietet sich eine Poisson-Regression für die folgenden Szenarien an:

  • Modellieren der Anzahl von Erkältungen, die mit Flugreisen in Zusammenhang stehen

  • Schätzen der Anzahl von Notrufen während eines Ereignisses

  • Projizieren der Anzahl von Kundenanfragen nach einer Werbekampagne

  • Erstellen von Kontingenztabellen

Da die Antwortvariable eine Poisson-Verteilung aufweist, trifft das Modell andere Annahmen über die Daten und ihre Wahrscheinlichkeitsverteilung als beispielsweise die Regression mit der Methode der kleinsten Quadrate. Daher sollten Poisson-Modelle anders als andere Regressionsmodelle interpretiert werden.

So konfigurieren Sie eine Poisson-Regression

  1. Fügen Sie ihrem Experiment in Studio (klassisch) das Poisson-Regressionsmodul hinzu.

    Sie finden dieses Modul unter Machine Learning – Initialisieren in der Kategorie Regression.

  2. Fügen Sie ein Dataset hinzu, das Trainingsdaten des richtigen Typs enthält.

    Sie sollten Normalize Data (Daten normalisieren) verwenden, um das Eingabedataset zu normalisieren, bevor Sie damit den Regressor trainieren.

  3. Geben Sie im Bereich Eigenschaften des Poisson Regression-Moduls an, wie das Modell trainiert werden soll, indem Sie die Option Create trainer mode (Trainermodus erstellen) festlegen.

    • Single Parameter (Einzelner Parameter): Wenn Sie wissen, wie Sie das Modell konfigurieren möchten, geben Sie eine bestimmte Menge von Werten als Argumente an.

    • Parameterbereich. Wenn Sie sich nicht sicher sind, welche Parameter am besten sind, verwenden Sie das Modul Tune Model Hyperparameters (Optimieren von Modellhyperparametern ). Der Trainer durchläuft mehrere von Ihnen angegebene Werte, um die optimale Konfiguration zu finden.

  4. Optimization Tolerance (Optimierungstoleranz): Geben Sie einen Wert ein, der das Intervall für die Toleranz bei der Optimierung definiert. Je kleiner der Wert ist, desto langsamer und genauer ist die Anpassung.

  5. L1 regularization weight (L1-Regularisierungsgewichtung) und L2 regularization weight (L2-Regularisierungsgewichtung): Geben Sie Werte für L1- und L2-Regularisierung ein. Die Regularisierung fügt dem Algorithmus Beschränkungen bezüglich der Aspekte des Modells hinzu, die von den Trainingsdaten unabhängig sind. Regularisierung wird häufig verwendet, um Überanpassung zu vermeiden.

    • Die L1-Regularisierung ist nützlich, wenn ein Modell mit möglichst geringer Dichte gewünscht ist.

      Eine L1-Regularisierung wird ausgeführt, indem die L1-Gewichtung des Gewichtungsvektors von dem Verlustausdruck subtrahiert wird, den das Lernmodul minimieren möchte. Die L1-Norm ist eine gute Näherung an die L0-Norm, die die Anzahl von Koordinaten ungleich 0 angibt.

    • L2-Regularisierung verhindert, dass jeder einzelnen Koordinate im Gewichtungsvektor zu viel Bedeutung zugewiesen wird. L2-Regularisierung ist nützlich, wenn ein Modell mit kleinen Gesamtgewichtungen gewünscht ist.

    In diesem Modul können Sie eine Kombination aus L1- und L2-Regularisierungen anwenden. Durch Kombinieren von L1- und L2-Regularisierung können Sie eine Strafe für die Größenordnung der Parameterwerte festlegen. Das Lernmodul versucht, die Strafe im Kompromiss mit dem Minimieren des Verlusts zu minimieren.

    Eine gute Erörterung der L1-und L2-Regularisierung finden Sie unter Testlauf – L1-und L2-Regularisierung für Machine Learning.

  6. Memory Size for L-BFGS (Arbeitsspeichergröße für L-BFGS): Geben Sie an, wieviel Arbeitsspeicher für Anpassung und Optimierung des Modells reserviert werden soll.

    L-BFGS ist eine bestimmte Optimierungsmethode, die auf dem „Broyden–Fletcher–Goldfarb–Shanno“-Algorithmus (BFGS) basiert. Die Methode verwendet eine begrenzte Menge an Arbeitsspeicher (L), um den nächsten Schritt berechnen.

    Durch Ändern dieses Parameters können Sie die Anzahl von vorherigen Positionen und Gradienten beeinflussen, die für die Berechnung des nächsten Schritts gespeichert werden.

  7. Stellen Sie die Verbindung des Trainingsdatasets und des untrainierten Modells mit einem der Trainingsmodule her:

    • Wenn Sie Create trainer mode (Trainermodus erstellen) auf Single Parameter (Einzelner Parameter) festlegen, müssen Sie das Modul Train Model (Trainieren des Modells) verwenden.

    • Wenn Sie Create trainer mode (Trainermodus erstellen) auf Parameter Range (Parameterbereich) festlegen, verwenden Sie das Modul Tune Model Hyperparameters (Abstimmen der Hyperparameter des Modells).

    Warnung

    • Wenn Sie einen Parameterbereich an Train Model übergeben, wird nur der erste Wert in der Parameterbereichsliste verwendet.

    • Wenn Sie eine einzelne Reihe bestimmter Parameterwerte an das Modul Tune Model Hyperparameters übergeben und ein Bereich von Einstellungen für jeden Parameter erwartet wird, werden die Werte ignoriert und stattdessen die Standardwerte für den Learner verwendet.

    • Wenn Sie die Option Parameter Range (Parameterbereich) auswählen und einen einzelnen Wert für einen beliebigen Parameter eingeben, wird dieser angegebene einzelne Wert während des gesamten Löschvorgangs verwendet, auch wenn andere Parameter in einem Wertebereich geändert werden.

  8. Führen Sie das Experiment aus, um das Modell zu trainieren.

Beispiele

Beispiele für die Verwendung der Poisson-Regression beim maschinellen Lernen finden Sie im Azure KI-Katalog.

  • Beispiel 6: Trainieren, Testen, Auswerten für Regression: Dataset für automatische Importe: In diesem Experiment werden die Ergebnisse zweier Algorithmen verglichen: Poisson-Regression und Entscheidungswaldregression.

  • Vorbeugende Wartung: Eine erweiterte exemplarische Vorgehensweise, die poisson Regression verwendet, um den Schweregrad von Fehlern zu bewerten, die von einem Entscheidungswaldmodell vorhergesagt werden.

Technische Hinweise

Die Poisson-Regression wird verwendet, um Zähldaten zu modellieren, vorausgesetzt, die Bezeichnung verfügt über eine Poisson-Verteilung. Beispielsweise können Sie damit die Anzahl der Anrufe an einem bestimmten Tag in einem Kundensupportcenter vorhersagen.

Bei diesem Algorithmus wird davon ausgegangen, dass eine unbekannte Funktion, die als Y bezeichnet wird, über eine Poisson-Verteilung verfügt. Die Poisson-Verteilung ist wie folgt definiert:

Bei der Instanz x = (x0, ..., xd-1) berechnet das Modul für jedes k=0,1, ... die Wahrscheinlichkeit, dass der Wert der Instanz k ist.

Anhand der Trainingsbeispiele versucht der Algorithmus, die optimalen Werte für θ0, ...,θD-1 zu finden, indem versucht wird, die Protokollwahrscheinlichkeit der Parameter zu maximieren. Die Wahrscheinlichkeit der Parameter θ0, ...,θD-1 ist die Wahrscheinlichkeit, dass die Trainingsdaten aus einer Verteilung mit diesen Parametern entnommen wurden.

Die Protokollwahrscheinlichkeit kann als logp(y = login) angezeigt werden.

Die Vorhersagefunktion gibt den erwarteten Wert dieser parametrisierten Poisson-Verteilung aus, insbesondere: fw,b(x) = E[Y|x] = ewTx+b.

Weitere Informationen finden Sie im Eintrag zur Poisson-Regression auf Wikipedia.

Modulparameter

Name Range type Standard Beschreibung
Optimization tolerance >=double.Epsilon Float 0.0000001 Geben Sie einen Toleranzwert für die Optimierungskonvergenz an. Je kleiner der Wert ist, desto langsamer und genauer ist die Anpassung.
L1 regularization weight >=0,0 Float 1.0 Geben Sie die L1-Regularisierungsgewichtung an. Verwenden Sie einen Wert ungleich 0, um eine Überanpassung des Modells zu vermeiden.
L2-Regularisierungsgewichtung >=0,0 Float 1.0 Geben Sie die L2-Regularisierungsgewichtung an. Verwenden Sie einen Wert ungleich 0, um eine Überanpassung des Modells zu vermeiden.
Memory size for L-BFGS >=1 Integer 20 Geben Sie an, wie viel Arbeitsspeicher (in MB) für den L-BFGS-Optimierer verwendet werden soll. Mit weniger Arbeitsspeicher erfolgt das Training schneller, ist aber ungenauer.
Random number seed any Integer Geben Sie einen Wert als Ausgangswert für den Zufallszahlengenerator ein, der vom Modell verwendet wird. Lassen Sie das Feld leer, um die Standardeinstellung zu verwenden.
Allow unknown categorical levels any Boolean true Geben Sie an, ob eine zusätzliche Ebene für jede Kategoriespalte erstellt werden soll. Alle Ebenen im Testdataset, die nicht im Trainingsdataset zur Verfügung stehen, werden dieser zusätzlichen Ebene zugeordnet.

Ausgaben

Name Type BESCHREIBUNG
Untrainiertes Modell ILearner-Schnittstelle Ein untrainiertes Regressionsmodell

Siehe auch

Regression
Modulliste von A bis Z