Schnelle gesamtstrukturbasierte Quantilregression

Erstellt ein Quantilregressionsmodell.

Kategorie: Machine Learning/Modell/Regression initialisieren

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Dieser Inhalt bezieht sich nur auf Studio (klassisch). Ähnliche Drag & Drop-Module wurden Azure Machine Learning-Designer hinzugefügt. Weitere Informationen finden Sie in diesem Artikel zum Vergleich der beiden Versionen.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das fast Forest Quantile Regression -Modul in Azure Machine Learning Studio (klassisch) verwenden, um ein Regressionsmodell zu erstellen, das Werte für eine angegebene Anzahl von Quantilen vorhersagen kann.

Die Quantilregression ist nützlich, wenn Sie mehr über die Verteilung des vorausberechneten Werts wissen möchten und keinen einzelnen mittleren Vorhersagewert erhalten möchten. Diese Methode hat zahlreiche Anwendungsmöglichkeiten, so z. B.:

  • Vorhersagen von Preisen

  • Einschätzen der Schülerleistung oder Nutzen von Wachstumsgrafiken zum Bewerten der Kindesentwicklung

  • Erkennen prädiktiver Beziehungen in Fällen, bei denen es nur eine schwache Beziehung zwischen Variablen gibt

Dieser Regressionsalgorithmus ist eine überwachte Lernmethode, d. h. sie erfordert ein mit Tags versehenes Dataset, das eine Bezeichnungsspalte enthält. Da es sich um einen Regressionsalgorithmus handelt, darf die Bezeichnungsspalte nur numerische Werte enthalten.

Weitere Informationen zur Quantilregression

Es gibt viele verschiedene Arten von Regression. Im Prinzip bedeutet Regression das Anpassen eines Modells an ein Ziel, das als numerischer Vektor ausgedrückt ist. Allerdings haben Statistiker zunehmend elaboriertere Methoden für die Regression entwickelt.

Die einfachste Definition von Quantil ist ein Wert, der eine Datenmenge in gleich große Gruppen unterteilt. Somit markieren die Quantilwerte die Grenzen zwischen Gruppen. Statistisch gesehen sind Quantile Werte, die in regelmäßigen Abständen anhand des Kehrwerts der kumulativen Verteilungsfunktion einer zufälligen Variable bestimmt werden.

Während lineare Regressionsmodelle versuchen, den Wert einer numerischen Variablen mit einer einzelnen Schätzung, dem Mittel, vorherzusagen, ist es mitunter erforderlich, den Bereich oder die Gesamtverteilung der Zielvariablen vorauszuberechnen. Zu diesem Zweck wurden Techniken wie die Bayessche Regression und die Quantilregression entwickelt.

Die Quantilregression hilft Ihnen, die Verteilung des vorhergesagten Werts zu verstehen. Strukturbasierte Quantilregressionsmodelle, wie das in diesem Modul verwendete Modell, haben den zusätzlichen Vorteil, dass sie zum Vorausberechnen nicht parametrischer Verteilungen verwendet werden können.

Weitere Implementierungsdetails und Ressourcen finden Sie im Abschnitt Technische Hinweise.

Konfigurieren Fast_Forest quantilregression

Sie konfigurieren die Eigenschaften des Regressionsmodells mithilfe dieses Moduls und trainieren es dann mit einem der Trainingsmodule.

Konfigurationsschritte unterscheiden sich erheblich davon, ob Sie einen festgelegten Satz von Parametern bereitstellen oder einen Parameter Sweep einrichten.

Erstellen eines Quantile-Regressionsmodells mit Fixed-Parametern

Wenn Sie wissen, wie Sie das Modell konfigurieren möchten, können Sie einen bestimmten Satz von Werten als Argumente bereitstellen. Wenn Sie das Modell trainieren, verwenden Sie Train Model (Modell trainieren).

  1. Fügen Sie das fast Forest Quantile Regression -Modul zu Ihrem Experiment in Studio (klassisch) hinzu.

  2. Legen Sie die Option " Trainer Modus erstellen " auf einzelner Parameter fest.

  3. Geben Sie für Anzahl von Strukturen die maximale Anzahl von Strukturen ein, die im Ensemble erstellt werden können. Wenn Sie weitere Strukturen erstellen, führt dies im Allgemeinen zu einer höheren Genauigkeit, jedoch auch zu längeren Trainingszeiten.

  4. Geben Sie für die Anzahl der Blätter die maximale Anzahl von Blättern oder Terminal Knoten ein, die in einer beliebigen Struktur erstellt werden können.

  5. Geben Sie für die Mindestanzahl von Trainings Instanzen, die zum bilden eines Blatts erforderlich sind, die Mindestanzahl von Beispielen an, die zum Erstellen beliebiger Terminal Knoten (Blatt) in einer Struktur erforderlich sind.

    Wenn Sie diesen Wert heraufsetzen, erhöht sich der Schwellenwert für die Erstellung neuer Regeln. Bei Verwendung des Standardwerts „1“ reicht für die Erstellung einer neuen Regel beispielsweise bereits ein einzelner Fall aus. Wenn Sie den Wert auf 5 erhöhen, müssen die Trainingsdaten mindestens fünf Fälle enthalten, die dieselben Bedingungen erfüllen.

  6. Geben Sie für bagging Bruchteile eine Zahl zwischen 0 und 1 an, die den Bruchteil der Stichproben darstellt, die beim Aufbau der einzelnen Gruppen von Quantilen verwendet werden sollen. Beispiele werden nach dem Zufallsprinzip ausgewählt und ersetzt.

  7. Geben Sie für Funktions Bruchteil eine Zahl zwischen 0 und 1 ein, die den Bruchteil der Gesamt Features angibt, die beim Aufbau eines bestimmten Baums verwendet werden sollen. Merkmale werden stets nach dem Zufallsprinzip ausgewählt.

  8. Geben Sie für geteilten Bruchteil eine Zahl zwischen 0 und 1 ein, die den Bruchteil der Features darstellt, die bei jeder Aufteilung der Struktur verwendet werden sollen. Die Merkmale werden stets nach dem Zufallsprinzip ausgewählt.

  9. Geben Sie für Quantile Sample count die Anzahl der Fälle ein, die ausgewertet werden sollen, wenn die Quantile geschätzt werden.

  10. Geben Sie für zu geschätzte Quantilen eine durch Trennzeichen getrennte Liste der Quantile ein, für die das Modell trainiert werden soll, und erstellen Sie Vorhersagen.

    Wenn Sie z. B. ein Modell erstellen möchten, das Quartile schätzt, geben Sie 0.25, 0.5, 0.75 ein.

  11. Geben Sie optional einen Wert für Random number seed (zufälliger Startwert) ein, um für den vom Modell verwendeten Zufallszahlengenerator einen Startwert festzulegen. Der Standardwert 0 ist, was heißt, dass ein zufälliger Seed gewählt wird.

    Sie sollten einen Wert angeben, wenn Sie Ergebnisse über nachfolgende Ausführungen mit denselben Daten reproduzieren müssen.

  12. Wählen Sie die Option unbekannte kategorische Ebenen zulassen aus, um eine Gruppe für unbekannte Werte zu erstellen.

    Wenn Sie die Option deaktivieren, akzeptiert das Modell nur die Werte, die in den Trainingsdaten enthalten sind.

    Wenn Sie diese Option auswählen, ist das Modell für bekannte Werte möglicherweise weniger präzise, ermöglicht jedoch bessere Vorhersagen für neue (unbekannte) Werte.

  13. Verbinden Sie ein Trainings Dataset, wählen Sie eine Spalte mit einer einzelnen Bezeichnung aus, und verbinden Sie Train Model.

  14. Führen Sie das Experiment aus.

Verwenden eines Parameter Sweep zum Erstellen eines Quantil-Regressionsmodells

Wenn Sie sich nicht sicher sind, welche optimalen Parameter für das Modell geeignet sind, können Sie einen Parameter Sweep konfigurieren und einen Wertebereich als Argumente bereitstellen. Wenn Sie das Modell trainieren, verwenden Sie das Modul Tune Model hyperparameters .

  1. Fügen Sie das fast Forest Quantile Regression -Modul zu Ihrem Experiment in Studio (klassisch) hinzu.

  2. Legen Sie die Option Create trainer mode (Trainermodus erstellen) auf Parameter Range (Parameterbereich) fest.

    Wenn Sie sich nicht sicher sind, ob Sie über die besten Parameter verfügen, wird ein Parameter Sweep empfohlen. Wenn Sie mehrere Werte angeben und das Modul Tune Model hyperparameters zum Trainieren des Modells verwenden, finden Sie den optimalen Satz an Parametern für Ihre Daten.

    Nachdem Sie einen Parameter Sweep ausgewählt haben, können Sie für jede Eigenschaft, die optimiert werden kann, entweder einen einzelnen Wert oder mehrere Werte festlegen. Beispielsweise können Sie die Anzahl der Strukturen beheben, aber nach dem Zufallsprinzip andere Werte ändern, mit denen gesteuert wird, wie die einzelnen Strukturen erstellt werden.

    • Wenn Sie einen einzelnen Wert eingeben, wird dieser Wert in allen Iterationen des Sweep verwendet, auch wenn sich andere Werte ändern.

    • Geben Sie eine durch Trennzeichen getrennte Liste von diskreten Werten ein, die verwendet werden sollen. Diese Werte werden in Kombination mit anderen Eigenschaften verwendet.

    • Verwenden Sie den Bereichs -Generator, um einen Bereich von kontinuierlichen Werten zu definieren.

    Während des Trainingsprozesses durchläuft das Modul Tune Model hyperparameters verschiedene Kombinationen der Werte, um das beste Modell zu erstellen.

  3. Geben Sie für Maximale Anzahl von Blättern pro Struktur die Gesamtzahl der Blätter oder Terminal Knoten ein, die in jeder Struktur zulässig sein sollen.

  4. Geben Sie für die Anzahl der erstellten Strukturen die Anzahl der Iterationen ein, die beim Erstellen des Ensembles durchgeführt werden sollen. Wenn Sie mehr Strukturen erstellen, können Sie möglicherweise eine bessere Abdeckung erzielen, um die Trainingszeit zu erhöhen.

  5. Geben Sie für minimale Anzahl von Stichproben pro Blattknoten an, wie viele Fälle zum Erstellen eines Blatt Knotens erforderlich sind.

    Wenn Sie diesen Wert heraufsetzen, erhöht sich der Schwellenwert für die Erstellung neuer Regeln. Bei Verwendung des Standardwerts „1“ reicht für die Erstellung einer neuen Regel beispielsweise bereits ein einzelner Fall aus. Wenn Sie den Wert auf „5“ erhöhen, müssen die Trainingsdaten mindestens fünf Fälle enthalten, die die gleichen Bedingungen erfüllen.

  6. Geben Sie im Bereich für den bagging-Bruchteil den Bruchteil der Stichproben ein, die beim Aufbau der einzelnen Gruppen von Quantilen verwendet werden sollen. Beispiele werden nach dem Zufallsprinzip ausgewählt und ersetzt.

    Jeder Bruchteil muss eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Bruchteile, indem Sie Kommas verwenden.

  7. Geben Sie im Bereich für den Funktions Bruchteil den Anteil der gesamten Features ein, die beim Aufbau der einzelnen quantifizierungsgruppen verwendet werden sollen. Funktionen werden nach dem Zufallsprinzip ausgewählt.

    Jeder Bruchteil muss eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Bruchteile mithilfe von Kommas.

  8. Geben Sie im Bereich für den geteilten Bruchteil einen Bruchteil der Features an, die in jeder Gruppe von Quantilen verwendet werden sollen. Die tatsächlich verwendeten Features werden nach dem Zufallsprinzip ausgewählt.

    Jeder Bruchteil muss eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Bruchteile mithilfe von Kommas.

  9. Geben Sie in Beispiel Anzahl, die zum Schätzen der Quantile verwendet wird, an, wie viele Stichproben bei der Schätzung der Quantile ausgewertet werden sollen. Wenn Sie eine Zahl eingeben, die größer ist als die Anzahl der verfügbaren Stichproben, werden alle Beispiele verwendet.

  10. Geben Sie unter erforderliche Quantilwerte eine durch Trennzeichen getrennte Liste der Quantile ein, mit denen das Modell trainiert werden soll. Wenn Sie z. b. ein Modell erstellen möchten, das Quartals Werte schätzt, geben Sie "0,25, 0,5, 0,75

  11. Geben Sie unter Zufallszahlen-Startwert einen Wert ein, um den vom Modell verwendeten Zufallszahlengenerator zu einem Startwert zu geben. Die Verwendung eines Seeds ist nützlich, um duplizierte Ausführungen zu reproduzieren.

    Der Standardwert 0 ist, was heißt, dass ein zufälliger Seed gewählt wird.

  12. Wählen Sie die Option Allow unknown values for categorical features (Unbekannte Werte für Kategoriemerkmale zulassen) aus, um eine Gruppe für unbekannte Werte in den Trainings- oder Validierungsmengen zu erstellen.

    Wenn Sie diese Option deaktivieren, akzeptiert das Modell nur Werte, die in den Trainingsdaten enthalten sind.

    Wenn Sie diese Option auswählen, ist das Modell für bekannte Werte möglicherweise weniger präzise, ermöglicht jedoch bessere Vorhersagen für neue (unbekannte) Werte.

  13. Verbinden Sie ein Trainings Dataset, wählen Sie die Spalte Bezeichnung aus, und verbinden Sie das Modul Tune Model hyperparameters .

    Hinweis

    Verwenden Sie nicht Train Model. Wenn Sie einen Parameter Bereich konfigurieren, aber mit Train Modeltrainieren, wird nur der erste Wert in der Liste Parameter Bereich verwendet.

  14. Führen Sie das Experiment aus.

Ergebnisse

Nach Abschluss des Trainings:

  • Um die endgültigen Hyperparameter des optimierten Modells anzuzeigen, klicken Sie mit der rechten Maustaste auf die Ausgabe der Hyperparameter des Tune-Modells , und wählen Sie visualisieren aus.

Beispiele

Beispiele für die Verwendung dieses Moduls finden Sie in den Azure AI Gallery:

  • Quantile Regression: veranschaulicht das Erstellen und Interpretieren eines Quantil-Regressionsmodells mithilfe des automatischen Preis Datasets.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Details zur Implementierung

Das Fast Forest Quantile Regression-Modul in Azure Machine Learning ist eine Implementierung der zufälligen Quantilregression mithilfe einer Gesamtstruktur unter Verwendung von Entscheidungsstrukturen. Zufällige Gesamtstrukturen können hilfreich sein, um eine Überanpassung zu vermeiden, die bei Entscheidungsstrukturen auftreten kann. Eine Entscheidungsstruktur ist ein binäres strukturbaumähnliches Flussdiagramm, bei dem bei jedem inneren Knoten zu entscheiden ist, mit welchem der beiden untergeordneten Knoten basierend auf dem Wert von einem der Merkmale der Eingabe fortgefahren werden soll.

Bei jedem Blattknoten wird ein Wert zurückgegeben. In den inneren Knoten basiert die Entscheidung auf dem Test "x-v", wobei "x" der Wert des Features im Eingabe Beispiel und "v" einer der möglichen Werte dieses Features ist. Die Funktionen, die mit einer Regressionsstruktur erstellt werden können, sind alle stückweise Konstantenfunktionen.

In einer zufälligen Gesamtstruktur wird ein Ensemble aus Strukturen mithilfe von bagging erstellt, um eine Teilmenge zufälliger Stichproben und Features der Trainingsdaten auszuwählen, und dann eine Entscheidungsstruktur an jede Teilmenge der Daten anzupassen. Im Gegensatz zum zufälligen Gesamtstrukturalgorithmus, der den Mittelwert der Ausgabe aller Strukturen ermittelt, behält Fast Forest Quantile Regression alle vorausberechneten Beschriftungen in Strukturen bei, die vom Parameter Quantile sample count angegeben werden, und gibt die Verteilung aus, sodass der Benutzer die Quantilwerte für die gegebene Instanz anzeigen kann.

Weitere Informationen zur quantilregression finden Sie in den folgenden Büchern und Artikeln:

Modulparameter

Name Typ Range Optional BESCHREIBUNG Standard
Create Trainer Mode CreateLearnerMode List: einzelner Parameter|Parameter Bereich Erforderlich Einzelner Parameter Erstellen von komplexeren Lerneroptionen.
Anzahl von Strukturen Integer mode:Single Parameter 100 Geben Sie die Anzahl der zu erstellenden Strukturen an.
Anzahl der Blätter Integer mode:Single Parameter 20 Geben Sie die maximale Anzahl der Blätter pro Struktur an. Die Standardanzahl ist 20.
Minimum number of training instances required to form a leaf Integer mode:Single Parameter 10 Zeigt die Mindestanzahl von Trainingsinstanzen an, die für die Erstellung eines Blatts erforderlich sind.
Bagging fraction Float mode:Single Parameter 0,7 Gibt den Anteil der Trainingsdaten an, die für die einzelnen Strukturen verwendet werden.
Feature fraction Float mode:Single Parameter 0,7 Gibt den Anteil der Funktionen (zufällig ausgewählt) an, die für die jeweiligen Strukturen verwendet werden.
Split fraction Float mode:Single Parameter 0,7 Gibt den Anteil der Funktionen (zufällig ausgewählt) an, die für die jeweiligen Strukturen verwendet werden.
Quantile sample count Integer Max.: 2147483647 mode:Single Parameter 100 Gibt die Anzahl der Instanzen an, die in den einzelnen Knoten zum Schätzen der Quantile verwendet werden.
Quantiles to be estimated String mode:Single Parameter "0,25; 0,5; 0,75" Gibt die zu schätzende Quantile an.
Random number seed Integer Optional Geben Sie einen Ausgangswert für den vom Modell verwendeten Zufallszahlengenerator an. Lassen Sie das Feld leer, um die Standardeinstellung zu verwenden.
Allow unknown categorical levels Boolean Erforderlich true Bei "True" wird für jede Kategoriespalte eine zusätzliche Ebene erstellt. Ebenen im Testdataset, die im Trainingsdataset nicht verfügbar sind, werden dieser zusätzlichen Ebene zugeordnet.
Maximum number of leaves per tree ParameterRangeSettings [16; 128] mode:Parameter Range Uhr 32; 64 Geben Sie den Bereich für die maximale Anzahl von Blättern an, die pro Struktur zulässig ist.
Number of trees constructed ParameterRangeSettings [1; 256] mode:Parameter Range Uhr 32; 64 Geben Sie den Bereich für die maximale Anzahl der Strukturen an, die während des Trainings erstellt werden können.
Minimum number of samples per leaf node ParameterRangeSettings [1;10] mode:Parameter Range 1 5 € Geben Sie den Bereich für die minimale Anzahl von Fällen an, die für die Erstellung eines Blatts erforderlich ist.
Bereich für Bagginganteil ParameterRangeSettings [0,25; 1.0] mode:Parameter Range 0,25; 0,5; 0,75 Gibt den Bereich für den Anteil der Trainingsdaten an, die für die einzelnen Strukturen verwendet werden.
Bereich für den Funktionsanteil ParameterRangeSettings [0,25; 1.0] mode:Parameter Range 0,25; 0,5; 0,75 Gibt den Bereich für den Anteil der Funktionen (zufällig ausgewählt) an, die für die jeweiligen Strukturen verwendet werden.
Bereich für den Aufteilungsanteil ParameterRangeSettings [0,25; 1.0] mode:Parameter Range 0,25; 0,5; 0,75 Gibt den Bereich für den Anteil der Funktionen (zufällig ausgewählt) an, die für die jeweiligen Aufteilungen verwendet werden.
Stichprobenanzahl zum Schätzen der Quantile Integer mode:Parameter Range 100 Stichprobenanzahl zum Schätzen der Quantile
Required quantile values String mode:Parameter Range "0,25; 0,5; 0,75" Erforderlicher Quantilwert, der während eines Parameter-Sweeps verwendet wird.

Ausgaben

Name Typ BESCHREIBUNG
Untrainiertes Modell ILearner-Schnittstelle Ein untrainiertes Quantilregressionsmodell, das mit den Modulen "Train Generic Model" oder "Cross Validate Model" verbunden werden kann.

Weitere Informationen

Regression