Entraînement du modèle de classification

Objective

After completing this lesson, you will be able to entraînez un modèle de classification à l'aide des fonctions PAL de SAP HANA et comprenez comment le personnaliser avec différentes options.

Entraînement du modèle de classification HGBT (Hybrid Gradient Boosting Tree) pour la caractéristique/colonne de données 'FlightRisk'

La fonction Classification unifiée PAL SAP HANA [1] offre un moyen efficace d'entraîner des modèles de classification avec des fonctionnalités améliorées telles que :

  • Commutation transparente entre les algorithmes de classification
  • Partitionnement automatique de l'ensemble de données
  • Procédures d'évaluation de modèle intégrées
  • Prise en charge de métriques d'évaluation supplémentaires

Pour cette tâche, l'algorithme HGBT (Hybrid Gradient Boosting Tree) est sélectionné en définissant le paramètre "func" sur "HybridGradientBoostingTree". Enfin, le temps d'entraînement, c'est-à-dire le temps nécessaire pour adapter le modèle au jeu de données d'entraînement, s'affiche.

Code Snippet
123456789101112131415161718192021
# Train the classifer model using PAL HybridGradientBoostingTree # Initialize the model object hgbc = UnifiedClassification(func='HybridGradientBoostingTree', n_estimators = 101, split_threshold=0.1, learning_rate=0.1, max_depth=6, split_method='histogram', max_bin_num=256, feature_grouping=True, tolerant_iter_num=5, resampling_method='cv', fold_num=5, ref_metric=['auc'], evaluation_metric = 'error_rate') # Execute the training of the model # key= 'EMPLOYEE_ID', hgbc.fit(data=df_train.drop('EMPLOYEE_ID'), label='FLIGHT_RISK', partition_method='stratified', stratified_column='FLIGHT_RISK', training_percent=0.8, ntiles=20, build_report=True) display(hgbc.runtime)

1,82820272445678

Vérification des résultats d'entraînement du modèle

Le générateur de programmes PAL/APL est utilisé pour évaluer les performances du modèle. Actuellement, seuls les modèles UnifiedClassification et UnifiedRegression[1] sont pris en charge.

Il existe une variété de métriques de performance de classification, AUC-ROC (Area Under the Receiver Operating Characteristic Curve) [2] étant l'une des plus utilisées. Cette métrique, allant de 0 à 1, évalue la capacité d'un modèle de classification binaire à distinguer les classes positives des classes négatives. Plus la valeur de l'AUC est proche de 1, plus le modèle effectue de meilleures performances en séparant les classes.

Dans le rapport ci-dessous, sous l'onglet Statistiques du Tableau des statistiques, une valeur d'ASC de 0,95 est observée. En outre, le diagramme AUC-ROC est disponible pour la visualisation sous l'onglet "Indicateurs de score".

L'onglet Importance de la variable présente un diagramme à secteurs d'importance des fonctions, qui affecte des scores aux fonctions d'entrée en fonction de leur contribution à la prévision de la variable cible [3]. Des valeurs actuelles plus élevées indiquent une plus grande influence sur les prévisions du modèle, avec des valeurs d'importance comprises entre 0 et 1.

Dans les résultats, 'PREVIOUS_COUNTRY' a le score d'importance le plus élevé de 0,23, suivi de 'FUNCTIONALAREACHANGETYPE' à 0,21.

Code Snippet
123
# Build Model Report UnifiedReport(hgbc).build().display()

Rapport modèle de classification unifié : statistiques - table stat.

NOM STATVALEUR STATCLASS
IEC0,9509Aucune
EXACTITUDE0,9193Aucune
KAPPA0,4390Aucune
MCC0,4951Aucune
Cette figure illustre un exemple de camembert pour l'importance des variables.
Cette figure illustre un exemple de diagramme à barres pour l'importance des variables.
Cette figure illustre un exemple de courbe ROC.

Valeur IEC

Nous pouvons également obtenir la valeur AUC à l'aide d'une ligne de code comme indiqué ci-dessous :

hgbc.get_performance_metrics()['AUC']

0,9509