Algorithmes de classification classification-algorithms
Ce document présente les différents algorithmes de classification, 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 classification sont utilisés pour affecter des catégories à des points de données en fonction des fonctions d’entrée. 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 les arbres de décision, la forêt aléatoire et la classification naïve de Bayes.
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier est une approche 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 est utilisé comme modèle prédictif pour les tâches de classification, en tirant des conclusions d’un ensemble d’observations.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances d’un Decision Tree Classifier.
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_MBPREDICTION_COLSEEDWEIGHT_COL1.0.ONE_VS_RESTfalsetrue, falseExemple
Create MODEL modelname OPTIONS(
type = 'decision_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Factorization Machine Classifier factorization-machine-classifier
Factorization Machine Classifier est un algorithme de classification qui prend en charge la descente en dégradé normal et le solveur AdamW. Le modèle de classification de la machine d’usine utilise la perte logistique, qui peut être optimisée par le biais d’une descente en dégradé, et inclut souvent des termes de régularisation tels que L2 pour empêcher le surajustement.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Factorization Machine Classifier.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1].REG_PARAMSEEDSOLVERgd (descente en dégradé) et adamW.gd, adamWSTEP_SIZEPROBABILITY_COLPREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTtrue, falseExemple
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree Classifier gradient-boosted-tree-classifier
L’ Gradient Boosted Tree Classifier utilise un ensemble d’arbres de décision pour améliorer la précision des tâches de classification, en combinant plusieurs arbres afin d’améliorer les performances du modèle.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Gradient Boosted Tree Classifier.
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.MAX_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_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse indique la formation et true la validation. Si aucune valeur n’est définie, la valeur par défaut est None.RAW_PREDICTION_COLLEAF_COLFEATURE_SUBSET_STRATEGYauto (déterminées automatiquement en fonction de la tâche), all (utilisez toutes les fonctionnalités), onethird (utilisez un tiers des fonctionnalités), sqrt (utilisez la racine carrée du nombre de fonctionnalités), log2 (utilisez le logarithme de base 2 du nombre de fonctionnalités) et n (où n représente une fraction des fonctionnalités si elles se trouvent dans la plage (0, 1], ou un nombre spécifique de fonctionnalités si dans la plage [1, total number of features]).auto, all, onethird, sqrt, log2, nWEIGHT_COL1.0.LOSS_TYPElogistic (non-respect de la casse)STEP_SIZE(0, 1], utilisée pour réduire la contribution de chaque estimateur.MAX_ITERSUBSAMPLING_RATE(0, 1]PROBABILITY_COLONE_VS_RESTfalsetrue, falseExemple
Create MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Linear Support Vector Classifier (LinearSVC) linear-support-vector-classifier
Linear Support Vector Classifier (LinearSVC) construit un hyperplan pour classer les données dans un espace multidimensionnel. Vous pouvez l’utiliser pour maximiser la marge entre les classes afin de minimiser les erreurs de classification.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Linear Support Vector Classifier (LinearSVC).
MAX_ITERAGGREGATION_DEPTHFIT_INTERCEPTtruetrue, falseTOLMAX_BLOCK_SIZE_IN_MB0, la valeur optimale est automatiquement sélectionnée (généralement autour de 1 Mo).REG_PARAMSTANDARDIZATIONtruetrue, falsePREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemple
Create MODEL modelname OPTIONS(
type = 'linear_svc_classifier'
) AS
select col1, col2, col3 from training-dataset
Logistic Regression logistic-regression
Logistic Regression est un algorithme supervisé utilisé pour les tâches de classification binaire. Il modélise la probabilité qu’une instance appartienne à une classe à l’aide de la fonction logistique et affecte l’instance à la classe avec la probabilité la plus élevée. Cela permet de répondre aux problèmes dans lesquels l’objectif est de séparer les données dans l’une des deux catégories.
Paramètres
Le tableau ci-dessous décrit les paramètres clés de configuration et d’optimisation des performances de Logistic Regression.
MAX_ITERREGPARAMELASTICNETPARAMElasticNet contrôle l’équilibre entre les pénalités L1 (Lasso) et L2 (Ridge). Une valeur de 0 applique une pénalité L2 (Ridge, qui réduit la taille des coefficients), tandis qu'une valeur de 1 applique une pénalité L1 (Lasso, qui encourage la dispersion en fixant certains coefficients à zéro).Exemple
Create MODEL modelname OPTIONS(
type = 'logistic_reg'
) AS
select col1, col2, col3 from training-dataset
Multilayer Perceptron Classifier multilayer-perceptron-classifier
Multilayer Perceptron Classifier (MLPC) est un classificateur de réseau neuronal artificiel de flux. Il se compose de plusieurs couches de noeuds entièrement connectés, où chaque noeud applique une combinaison linéaire pondérée d’entrées, suivie d’une fonction d’activation. MLPC est utilisé pour des tâches de classification complexes nécessitant des limites de décision non linéaires.
Paramètres
MAX_ITERBLOCK_SIZESTEP_SIZEgd).TOL1E-6PREDICTION_COLSEEDPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemple
CREATE MODEL modelname OPTIONS(
type = 'multilayer_perceptron_classifier'
) AS
select col1, col2, col3 from training-dataset
Naive Bayes Classifier naive-bayes-classifier
Naive Bayes Classifier est un classificateur à plusieurs classes probabiliste simple basé sur le théorème de Bayes avec des hypothèses d'indépendance fortes (naïves) entre les caractéristiques. Il s’entraîne efficacement en calculant les probabilités conditionnelles en un seul passage sur les données d’entraînement pour calculer la distribution des probabilités conditionnelles de chaque fonction donnée à chaque étiquette. Pour les prédictions, il utilise le théorème de Bayes pour calculer la distribution de probabilité conditionnelle de chaque étiquette à la suite d’une observation.
Paramètres
MODEL_TYPE"multinomial", "complement", "bernoulli" et "gaussian". Le type de modèle est sensible à la casse."multinomial", "complement", "bernoulli", "gaussian"SMOOTHINGPROBABILITY_COLWEIGHT_COL1.0.PREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemple
CREATE MODEL modelname OPTIONS(
type = 'naive_bayes_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Classifier random-forest-classifier
Random Forest Classifier est un algorithme d’apprentissage d’ensemble qui crée plusieurs arbres de décision lors de la formation. Il atténue le surajustement en calculant la moyenne des prédictions et en sélectionnant la classe choisie par la majorité des arborescences pour les tâches de classification.
Paramètres
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 accélère la formation.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_MBPREDICTION_COLWEIGHT_COL1.0.SEEDBOOTSTRAPtruetrue, falseNUM_TREES1, aucun amorçage n’est utilisé. Si la valeur est supérieure à 1, l’amorçage est appliqué.SUBSAMPLING_RATELEAF_COLPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemple
Create MODEL modelname OPTIONS(
type = 'random_forest_classifier'
) AS
select col1, col2, col3 from training-dataset
Étapes suivantes
Après avoir lu ce document, vous savez maintenant comment configurer et utiliser divers algorithmes de classification. Reportez-vous ensuite aux documents sur régression et clustering pour en savoir plus sur d’autres types de modèles statistiques avancés.