Propriétés du tDecisionTreeModel pour Apache Spark Batch
Ces propriétés sont utilisées pour configurer le tDecisionTreeModel s'exécutant dans le framework de Jobs Spark Batch.
Le composant tDecisionTreeModel Spark Batch appartient à la famille Apprentissage automatique.
Ce composant est disponible dans les produits Talend Platform avec Big Data et dans Talend Data Fabric.
Basic settings
Schema et Edit schema |
Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
|
Label column |
Sélectionnez la colonne d'entrée utilisée pour fournir les libellés de classification. Les enregistrements de cette colonne sont utilisés comme noms de classe (cible, en termes de classification) des éléments à classifier. |
Feature column |
Sélectionnez la colonne d'entrée utilisée pour fournir les caractéristiques. Très souvent, cette colonne est la sortie des calculs de pré-traitement des caractéristiques effectués par le tModelEncoder. |
Save the model on file system |
Cochez cette case pour stocker le modèle dans un système de fichiers donné. Sinon, le modèle est stocké dans la mémoire. Le bouton pour parcourir votre système ne fonctionne pas en mode Local de Spark. Si vous utilisez le mode Yarn ou Standalone de Spark, assurez-vous d'avoir correctement configuré la connexion dans un composant de configuration au sein du même Job, comme le tHDFSConfiguration. |
Gain calculation method |
Un gain d'information est attendu chaque fois qu'une division de nœud est effectuée. Dans cette liste déroulante, sélectionnez la mesure utilisée pour définir la meilleure division, parmi chaque ensemble de divisions.
Pour plus d'informations concernant le calcul de chaque mesure, consultez Impurity measures, dans la documentation Spark (en anglais). |
Maximum number of bins used for descritizing continuous features |
Saisissez la valeur numérique indiquant le nombre maximal de bins utilisés pour diviser les caractéristiques. Les caractéristiques continues sont automatiquement transformées pour trier les caractéristiques discrètes. |
Maximum depth of the tree |
Saisissez la profondeur de l'arbre de décision à laquelle la construction doit arrêter d'ajouter des nœuds. Les nouveaux nœuds représentent des tests plus avancés sur les caractéristiques des nœuds internes et des possibles libellés de classes contenus par les nœuds des feuilles. Pour un arbre de profondeur n, le nombre de nœuds internes est 2n - 1. Par exemple, une profondeur (depth) de 1 signifie 1 nœud interne plus 2 nœuds de feuilles. De manière générale, un arbre de décision plus profond est plus expressif et potentiellement plus précis dans ses prédictions, mais consomme également plus de ressources et est plus prompt au surapprentissage. |
Minimum information gain |
Saisissez le nombre minimum de gains d'information à attendre d'un nœud parent vers ses nœuds enfants. Lorsque le nombre de gains d'information est inférieur au nombre minimum, la division des nœuds est arrêtée. La valeur minimum par défaut du nombre de gains d'information est 0.0, ce qui signifie qu'aucune information supplémentaire n'est obtenue en divisant un nœud donné. Par conséquent, la division peut être arrêtée. Pour plus d'informations concernant le calcul du gain d'information, consultez Impurity and Information gain dans la documentation Spark (en anglais). |
Minimum number of instances per node |
Saisissez le nombre minimal d'instances d'apprentissage qu'un nœud doit avoir pour qu'il soit valide pour une division ultérieure. La valeur par défaut est 1, ce qui signifie que, lorsqu'un nœud contient seulement 1 ligne de données d'apprentissage, sa division s'arrête. |
Advanced settings
Maximum memory |
Saisissez la taille maximum de mémoire (en Mo) à allouer à l'apprentissage de l'arbre. |
Checkpoint interval |
Saisissez un nombre indiquant la fréquence des points de contrôle. À la fin de l'exécution de ce nombre d'itérations, le modèle temporaire est sauvegardé. |
Utilisation
Règle d'utilisation |
Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée. Vous pouvez accélérer le processus d'apprentissage en ajustant les conditions d'arrêt, comme la profondeur maximale de chaque arbre de décision, le nombre maximal de bins de division ou le nombre minimum de nombre de gains d'informations, mais notez que si l'apprentissage s'arrête trop tôt, cela peut avoir un impact sur ses performances. |
Model evaluation |
Les paramètres que vous devez configurer sont des paramètres libres. Leur valeur peut être fournie par des essais, des suppositions empiriques ou autres. Ils n'ont aucune valeur optimale applicable pour les jeux de données. Vous devez apprendre le modèle de classification que vous générez avec différents ensembles de valeurs de paramètres jusqu'à ce que vous obteniez la meilleure matrice de confusion. Cependant, vous devez écrire vous-même le code d’évaluation, afin de noter votre modèle avec des scores. Vous devez sélectionner les scores à utiliser selon l'algorithme à utiliser pour apprendre votre modèle de classification. Cela vous permet de construire la matrice de confusion la plus pertinente. Pour des exemples concernant comment utiliser une matrice de confusion dans un Job Talend à des fins de classification, consultez Création d'un modèle de classification pour filtrer les spams. Pour des explications générales relatives aux matrices de confusion, consultez l'article Wikipédia suivant : https://en.wikipedia.org/wiki/Confusion_matrix (en anglais). |
Spark Connection |
Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie. |