Factorization Machine Classifier

Factorization Machine Classifier is een classificatiealgoritme dat normale gradiënt descent en de solver AdamW steunt. Het indelingsmodel van de Factorization Machine maakt gebruik van logistiek verlies, dat kan worden geoptimaliseerd via een afdaling van het verloop en bevat vaak regularisatievoorwaarden zoals L2 om overmaat te voorkomen.

Parameters

In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van de Factorization Machine Classifier .

ParameterBeschrijvingStandaardwaardeMogelijke waarden
TOLDe convergentietolerantie, die de nauwkeurigheid van de optimalisering controleert.1E-6(>= 0)
FACTOR_SIZEDe dimensionaliteit van de factoren.8(>= 0)
FIT_INTERCEPTGeeft aan of een onderscheppingsterm moet passen.truetrue, false
FIT_LINEARGeeft aan of de lineaire term moet worden gebruikt (ook wel de term uit één richting genoemd).truetrue, false
INIT_STDDe standaardafwijking voor het initialiseren van coëfficiënten.0,01(>= 0)
MAX_ITERHet maximumaantal herhalingen voor het uit te voeren algoritme.100(>= 0)
MINI_BATCH_FRACTIONHet deel van de gegevens dat tijdens de training in minibatches wordt gebruikt. Moet binnen het bereik (0, 1] vallen.1,00 < waarde <= 1
REG_PARAMDe regularisatieparameter, die modelingewikkeldheid helpt te controleren en overfitting te verhinderen.0,0(>= 0)
SEEDHet willekeurige zaad voor het controleren van willekeurige processen in het algoritme.N.v.t.Willekeurig 64-bits getal
SOLVERHet solveralgoritme dat wordt gebruikt voor optimalisatie. Ondersteunde opties zijn gd (verlopende descent) en adamW ."adamW"gd, adamW
STEP_SIZEDe initiële stapgrootte voor optimalisatie, vaak geïnterpreteerd als de leersnelheid.1,0> 0
PROBABILITY_COLDe kolomnaam voor voorspelde klasse voorwaardelijke kansen. Opmerking: niet alle modellen hebben een goede kalibratie van de waarschijnlijkheden; deze moeten worden behandeld als betrouwbaarheidsscores in plaats van als exacte waarschijnlijkheid."waarschijnlijkheid"Willekeurige tekenreeks
PREDICTION_COLDe kolomnaam voor voorspelde klassenlabels."voorspelling"Willekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
ONE_VS_RESTGeeft aan of de indeling One-vs-Rest moet worden ingeschakeld voor meerdere klassen.FALSEtrue, false

Voorbeeld

CREATE MODEL modelname OPTIONS(
  type = 'factorization_machines_classifier'
) AS
  SELECT col1, col2, col3 FROM training-dataset

Gradient Boosted Tree Classifier

Gradient Boosted Tree Classifier gebruikt een samenstel van beslissingsbomen om de nauwkeurigheid van classificatietaken te verbeteren, die veelvoudige bomen combineren om modelprestaties te verbeteren.

Parameters

In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van de Gradient Boosted Tree Classifier .

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MAX_BINSHet maximumaantal bakken bepaalt hoe ononderbroken eigenschappen in discrete intervallen worden verdeeld. Dit beïnvloedt hoe de eigenschappen bij elke knoop van de beslissingsboom worden verdeeld. Meer bins zorgen voor een hogere granulariteit.32Moet ten minste 2 en gelijk zijn aan of groter zijn dan het aantal categorieën in een categorisch kenmerk.
CACHE_NODE_IDSAls false , 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, false
CHECKPOINT_INTERVALHiermee geeft u aan hoe vaak de in de cache opgeslagen knooppunt-id's moeten worden gecontroleerd. 10 betekent bijvoorbeeld dat de cache om de 10 herhalingen wordt gecontroleerd.10(>= 1)
MAX_DEPTHDe maximale diepte van de boom (niet-negatief). De diepte 0 betekent bijvoorbeeld 1 bladknooppunt en de diepte 1 1 interne node en 2 bladknooppunten.5(>= 0)
MIN_INFO_GAINDe minimuminformatietoename die voor een splitsing wordt vereist om bij een boomknoop te worden overwogen.0,0(>= 0,0)
MIN_WEIGHT_FRACTION_PER_NODEDe minimale fractie van het gewogen aantal monsters die elk kind na een splitsing moet hebben. Als een splitsing ertoe leidt dat de fractie van het totale gewicht in een van beide kinderen kleiner is dan deze waarde, wordt deze weggegooid.0,0(>= 0,0, <= 0,5)
MIN_INSTANCES_PER_NODEHet minimum aantal exemplaren dat elk kind na een splitsing moet hebben. Als een splitsing minder instanties oplevert dan deze waarde, wordt de splitsing genegeerd.1(>= 1)
MAX_MEMORY_IN_MBHet maximale geheugen, in MB, dat is toegewezen aan histogramaggregatie. Als deze waarde te klein is, wordt slechts één knooppunt gesplitst per iteratie en kunnen de aggregaten ervan deze grootte overschrijden.256(>= 0)
PREDICTION_COLDe kolomnaam voor voorspellingsuitvoer."voorspelling"Willekeurige tekenreeks
VALIDATION_INDICATOR_COLDe kolomnaam geeft aan of elke rij wordt gebruikt voor training of validatie. De waarde false geeft training aan en true geeft validatie aan. Wanneer geen waarde is ingesteld, is de standaardwaarde None ."Geen"Willekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
LEAF_COLDe kolomnaam voor bladindexen, de voorspelde bladindex van elke instantie in elke boom, die wordt gegenereerd door het vooraf doorlopen van de volgorde.""Willekeurige tekenreeks
FEATURE_SUBSET_STRATEGYHet aantal eigenschappen overwogen voor het verdelen bij elke boomknoop. Ondersteunde opties: auto (automatisch bepaald op basis van de taak), all (alle functies gebruiken), onethird (gebruik een derde van de functies), sqrt (gebruik de vierkantswortel van het aantal functies), log2 (gebruik de natuurlijke logaritme met grondtal 2 van het aantal functies) en n (waarbij n een fractie van de functies is als deze binnen het bereik (0, 1] vallen, of een specifiek aantal functies als deze binnen het bereik [1, total number of features] vallen)."auto"auto, all, onethird, sqrt, log2, n
WEIGHT_COLDe kolomnaam, bijvoorbeeld, gewichten. Als deze niet is ingesteld of leeg is, worden alle instantiegewichten behandeld als 1.0 .NIET INGESTELDWillekeurige tekenreeks
LOSS_TYPEDe verliesfunctie die het Gradient Boosted Tree -model probeert te minimaliseren."logistiek"logistic (hoofdlettergevoelig)
STEP_SIZEDe stapgrootte (ook wel de leersnelheid genoemd) in het bereik (0, 1] die wordt gebruikt om de bijdrage van elke schatter te verlagen.0,1(>= 0,0, <= 1)
MAX_ITERHet maximumaantal herhalingen voor het algoritme.20(>= 0)
SUBSAMPLING_RATEHet deel van de trainingsgegevens dat wordt gebruikt om elke beslissingsboom op te leiden. De waarde moet binnen het bereik 0 < waarde <= 1 liggen.1,0(0, 1]
PROBABILITY_COLDe kolomnaam voor voorspelde klasse voorwaardelijke kansen. Opmerking: niet alle modellen hebben een goede kalibratie van de waarschijnlijkheden; deze moeten worden behandeld als betrouwbaarheidsscores in plaats van als exacte waarschijnlijkheid."waarschijnlijkheid"Willekeurige tekenreeks
ONE_VS_RESTSchakelt het verpakken van dit algoritme met One-vs-Rest voor classificatie van meerdere klassen in of uit.falsetrue, false

Voorbeeld

Create MODEL modelname OPTIONS(
  type = 'gradient_boosted_tree_classifier'
) AS
  select col1, col2, col3 from training-dataset

Linear Support Vector Classifier (LinearSVC)

Met Linear Support Vector Classifier (LinearSVC) wordt een hypervlak gemaakt waarin gegevens worden ingedeeld in een hoogdimensionale ruimte. U kunt deze optie gebruiken om de marge tussen klassen te maximaliseren om classificatiefouten te minimaliseren.

Parameters

In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van de Linear Support Vector Classifier (LinearSVC) .

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MAX_ITERHet maximumaantal herhalingen voor het uit te voeren algoritme.100(>= 0)
AGGREGATION_DEPTHDe diepte voor boomsamenvoeging. Deze parameter wordt gebruikt om netwerkcommunicatie overheadkosten te verminderen.2Een positief geheel getal
FIT_INTERCEPTOf een onderscheppingsterm moet passen.truetrue, false
TOLDeze parameter bepaalt de drempel voor het stoppen van herhalingen.1E-6(>= 0)
MAX_BLOCK_SIZE_IN_MBHet maximale geheugen in MB voor het stapelen van invoergegevens in blokken. Wanneer de parameter op 0 is ingesteld, wordt automatisch de optimale waarde gekozen (gewoonlijk rond 1 MB).0,0(>= 0)
REG_PARAMDe regularisatieparameter, die modelingewikkeldheid helpt te controleren en overfitting te verhinderen.0,0(>= 0)
STANDARDIZATIONDeze parameter geeft aan of de trainingsfuncties moeten worden gestandaardiseerd voordat het model wordt aangepast.truetrue, false
PREDICTION_COLDe kolomnaam voor voorspellingsuitvoer."voorspelling"Willekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
ONE_VS_RESTSchakelt het verpakken van dit algoritme met One-vs-Rest voor classificatie van meerdere klassen in of uit.falsetrue, false

Voorbeeld

Create MODEL modelname OPTIONS(
  type = 'linear_svc_classifier'
) AS
  select col1, col2, col3 from training-dataset

Logistic Regression

Logistic Regression is een onder toezicht staand algoritme dat wordt gebruikt voor binaire classificatietaken. De methode modelleert de waarschijnlijkheid dat een instantie tot een klasse behoort die de logistieke functie gebruikt en wijst de instantie met de hogere waarschijnlijkheid toe aan de klasse. Dit maakt het geschikt voor problemen waarbij het doel is gegevens in één van twee categorieën te scheiden.

Parameters

In de onderstaande tabel staan de belangrijkste parameters voor het configureren en optimaliseren van de prestaties van Logistic Regression .

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MAX_ITERHet maximumaantal herhalingen dat het algoritme uitvoert.100(>= 0)
REGPARAMDe regularisatieparameter wordt gebruikt om de ingewikkeldheid van het model te controleren.0,0(>= 0)
ELASTICNETPARAMDe ElasticNet -mixparameter bepaalt de balans tussen L1 (Lasso) en L2 (Ridge) boetes. Bij de waarde 0 wordt een L2-boete toegepast (Rand, waardoor de grootte van de coëfficiënten afneemt), terwijl bij de waarde 1 een L1-boete wordt toegepast (Lasso, dat de flexibiliteit aanmoedigt door bepaalde coëfficiënten in te stellen op nul).0,0(>= 0, <= 1)

Voorbeeld

Create MODEL modelname OPTIONS(
  type = 'logistic_reg'
) AS
  select col1, col2, col3 from training-dataset

Multilayer Perceptron Classifier

De Multilayer Perceptron Classifier (MLPC) is een kunstmatige classificatie voor neurale netwerken. Het bestaat uit meerdere volledig verbonden lagen knooppunten, waarbij elk knooppunt een gewogen lineaire combinatie van ingangen toepast, gevolgd door een activeringsfunctie. MLPC wordt gebruikt voor complexe classificatietaken die niet-lineaire beslissingsgrenzen vereisen.

Parameters

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MAX_ITERHet maximumaantal herhalingen voor het uit te voeren algoritme.100(>= 0)
BLOCK_SIZEDe blokgrootte voor het stapelen van inputgegevens in matrixen binnen verdelingen. Als de blokgrootte de resterende gegevens in een verdeling overschrijdt, wordt het dienovereenkomstig aangepast.128(>= 0)
STEP_SIZEDe stapgrootte die voor elke herhaling van optimalisatie wordt gebruikt (alleen van toepassing op de oplosser gd ).0,03(> 0)
TOLDe convergentietolerantie voor optimalisering.1E-6(>= 0)
PREDICTION_COLDe kolomnaam voor voorspellingsuitvoer."voorspelling"Willekeurige tekenreeks
SEEDHet willekeurige zaad voor het controleren van willekeurige processen in het algoritme.NIET INGESTELDWillekeurig 64-bits getal
PROBABILITY_COLDe kolomnaam voor voorspelde klasse voorwaardelijke kansen. Deze moeten worden behandeld als betrouwbaarheidsscores in plaats van als exacte waarschijnlijkheid."waarschijnlijkheid"Willekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
ONE_VS_RESTSchakelt het verpakken van dit algoritme met One-vs-Rest voor classificatie van meerdere klassen in of uit.falsetrue, false

Voorbeeld

CREATE MODEL modelname OPTIONS(
  type = 'multilayer_perceptron_classifier'
) AS
  select col1, col2, col3 from training-dataset

Naive Bayes Classifier

Naive Bayes Classifier is een eenvoudige probabilistische, meerklassenclassificator gebaseerd op de stelling van Bayes met sterke (naïeve) onafhankelijkheidsaannames tussen eigenschappen. Het treinpersoneel traint efficiënt door voorwaardelijke waarschijnlijkheden in één keer te berekenen over de trainingsgegevens om de voorwaardelijke kansverdeling van elk onderdeel op elk label te berekenen. Voor voorspellingen gebruikt het de stelling van Bayes om de voorwaardelijke waarschijnlijkheidsverdeling van elk label te berekenen op basis van een waarneming.

Parameters

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MODEL_TYPEHiermee geeft u het modeltype op. Ondersteunde opties zijn "multinomial" , "complement" , "bernoulli" en "gaussian" . Modeltype is hoofdlettergevoelig."multinomial""multinomial", "complement", "bernoulli", "gaussian"
SMOOTHINGDe parameter smoothing wordt gebruikt om nul-frequentieproblemen in categoriale gegevens te behandelen.1,0(>= 0)
PROBABILITY_COLDeze parameter specificeert de kolomnaam voor voorspelde klasse voorwaardelijke waarschijnlijkheden. Opmerking: niet alle modellen bieden goed gekalibreerde waarschijnlijkheidsschattingen; behandelen deze waarden als betrouwbaarheidswaarden in plaats van als exacte waarschijnlijkheden."waarschijnlijkheid"Willekeurige tekenreeks
WEIGHT_COLDe kolomnaam voor bijvoorbeeld gewichten. Als deze niet is ingesteld of leeg is, worden alle instantiegewichten behandeld als 1.0 .NIET INGESTELDWillekeurige tekenreeks
PREDICTION_COLDe kolomnaam voor voorspellingsuitvoer."voorspelling"Willekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
ONE_VS_RESTGeeft aan of de indeling One-vs-Rest moet worden ingeschakeld voor meerdere klassen.falsetrue, false

Voorbeeld

CREATE MODEL modelname OPTIONS(
  type = 'naive_bayes_classifier'
) AS
  SELECT col1, col2, col3 FROM training-dataset

Random Forest Classifier

Random Forest Classifier is een ensemble Learning-algoritme die tijdens de training meerdere beslissingsstructuren maakt. Het verzacht overdreven aanpassing door voorspellingen te gemiddelde te nemen en de klasse te kiezen die door de meerderheid van de bomen voor classificatietaken wordt gekozen.

Parameters

ParameterBeschrijvingStandaardwaardeMogelijke waarden
MAX_BINSHet maximumaantal bakken bepaalt hoe ononderbroken eigenschappen in discrete intervallen worden verdeeld. Dit beïnvloedt hoe de eigenschappen bij elke knoop van de beslissingsboom worden verdeeld. Meer bins zorgen voor een hogere granulariteit.32Moet ten minste 2 en gelijk zijn aan of groter zijn dan het aantal categorieën in een categorisch kenmerk.
CACHE_NODE_IDSAls false , 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, die opleiding versnelt.falsetrue, false
CHECKPOINT_INTERVALHiermee geeft u aan hoe vaak de in de cache opgeslagen knooppunt-id's moeten worden gecontroleerd. 10 betekent bijvoorbeeld dat de cache om de 10 herhalingen wordt gecontroleerd.10(>= 1)
IMPURITYHet criterium dat wordt gebruikt voor de berekening van de informatieverbreding (hoofdlettergevoelig)."gini"entropy, gini
MAX_DEPTHDe maximale diepte van de boom (niet-negatief). De diepte 0 betekent bijvoorbeeld 1 bladknooppunt en de diepte 1 1 interne node en 2 bladknooppunten.5(>= 0)
MIN_INFO_GAINDe minimuminformatietoename die voor een splitsing wordt vereist om bij een boomknoop te worden overwogen.0,0(>= 0,0)
MIN_WEIGHT_FRACTION_PER_NODEDe minimale fractie van het gewogen aantal monsters die elk kind na een splitsing moet hebben. Als een splitsing ertoe leidt dat de fractie van het totale gewicht in een van beide kinderen kleiner is dan deze waarde, wordt deze weggegooid.0,0(>= 0,0, <= 0,5)
MIN_INSTANCES_PER_NODEHet minimum aantal exemplaren dat elk kind na een splitsing moet hebben. Als een splitsing minder instanties oplevert dan deze waarde, wordt de splitsing genegeerd.1(>= 1)
MAX_MEMORY_IN_MBHet maximale geheugen, in MB, dat is toegewezen aan histogramaggregatie. Als deze waarde te klein is, wordt slechts één knooppunt gesplitst per iteratie en kunnen de aggregaten ervan deze grootte overschrijden.256(>= 1)
PREDICTION_COLDe kolomnaam voor voorspellingsuitvoer."voorspelling"Willekeurige tekenreeks
WEIGHT_COLDe kolomnaam, bijvoorbeeld, gewichten. Als deze niet is ingesteld of leeg is, worden alle instantiegewichten behandeld als 1.0 .NIET INGESTELDElke geldige kolomnaam of leeg
SEEDHet willekeurige zaadgetal dat wordt gebruikt voor de besturing van willekeurige processen in het algoritme.-1689246527Willekeurig 64-bits getal
BOOTSTRAPOf laarzentestmonsters worden gebruikt bij het bouwen van bomen.truetrue, false
NUM_TREESHet aantal bomen dat moet worden getraind. Als 1 , dan wordt geen bootstrapping gebruikt. Als dit groter is dan 1, wordt de overvulling bootstrapping toegepast.20(>= 1)
SUBSAMPLING_RATEHet deel van de opleidingsgegevens die voor het leren van elke beslissingsboom worden gebruikt.1,0(> 0, <= 1)
LEAF_COLDe kolomnaam voor de bladindexen, die de voorspelde bladindex van elke instantie in elke boom op voorvolgorde bevat.""Willekeurige tekenreeks
PROBABILITY_COLDe kolomnaam voor voorspelde klasse voorwaardelijke kansen. Deze moeten worden behandeld als betrouwbaarheidsscores in plaats van als exacte waarschijnlijkheid.NIET INGESTELDWillekeurige tekenreeks
RAW_PREDICTION_COLDe kolomnaam voor onbewerkte voorspellingswaarden (ook wel betrouwbaarheid genoemd)."rawPrediction"Willekeurige tekenreeks
ONE_VS_RESTGeeft aan of de indeling One-vs-Rest moet worden ingeschakeld voor meerdere klassen.falsetrue, false

Voorbeeld

Create MODEL modelname OPTIONS(
  type = 'random_forest_classifier'
) AS
  select col1, col2, col3 from training-dataset