Accéder au contenu principal Passer au contenu complémentaire

Propriétés du tLogisticRegressionModel pour Apache Spark Batch

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

Le composant tLogisticRegressionModel 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 :

  • 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 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.

ElasticNet mixing parameter

Saisissez le coefficient ElasticNet (valeur numérique) utilisé pour le calcul de régularisation afin de contrôler le compromis biais/variance dans la sélection des caractéristiques. ElasticNet est la combinaison des régularisations L1 et L2.

La valeur à saisir varie entre 0.0 et 1.0, indiquant les poids des régularisations L1 et L2 dans la combinaison ElasticNet. Lorsque la valeur est 0.0, la régularisation est équivalente à la régularisation L2. Lorsque la valeur est 1.0, elle est égale à la régularisation L1.

Pour plus d'informations concernant l'implémentation d'ElasticNet dans Spark, consultez ML linear methods (en anglais). La formule associée montre comment la valeur saisie (α dans cette formule) est utilisée pour calculer la régularisation ElasticNet.

Pour plus d'informations concernant ElasticNet, consultez Regularization and variable selection via the elastic net (en anglais).

Fit an intercept term

Cochez cette case pour permettre au tLogisticRegressionModel de calculer automatiquement les termes constants et les inclure dans le calcul de régression.

Généralement, le terme constant doit être présent afin de garantir que les résidus du modèle ont une moyenne de zéro.

Nombre maximal d'itérations

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

Régularisation

Saisissez le coefficient de régularisation (valeur numérique) à utiliser avec ElasticNet pour le calcul de régularisation.

Pour plus d'informations concernant l'implémentation de ce paramètre dans Spark, consultez ML linear methods (en anglais). La formule associée montre comment la valeur saisie (λ dans cette formule) est utilisée pour calculer une éventuelle régularisation.

Seuil

Saisissez le seuil (valeur numérique entre 0 et 1) utilisé pour séparer les prédictions positives des prédictions négatives. Un élément pour lequel le score de prédiction (probabilité d'être un cas) est supérieur ou égal à ce seuil sera identifié comme positif.

Le seuil par défaut est 0.5.

Convergence tolerance

Saisissez le score de convergence attendu par les itérations.

En général, une valeur plus faible permet une plus grande précision de prédiction mais demande plus d'itérations.

Dans certains cas, votre modèle peut ne pas pouvoir atteindre la convergence configurée, malgré le nombre d'itérations que vous souhaitez que le Job effectue. L'échec de convergence peut indiquer que le score de convergence que vous avez utilisé n'est pas réaliste par rapport aux caractéristiques que vous traitez et donc, vous devez traiter ces caractéristiques à un degré supérieur.

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, le seuil ou la tolérance de la convergence, 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 :
  • 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 (aperçu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • 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 le tHDFSConfiguration.

  • Standalone mode : utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le tHDFSConfiguration Apache Spark Batch ou le tS3Configuration Apache Spark Batch.

    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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.