Regressionsalgorithmen regression-algorithms
Dieses Dokument bietet einen Überblick über verschiedene Regressionsalgorithmen, wobei der Schwerpunkt auf ihrer Konfiguration, den wichtigsten Parametern und der praktischen Verwendung in erweiterten statistischen Modellen liegt. Regressionsalgorithmen werden verwendet, um die Beziehung zwischen abhängigen und unabhängigen Variablen zu modellieren und kontinuierliche Ergebnisse auf der Grundlage der beobachteten Daten vorherzusagen. Jeder Abschnitt enthält Parameterbeschreibungen und Beispiel-Code, der Ihnen bei der Implementierung und Optimierung dieser Algorithmen für Aufgaben wie lineare, zufällige Gesamtstruktur- und Überlebensregression hilft.
Decision Tree Regression decision-tree-regression
Decision Tree Lernen ist eine überwachte Lernmethode, die in der Statistik, im Data Mining und im maschinellen Lernen verwendet wird. Bei diesem Ansatz wird ein Klassifizierungs- oder Regressionsentscheidungsbaum als prädiktives Modell verwendet, um Rückschlüsse auf eine Reihe von Beobachtungen zu ziehen.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter zur Konfiguration und Optimierung der Leistung von Entscheidungsbaum-Modellen aufgeführt.
MAX_BINSCACHE_NODE_IDSfalse, übergibt der Algorithmus Bäume an ausführende Benutzer, damit Instanzen mit Knoten abgeglichen werden. Wenn true, speichert der Algorithmus Knoten-IDs für jede Instanz zwischen, was das Training tiefer stehender Baumstrukturen beschleunigen kann. Benutzer können konfigurieren, wie oft der Cache überprüft werden soll, oder ihn deaktivieren, indem sie CHECKPOINT_INTERVAL festlegen.true oder falseCHECKPOINT_INTERVAL10 setzen, wird der Cache alle 10 Iterationen überprüft. Dies gilt nur, wenn CACHE_NODE_IDS auf true gesetzt ist und das Checkpoint-Verzeichnis in org.apache.spark.SparkContext konfiguriert ist.IMPURITYentropy und gini.ginientropy, giniMAX_DEPTH0 1 Blattknoten, während eine Tiefe von 1 1 interner Knoten und 2 Blattknoten bedeutet. Die Tiefe muss innerhalb des Bereichs [0, 30] liegen.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0 behandelt.Beispiel
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Factorization Machines Regression factorization-machines-regression
Factorization Machines ist ein Regressionslernalgorithmus, der den normalen Gradientenabstieg und den AdamW-Solver unterstützt. Der Algorithmus basiert auf dem Aufsatz von S. Rendle (2010), "Factorization Machines.“
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter für die Konfiguration und Optimierung der Leistung Factorization Machines Regression aufgeführt.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1] liegen.(0, 1]REG_PARAMSEEDSOLVERgd (Gefälle), adamWSTEP_SIZEPREDICTION_COLBeispiel
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear Regression generalized-linear-regression
Im Gegensatz zur linearen Regression, bei der davon ausgegangen wird, dass das Ergebnis einer normalen (Gauß'schen) Verteilung folgt, können Generalized Linear (GLMs) das Ergebnis je nach Art der Daten verschiedenen Verteilungstypen wie Poisson oder Binomialverteilung folgen lassen.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter für die Konfiguration und Optimierung der Leistung Generalized Linear Regression aufgeführt.
MAX_ITERirls).REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate.FAMILYgaussian, binomial, poisson, gamma und tweedie.gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue, falseLINKidentity, log, inverse, logit, probit, cloglog und sqrt.identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower verwendet, das dem R-statmod-Paket entspricht. Spezifische Link-Potenzen von 0, 1, -1 und 0,5 entsprechen den Log-, Identity-, Inverse- und SQRT-Links.SOLVERirls (iterativ neu gewichtete Kleinste Quadrate).irlsVARIANCE_POWER[1, inf). Varianzwerte von 0, 1 und 2 entsprechen den Gauß-, Poisson- bzw. Gamma-Familien.[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.0 behandelt. In der Binomialfamilie entsprechen Gewichtungen der Anzahl der Versuche, und Nicht-Ganzzahlgewichte werden in der AIC-Berechnung gerundet.Beispiel
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree Regression gradient-boosted-tree-regression
Gradient-Boosted Trees (GBTs) sind eine effektive Methode zur Klassifizierung und Regression, die die Vorhersagen mehrerer Entscheidungsbäume kombiniert, um die Vorhersagegenauigkeit und die Modellleistung zu verbessern.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter für die Konfiguration und Optimierung der Leistung Gradient Boosted Tree Regression aufgeführt.
MAX_BINSCACHE_NODE_IDSfalse, übergibt der Algorithmus Bäume an ausführende Benutzer, damit Instanzen mit Knoten abgeglichen werden. Wenn true, speichert der Algorithmus Knoten-IDs für jede Instanz zwischen. Caching kann das Training von tieferen Bäumen beschleunigen.falsetrue, falseCHECKPOINT_INTERVAL10 bedeutet beispielsweise, dass der Cache alle 10 Iterationen überprüft wird.MAX_DEPTH0 Tiefe 1 Blattknoten und Tiefe 1 bedeutet 1 interner Knoten mit 2 Blattknoten.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse für Schulung und true zur Validierung.LEAF_COLFEATURE_SUBSET_STRATEGYauto, all, onethird, sqrt, log2 oder ein Bruchteil zwischen 0 und 1,0SEEDWEIGHT_COL1.0 behandelt.LOSS_TYPEsquared (L2) und absolute (L1). Hinweis: Bei Werten wird nicht zwischen Groß- und Kleinschreibung unterschieden.STEP_SIZE(0, 1], die zum Verkleinern des Beitrags jeder Schätzung verwendet wird.(0, 1]MAX_ITERSUBSAMPLING_RATE(0, 1].(0, 1]Beispiel
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Isotonic Regression isotonic-regression
Isotonic Regression ist ein Algorithmus, der verwendet wird, um Entfernungen iterativ anzupassen und dabei die relative Reihenfolge der Unterschiede in den Daten beizubehalten.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter zur Konfiguration und Optimierung der Leistung von Isotonic Regression aufgeführt.
ISOTONICtrue isotonisch (ansteigend) oder beim false antitonisch (absteigend) sein soll.truetrue, falseWEIGHT_COL1.0 behandelt.PREDICTION_COLFEATURE_INDEXfeaturesCol eine Vektorspalte ist. Wenn nicht festgelegt, lautet der Standardwert 0. Andernfalls hat es keine Wirkung.Beispiel
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear Regression linear-regression
Linear Regression ist ein überwachter Algorithmus für maschinelles Lernen, der eine lineare Gleichung an Daten anpasst, um die Beziehung zwischen einer abhängigen Variablen und unabhängigen Funktionen zu modellieren.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter zur Konfiguration und Optimierung der Leistung von Linear Regression aufgeführt.
MAX_ITERREGPARAMELASTICNETPARAMBeispiel
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression ist ein Ensemble-Algorithmus, der während des Trainings mehrere Entscheidungsbäume erstellt und die durchschnittliche Prognose dieser Bäume für Regressionsaufgaben zurückgibt, um eine Überanpassung zu vermeiden.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter zur Konfiguration und Optimierung der Leistung von Random Forest Regression aufgeführt.
MAX_BINSCACHE_NODE_IDSfalse, übergibt der Algorithmus Bäume an ausführende Benutzer, damit Instanzen mit Knoten abgeglichen werden. Wenn true, speichert der Algorithmus Knoten-IDs für jede Instanz zwischen, wodurch das Training tiefer stehender Baumstrukturen beschleunigt wird.falsetrue, falseCHECKPOINT_INTERVAL10 bedeutet beispielsweise, dass der Cache alle 10 Iterationen überprüft wird.IMPURITYentropy, giniMAX_DEPTH0 Tiefe 1 Blattknoten und Tiefe 1 bedeutet 1 interner Knoten und 2 Blattknoten.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBBOOTSTRAPtrue, falseNUM_TREES1, wird kein Bootstrapping durchgeführt. Wenn größer als 1, wird Bootstrapping angewendet.SUBSAMPLING_RATE(0, 1].LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.0 behandelt.Beispiel
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression wird verwendet, um ein parametrisches Überlebens-Regressionsmodell einzupassen, das als Accelerated Failure Time (AFT)-Modell bezeichnet wird und auf der Weibull distribution basiert. Zur Leistungssteigerung können Instanzen in Blöcken gestapelt werden.
Parameter
In der folgenden Tabelle sind die wichtigsten Parameter zur Konfiguration und Optimierung der Leistung von Survival Regression aufgeführt.
MAX_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate. Wenn die Elementabmessungen oder die Anzahl der Partitionen groß sind, kann dieser Parameter auf einen größeren Wert gesetzt werden.FIT_INTERCEPTtrue, falsePREDICTION_COLCENSOR_COL1 bedeutet, dass das Ereignis aufgetreten ist (unzensiert), während 0 bedeutet, dass das Ereignis zensiert wurde.MAX_BLOCK_SIZE_IN_MB0 ermöglicht eine automatische Anpassung.Beispiel
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Nächste Schritte
Nach dem Lesen dieses Dokuments wissen Sie jetzt, wie Sie verschiedene Regressionsalgorithmen konfigurieren und verwenden können. Weitere Informationen zu anderen Typen erweiterter statistischer Modelle finden in den Dokumenten Klassifizierung und Clustering.