Regressiealgoritmen regression-algorithms
Dit document biedt een overzicht van verschillende regressiealgoritmen, waarbij de nadruk ligt op hun configuratie, sleutelparameters en praktisch gebruik in geavanceerde statistische modellen. Regressiealgoritmen worden gebruikt om de relatie tussen afhankelijke en onafhankelijke variabelen te modelleren, waarbij continue resultaten worden voorspeld op basis van waargenomen gegevens. Elke sectie omvat parameterbeschrijvingen en voorbeeldcode om u te helpen deze algoritmen voor taken uitvoeren en optimaliseren zoals lineair, willekeurig bos, en overlevingsregressie.
Decision Tree regressie decision-tree-regression
Decision Tree leren is een onder toezicht staande leermethode die wordt gebruikt in statistieken, datamining en het leren van machines. In deze aanpak wordt een structuur voor de classificatie of de regressiebeslissing gebruikt als een voorspellend model om conclusies te trekken over een reeks waarnemingen.
Parameters
In de onderstaande tabel worden de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van modellen met beslissingsstructuren beschreven.
MAX_BINSCACHE_NODE_IDSfalse , gaat het algoritme bomen tot uitvoerders over om instanties met knopen aan te passen. Als true, het algoritme knoop IDs voor elke instantie in cache plaatst, die de opleiding van diepere bomen kan versnellen. Gebruikers kunnen bepalen hoe vaak de cache moet worden gecontroleerd of uitschakelen door CHECKPOINT_INTERVAL in te stellen.true of falseCHECKPOINT_INTERVAL10 , wordt de cache elke 10 herhalingen gecontroleerd. Dit is alleen van toepassing als CACHE_NODE_IDS is ingesteld op true en de map checkpoint is geconfigureerd in org.apache.spark.SparkContext .IMPURITYentropy en gini .ginientropy, giniMAX_DEPTH0 betekent bijvoorbeeld 1 bladknooppunt, terwijl een diepte van 1 1 intern knooppunt en 2 bladknooppunten betekent. De diepte moet binnen het bereik [0, 30] liggen.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0 .Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Factorization Machines regressie factorization-machines-regression
Factorization Machines is een regressieleeralgoritme dat normale gradiënt descent en de AdamW solver steunt. Het algoritme is gebaseerd op het document door S. Rendle (2010), "Factorization Machines".
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Factorization Machines regression.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1] vallen.(0, 1]REG_PARAMSEEDSOLVERgd (verlopende descent), adamWSTEP_SIZEPREDICTION_COLVoorbeeld
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear regressie generalized-linear-regression
In tegenstelling tot lineaire regressie, waarbij ervan wordt uitgegaan dat het resultaat een normale (Gaussiaanse) distributie volgt, staan Generalized Linear Models (GLMs) het resultaat toe om verschillende typen distributies te volgen, zoals Poisson of binomiaal, afhankelijk van de aard van de gegevens.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Generalized Linear regression.
MAX_ITERirls ).REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate.FAMILYgaussian , binomial , poisson , gamma en tweedie .gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue, falseLINKidentity , log , inverse , logit , probit , cloglog en sqrt .identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower , die wordt uitgelijnd met het R statmod -pakket. Specifieke verbindingsbevoegdheden 0, 1, -1 en 0,5 komen overeen met respectievelijk de koppelingen Logboek, Identiteit, Omgekeerd en Sqrt.SOLVERirls (minst vierkanten herhaaldelijk opnieuw gewogen).irlsVARIANCE_POWER[1, inf) . Variantiebevoegdheden van 0, 1 en 2 komen overeen met respectievelijk de families Gaussiaans, Poisson en Gamma.[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.0 . In de Binomial-familie komen de gewichten overeen met het aantal onderzoeken en worden niet-gehele gewichten afgerond in de AIC-berekening.Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree regressie gradient-boosted-tree-regression
Bomen met verloopversterkingen (GBT's) zijn een effectieve methode voor indeling en regressie die de voorspellingen van meerdere beslissingsbomen combineert om de voorspellende nauwkeurigheid en de prestaties van het model te verbeteren.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Gradient Boosted Tree regression.
MAX_BINSCACHE_NODE_IDSfalse , gaat het algoritme bomen tot uitvoerders over om instanties met knopen aan te passen. Indien true, plaatst het algoritme knoop IDs voor elke instantie in het voorgeheugen. Caching kan de opleiding van diepere bomen versnellen.falsetrue, falseCHECKPOINT_INTERVAL10 betekent bijvoorbeeld dat de cache om de 10 herhalingen wordt gecontroleerd.MAX_DEPTH0 betekent bijvoorbeeld 1 bladknooppunt en de diepte 1 1 interne node met 2 bladknooppunten.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse voor training en true voor validatie.LEAF_COLFEATURE_SUBSET_STRATEGYauto , all , onethird , sqrt , log2 of een fractie tussen 0 en 1,0SEEDWEIGHT_COL1.0 .LOSS_TYPEsquared (L2) en absolute (L1). Opmerking: waarden zijn niet hoofdlettergevoelig.STEP_SIZE(0, 1] die wordt gebruikt om de bijdrage van elke schatter te verlagen.(0, 1]MAX_ITERSUBSAMPLING_RATE(0, 1] .(0, 1]Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Isotonic regressie isotonic-regression
Isotonic Regression is een algoritme dat wordt gebruikt om afstanden herhaaldelijk aan te passen terwijl de relatieve orde van ongelijkenissen in de gegevens bewaard blijft.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Isotonic Regression .
ISOTONICtrue of antitonisch (afnemend) is wanneer false .truetrue, falseWEIGHT_COL1.0 .PREDICTION_COLFEATURE_INDEXfeaturesCol een vectorkolom is. Als deze niet is ingesteld, is de standaardwaarde 0 . Anders heeft het geen effect.Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear regressie linear-regression
Linear Regression is een onder toezicht staand computerleeralgoritme dat een lineaire vergelijking met gegevens past om de relatie tussen een afhankelijke variabele en onafhankelijke eigenschappen te modelleren.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Linear Regression .
MAX_ITERREGPARAMELASTICNETPARAMVoorbeeld
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression is een ensemble-algoritme dat meerdere beslissingsbomen bouwt tijdens de training en de gemiddelde voorspelling van die bomen voor regressietaken retourneert, waardoor overplaatsing wordt voorkomen.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Random Forest Regression .
MAX_BINSCACHE_NODE_IDSfalse , gaat het algoritme bomen tot uitvoerders over om instanties met knopen aan te passen. Als true, het algoritme knoop IDs voor elke instantie in cache plaatst, die de opleiding van diepere bomen versnelt.falsetrue, falseCHECKPOINT_INTERVAL10 betekent bijvoorbeeld dat de cache om de 10 herhalingen wordt gecontroleerd.IMPURITYentropy, giniMAX_DEPTH0 betekent bijvoorbeeld 1 bladknooppunt en de diepte 1 1 interne node en 2 bladknooppunten.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBBOOTSTRAPtrue, falseNUM_TREES1 , wordt geen bootstrapping gebruikt. Als dit groter is dan 1, wordt de overvulling bootstrapping toegepast.SUBSAMPLING_RATE(0, 1].LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.0 .Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression wordt gebruikt voor het passen van een parametrisch regressiemodel, het Accelerated Failure Time (AFT)-model genoemd, gebaseerd op het Weibull distribution . Het kan instanties in blokken voor betere prestaties stapelen.
Parameters
In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Survival Regression .
MAX_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate. Als de eigenschapafmetingen of het aantal verdelingen groot zijn, kan deze parameter aan een grotere waarde worden geplaatst.FIT_INTERCEPTtrue, falsePREDICTION_COLCENSOR_COL1 geeft aan dat de gebeurtenis heeft plaatsgevonden (ongecensureerd), terwijl 0 betekent dat de gebeurtenis is gecensureerd.MAX_BLOCK_SIZE_IN_MB0 is automatische aanpassing mogelijk.Voorbeeld
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Volgende stappen
Nadat u dit document hebt gelezen, weet u nu hoe u verschillende regressiealgoritmen kunt configureren en gebruiken. Daarna, verwijs naar de documenten op classificatie en groeperend om over andere soorten geavanceerde statistische modellen te leren.