Propriétés du tSVMModel pour Apache Spark Batch - 7.1

Machine Learning

Version
7.1
Language
Français (France)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Machine Learning
Gouvernance de données > Systèmes tiers > Composants Machine Learning
Qualité et préparation de données > Systèmes tiers > Composants Machine Learning

Ces propriétés sont utilisées pour configurer le tSVMModel s'exécutant dans le framework de Jobs Spark Batch.

Le composant tSVMModel Spark Batch appartient à la famille Machine Learning.

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.

Modifiez le schéma en cliquant sur Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Label

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.

Étant donné qu'un modèle SVM est un modèle de classification binomiale, seules deux classes sont attendues, ce qui signifie que seules deux valeurs distinctes sont attendues dans la colonne.

Vector to process

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.

Step size

Saisissez la taille (en valeur numérique) du pas initial du calcul de descente de gradient. La valeur par défaut 1.0 signifie que l'ensemble des données est utilisé.

En pratique, saisir la taille idéale du pas est souvent délicat.

De manière générale, lorsque les points des caractéristiques à analyser sont très confus, il est recommandé d'augmenter la taille du pas afin de couvrir suffisamment le nombre de points dans chaque itération. Cependant, gardez à l'esprit qu'une taille de pas trop élevée peut augmenter de manière anormale le temps de chaque itération.

En revanche, plus la valeur de pas est faible, plus la convergence est lente et plus vous pouvez vous attendre à un modèle précis.

Number of iterations

Saisissez le nombre d'itérations que vous souhaitez que le Job effectue pour apprendre le modèle.

Fraction of data to be used per iteration

Saisissez la fraction (exprimée sous forme décimale) des données d'entrée à utiliser dans chaque itération pour le calcul du gradient.

La valeur par défaut 1.0 signifie que l'ensemble des données est utilisé.

Regularization parameter

Saisissez le nombre de régularisations utilisé par l'option Updater function afin d'éviter le surapprentissage.

Updater function

Sélectionnez la fonction pour calculer la forme de l'hyperplan qui sépare les deux classes.

Cette fonction met à jour les poids de chaque point dans chaque itération afin d'exécuter le pas du gradient dans une direction donnée pour former l'hyperplan.

Par exemple, dans un espace en deux dimensions, cet hyperplan peut être une ligne ou un ensemble de lignes si les points à classifier sont séparables linéairement.

Les fonctions suivantes sont disponibles :
  • Simple : n'utilise pas le paramètre Regularization parameter.

  • L1 : exécute la régularisation L1.

  • Squared L2 : exécute la régularisation L2.

Gradient function

Sélectionnez la fonction de perte afin de calculer la marge entre l'hyperplan et le point le plus proche de chaque classe.

Pour plus d'informations concernant les fonctions de perte disponibles dans la liste déroulante, consultez Loss function for classification.

Advanced settings

Use feature scaling

Si vos données d'apprentissage ne convergent pas, cochez cette case pour que le tSVMModel réduise le nombre de conditions de manière heuristique en mettant à l'échelle les données des caractéristiques.

Réduire le nombre de conditions peut souvent améliorer le taux de convergence.

Intercept

Cochez la case pour permettre au tSVMModel de calculer automatiquement les termes constants et les inclure dans le calcul.

Généralement, Intercept permet de garantir que les résidus du modèle ont une moyenne de zéro.

Validate data before training

Cochez cette case pour vérifier si les vecteurs des données d'apprentissage sont correctement formatés avant de commencer l'apprentissage.

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 le nombre maximal d'itérations ou la taille du pas. Notez en revanche que l'arrêt prématuré de l'apprentissage peut modifier sa précision.

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 ensembles 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 l'utilisation d'une matrice de confusion dans un Job Talend à des fins de classification, consultez Créer un modèle de classification pour filtrer les spams.

Pour des explications générales relatives aux matrices de confusion, consultez les articles de Wikipédia suivants : https://en.wikipedia.org/wiki/Confusion_matrix pour une version française et pour une version anglaise plus détaillée.

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 :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (apercu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez Qubole, ajoutez tS3Configuration à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans tS3Configuration, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser tHDFSConfiguration.

  • Standalone mode : vous devez choisir le composant de configuration selon le système de fichiers que vous utilisez, comme tHDFSConfiguration ou tS3Configuration.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.