Algorithmes de régression regression-algorithms
Ce document présente les différents algorithmes de régression, en se concentrant sur leur configuration, leurs paramètres clés et leur utilisation pratique dans les modèles statistiques avancés. Les algorithmes de régression sont utilisés pour modéliser la relation entre les variables dépendantes et indépendantes, prédisant des résultats continus basés sur les données observées. Chaque section comprend des descriptions de paramètre et des exemples de code pour vous aider à mettre en oeuvre et à optimiser ces algorithmes pour des tâches telles que linéaire, forêt aléatoire et régression de survie.
régression Decision Tree decision-tree-regression
Decision Tree L’apprentissage est une méthode d’apprentissage supervisée utilisée dans les statistiques, l’exploration des données et l’apprentissage automatique. Dans cette approche, un arbre de décision de classification ou de régression est utilisé comme modèle prédictif pour tirer des conclusions sur un ensemble d’observations.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances des modèles d’arbre de décision.
MAX_BINSCACHE_NODE_IDSfalse, l’algorithme transmet les arborescences aux exécuteurs pour faire correspondre les instances aux noeuds. Si true, l’algorithme met en cache les identifiants de noeud pour chaque instance, ce qui peut accélérer l’entraînement des arborescences plus profondes. Les utilisateurs peuvent configurer la fréquence à laquelle le cache doit être coché ou désactivé en définissant CHECKPOINT_INTERVAL.true ou false.CHECKPOINT_INTERVAL10 signifie que le cache sera coché toutes les 10 itérations. Cela ne s’applique que si CACHE_NODE_IDS est défini sur true et que le répertoire du point de contrôle est configuré dans org.apache.spark.SparkContext.IMPURITYentropy et gini.ginientropy, giniMAX_DEPTH0 signifie 1 noeud feuille, tandis qu’une profondeur de 1 signifie 1 noeud interne et 2 noeuds feuille. La profondeur doit être comprise dans la plage [0, 30].MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0.Exemple
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
régression Factorization Machines factorization-machines-regression
Factorization Machines est un algorithme d’apprentissage par régression qui prend en charge la descente en dégradé normal et le solveur AdamW. L’algorithme est basé sur l’article de S. Rendle (2010), "Factorization Machines".
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de la régression Factorization Machines.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1].(0, 1]REG_PARAMSEEDSOLVERgd (descente en dégradé), adamWSTEP_SIZEPREDICTION_COLExemple
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
régression Generalized Linear generalized-linear-regression
Contrairement à la régression linéaire, qui suppose que le résultat suit une distribution normale (gaussienne), les modèles Generalized Linear (GLM) permettent au résultat de suivre différents types de distributions, comme Poisson ou binomial, selon la nature des données.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de la régression Generalized Linear.
MAX_ITERirls).REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate.FAMILYgaussian, binomial, poisson, gamma et tweedie.gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue, falseLINKidentity, log, inverse, logit, probit, cloglog et sqrt.identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower, qui s’aligne sur le package R statmod. Les puissances de lien spécifiques de 0, 1, -1 et 0.5 correspondent respectivement aux liens Journal, Identité, Inverse et Trier.SOLVERirls (moindres carrés itérativement pondérés).irlsVARIANCE_POWER[1, inf). Les puissances de variation de 0, 1 et 2 correspondent respectivement aux familles gaussiennes, Poisson et Gamma.[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.0. Dans la famille Binomial, les poids correspondent au nombre d’essais, et les poids non entiers sont arrondis dans le calcul AIC.Exemple
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
régression Gradient Boosted Tree gradient-boosted-tree-regression
Les arbres à amplification progressive (GBT) sont une méthode efficace de classification et de régression qui combine les prédictions de plusieurs arbres de décision afin d’améliorer la précision prédictive et les performances des modèles.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de la régression Gradient Boosted Tree.
MAX_BINSCACHE_NODE_IDSfalse, l’algorithme transmet les arborescences aux exécuteurs pour faire correspondre les instances aux noeuds. Si true, l’algorithme met en cache les identifiants de noeud pour chaque instance. La mise en cache peut accélérer l’entraînement des arbres plus profonds.falsetrue, falseCHECKPOINT_INTERVAL10 signifie que le cache est coché toutes les 10 itérations.MAX_DEPTH0 signifie 1 noeud feuille et profondeur 1 signifie 1 noeud interne avec 2 noeuds feuille.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse pour la formation et true pour la validation.LEAF_COLFEATURE_SUBSET_STRATEGYauto, all, onethird, sqrt, log2 ou une fraction comprise entre 0 et 1.0SEEDWEIGHT_COL1.0.LOSS_TYPEsquared (L2) et absolute (L1). Remarque : Les valeurs ne sont pas sensibles à la casse.STEP_SIZE(0, 1], utilisée pour réduire la contribution de chaque estimateur.(0, 1]MAX_ITERSUBSAMPLING_RATE(0, 1].(0, 1]Exemple
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
régression Isotonic isotonic-regression
Isotonic Regression est un algorithme utilisé pour ajuster les distances de manière itérative tout en préservant l’ordre relatif des dissimilarités dans les données.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Isotonic Regression.
ISOTONICtrue ou antitonique (décroissant) lorsque false.truetrue, falseWEIGHT_COL1.0.PREDICTION_COLFEATURE_INDEXfeaturesCol est une colonne vectorielle. Si elle n’est pas définie, la valeur par défaut est 0. Sinon, cela n'aura aucun effet.Exemple
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
régression Linear linear-regression
Linear Regression est un algorithme d’apprentissage automatique supervisé qui correspond à une équation linéaire aux données afin de modéliser la relation entre une variable dépendante et des fonctionnalités indépendantes.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Linear Regression.
MAX_ITERREGPARAMELASTICNETPARAMExemple
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression est un algorithme d’ensemble qui crée plusieurs arbres de décision pendant la formation et renvoie la prédiction moyenne de ces arbres pour les tâches de régression, ce qui permet d’éviter le surajustement.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Random Forest Regression.
MAX_BINSCACHE_NODE_IDSfalse, l’algorithme transmet les arborescences aux exécuteurs pour faire correspondre les instances aux noeuds. Si true, l’algorithme met en cache les identifiants de noeud pour chaque instance, accélérant l’entraînement des arborescences plus profondes.falsetrue, falseCHECKPOINT_INTERVAL10 signifie que le cache est coché toutes les 10 itérations.IMPURITYentropy, giniMAX_DEPTH0 signifie 1 noeud feuille et profondeur 1 signifie 1 noeud interne et 2 noeuds feuille.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBBOOTSTRAPtrue, falseNUM_TREES1, aucun amorçage n’est utilisé. Si la valeur est supérieure à 1, l’amorçage est appliqué.SUBSAMPLING_RATE(0, 1].LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.0.Exemple
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression est utilisé pour correspondre à un modèle de régression de survie paramétrique, connu sous le nom de modèle Accelerated Failure Time (AFT), basé sur Weibull distribution. Il peut empiler des instances en blocs pour améliorer les performances.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Survival Regression.
MAX_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate. Si les dimensions des fonctionnalités ou le nombre de partitions sont importants, ce paramètre peut être défini sur une valeur plus grande.FIT_INTERCEPTtrue, falsePREDICTION_COLCENSOR_COL1 indique que l’événement s’est produit (non censuré), tandis que 0 signifie que l’événement est censuré.MAX_BLOCK_SIZE_IN_MB0 permet un ajustement automatique.Exemple
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Étapes suivantes
Après avoir lu ce document, vous savez maintenant configurer et utiliser divers algorithmes de régression. Reportez-vous ensuite aux documents sur classification et clustering pour en savoir plus sur d’autres types de modèles statistiques avancés.