Schnelle gesamtstrukturbasierte Quantilregression

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 Quantilregressionsmodell.

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 Modul Fast Forest Quantile Regression in Machine Learning Studio (klassisch) verwenden, um ein Regressionsmodell zu erstellen, mit dem Werte für eine angegebene Anzahl von Quantilen vorhergesagt werden können.

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 der Fast_Forest Quantilregression

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

Die Konfigurationsschritte unterscheiden sich erheblich, je nachdem, ob Sie einen festen Satz von Parametern bereitstellen oder einen Parameter-Sweep einrichten.

Erstellen eines Quantilregressionsmodells mit festen 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 ihrem Experiment in Studio (klassisch) das Modul Fast Forest Quantile Regression (Schnelle Gesamtstruktur-Quantilregression ) hinzu.

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

  3. Geben Sie unter Number of Trees (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 unter Number of Leaves (Anzahl von Blättern) die maximale Anzahl von Blättern oder Terminalknoten ein, die in einer beliebigen Struktur erstellt werden können.

  5. Geben Sie für Minimale Anzahl von Trainingsinstanzen , die zum Bilden eines Blatts erforderlich sind, die Mindestanzahl von Beispielen an, die zum Erstellen eines Beliebigen Terminalknotens (Blatts) 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 die gleichen Bedingungen erfüllen.

  6. Geben Sie für Bagging fraction (Baggingbruch) eine Zahl zwischen 0 und 1 an, die den Anteil der Stichproben darstellt, die beim Erstellen jeder Gruppe von Quantilen verwendet werden. Beispiele werden nach dem Zufallsprinzip ausgewählt und ersetzt.

  7. Geben Sie für Feature fraction (Funktionsbruch) eine Zahl zwischen 0 und 1 ein, die den Anteil der gesamten Features angibt, die beim Erstellen einer bestimmten Struktur verwendet werden sollen. Merkmale werden stets nach dem Zufallsprinzip ausgewählt.

  8. Geben Sie für Split fraction eine Zahl zwischen 0 und 1 ein, die den Anteil der Features darstellt, die in jeder Teilung der Struktur verwendet werden. Die Merkmale werden stets nach dem Zufallsprinzip ausgewählt.

  9. Geben Sie für Quantile sample count (Anzahl der Quantilstichproben) die Anzahl der Fälle ein, die beim Schätzen der Quantile ausgewertet werden.

  10. Damit Quantile geschätzt werden können, geben Sie eine durch Komma getrennte Liste der Quantile ein, für die das Modell trainiert und Vorhersagen erstellen soll.

    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 Kategorieebenen 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, kann aber bessere Vorhersagen für neue (unbekannte) Werte liefern.

  13. Verbinden ein Trainings-Dataset aus, wählen Sie eine einzelne Bezeichnungsspalte aus, und verbinden Sie Train Model( Modell trainieren).

  14. Führen Sie das Experiment aus.

Verwenden eines Parameter-Sweepings zum Erstellen eines Quantilregressionsmodells

Wenn Sie sich der optimalen Parameter für das Modell nicht sicher sind, können Sie einen Parameter-Sweep konfigurieren und einen Bereich von Werten als Argumente angeben. Verwenden Sie beim Trainieren des Modells das Modul Tune Model Hyperparameters .

  1. Fügen Sie ihrem Experiment in Studio (klassisch) das Modul Fast Forest Quantile Regression (Schnelle Gesamtstruktur-Quantilregression ) hinzu.

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

    Ein Parameter-Sweep wird empfohlen, wenn Sie sich nicht sicher sind, welche Parameter am besten sind. Indem Sie mehrere Werte angeben und das Modul Tune Model Hyperparameters verwenden, um das Modell zu trainieren, können Sie den optimalen Parametersatz für Ihre Daten finden.

    Nach dem Auswählen eines Parameter-Sweeps 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 korrigieren, aber zufällig andere Werte ändern, die die Art und Weise steuern, wie die einzelnen Strukturen erstellt werden.

    • Wenn Sie einen einzelnen Wert eingeben, wird dieser Wert für alle Iterationen des Sweeps verwendet, auch wenn sich andere Werte ändern.

    • Geben Sie eine durch Komma getrennte Liste diskreter Werte ein. Diese Werte werden in Kombination mit anderen Eigenschaften verwendet.

    • Verwenden Sie den Bereichs-Generator , um einen Bereich kontinuierlicher Werte zu definieren.

    Während des Trainingsprozesses durch iteriert 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 Terminalknoten ein, die in jeder Struktur zulässig sind.

  4. Geben Sie unter Number of trees constructed (Anzahl der erstellten Strukturen) die Anzahl der Iterationen ein, die beim Erstellen des Ensembles durchgeführt werden sollen. Durch die Erstellung von mehr Strukturen können Sie möglicherweise eine bessere Abdeckung erhalten, auf Kosten einer erhöhten Trainingszeit.

  5. Geben Sie für Minimale Anzahl von Stichproben pro Blattknoten an, wie viele Fälle zum Erstellen eines Blattknotens 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 unter Range for bagging fraction (Bereich für Baggingbruch) den Anteil der Stichproben ein, der beim Erstellen jeder Gruppe von Quantilen verwendet werden soll. Beispiele werden nach dem Zufallsprinzip ausgewählt und ersetzt.

    Jeder Bruch sollte eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Brüche, indem Sie Kommas verwenden.

  7. Geben Sie unter Bereich für Featurebruch den Anteil der Gesamtfunktionen ein, die beim Erstellen jeder Gruppe von Quantilen verwendet werden sollen. Features werden nach dem Zufallsprinzip ausgewählt.

    Jeder Bruch sollte eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Brüche durch Kommas.

  8. Geben Sie unter Bereich für Teilungsbruch einen Teil der Features an, die in jeder Gruppe von Quantilen verwendet werden. Die tatsächlich verwendeten Features werden nach dem Zufallsprinzip ausgewählt.

    Jeder Bruch sollte eine Zahl zwischen 0 und 1 sein. Trennen Sie mehrere Bruchteile durch Kommas.

  9. Geben Sie unter Sample count used to estimate the quantiles (Stichprobenanzahl zum Schätzen der Quantilen) an, wie viele Stichproben beim Schätzen der Quantilen ausgewertet werden sollen. Wenn Sie eine Zahl eingeben, die größer als die Anzahl der verfügbaren Beispiele ist, werden alle Beispiele verwendet.

  10. Geben Sie unter Erforderliche Quantilwerte eine durch Trennzeichen getrennte Liste der Quantilen ein, für die das Modell trainiert werden soll. Wenn Sie beispielsweise ein Modell erstellen möchten, das Quartile schätzt, geben Sie "0,25, 0,5, 0,75" ein.

  11. Geben Sie unter Zufälliger Zahlenwert einen Wert ein, um den vom Modell verwendeten Zufallszahlengenerator als Startwert zu verwenden. 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 möglicherweise weniger präzise für bekannte Werte, kann aber bessere Vorhersagen für neue (unbekannte) Werte liefern.

  13. Verbinden ein Trainingsdataset aus, wählen Sie die Bezeichnungsspalte aus, und verbinden Sie das Modul Tune Model Hyperparameters.

    Hinweis

    Verwenden Sie train model (Modell trainieren) nicht. Wenn Sie einen Parameterbereich konfigurieren, aber mit Train Model trainieren, wird nur der erste Wert in der Parameterbereichsliste verwendet.

  14. Führen Sie das Experiment aus.

Ergebnisse

Nach Abschluss des Trainings:

Beispiele

Beispiele für die Verwendung dieses Moduls finden Sie im Azure KI-Katalog:

  • Quantilregression: Veranschaulicht, wie ein Quantilregressionsmodell mithilfe des Datasets für automatische Preise erstellt und interpretiert wird.

Technische Hinweise

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

Details zur Implementierung

Das Modul Fast Forest Quantile Regression in Machine Learning ist eine Implementierung der zufälligen Regression des Gesamtstrukturquantils mithilfe 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 Eingabebeispiel 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 von Strukturen mithilfe von Bagging erstellt, um eine Teilmenge zufälliger Stichproben und Merkmale 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:Single Parameter|Parameter Range 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 16; 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 16; 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; 10 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 Zeichenfolge mode:Parameter Range "0.25;0.5;0.75" Erforderlicher Quantilwert, der während eines Parameter-Sweeps verwendet wird.

Ausgaben

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

Siehe auch

Regression