tMatchModel - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Fonction

Le tMatchModel lit l'échantillon de paires suspectes écrites en sortie par le tMatchPairing, après avoir libellé le second élément de chaque paire, puis analyse les données à l'aide de l'algorithme Random Forest et génère un modèle de rapprochement.

Ce composant s'exécute uniquement avec les versions de Spark 1.6+ et 2.0.

Objectif

Le tMatchModel vous permet de générer le modèle de rapprochement utilisé par le composant tMatchPredict pour prédire automatiquement les libellés pour les paires suspectes et les enregistrements de groupes qui correspondent au(x) libellé(s) configuré(s) dans les propriétés du composant.

Pour plus d'informations concernant les composants tMatchPairing et tMatchPredict, consultez tMatchPairing et tMatchPredict, respectivement.

Propriétés du tMatchModel dans des Jobs Spark Batch

Famille du composant

Data Quality

 

Basic settings

Define a storage configuration component

Sélectionnez le composant de configuration à utiliser pour fournir les informations de configuration pour la connexion au système de fichiers cible, comme HDFS.

Si vous laissez cette case décochée, le système de fichiers cible est le système local.

Notez que le composant de configuration à utiliser doit se trouver dans le même Job. Par exemple, si vous avez ajouté un tHDFSConfiguration dans votre Job, vous pouvez le sélectionner pour écrire le résultat dans un système HDFS donné.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir 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].

Le schéma de sortie de ce composant comporte une colonne en lecture seule :

La colonne matchingLabel contient les libellés configurés manuellement sur les paires d'enregistrements suspects.

 

 

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

 

Matching key

Sélectionnez les colonnes sur lesquelles vous souhaitez baser le calcul de correspondance.

 

Matching label column

Sélectionnez la colonne du flux d'entrée contenant les libellés configurés manuellement sur les paires d'enregistrements suspects.

 

Matching model location

Cochez la case Save the model on file system et, dans le champ Folder, configurez le chemin d'accès au dossier local dans lequel vous souhaitez générer les fichiers de rapprochement.

Si vous souhaitez stocker le modèle dans un système de fichiers spécifique, par exemple S3 ou HDFS, vous devez utiliser le composant correspondant dans le Job et cocher la case Define a storage configuration component dans les propriétés simples de ce composant.

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.

Advanced settings

Max token number for phonetic comparison

Définissez le nombre maximal de jetons à utiliser dans la comparaison phonétique.

Lorsque le nombre de jetons dépasse la valeur définie dans le champ, aucune comparaison phonétique n'est effectuée sur la chaîne.

 

Random Forest hyper-parameters tuning

Number of trees range : saisissez un intervalle pour le nombre d'arbres de décision que vous souhaitez construire. Chaque arbre de décision est construit indépendamment à l'aide d'un échantillon aléatoire de caractéristiques.

Augmenter l'intervalle peut améliorer la précision tout en diminuant les variations des prédictions, mais augmente le temps d'apprentissage..

Maximum tree-depth range : 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.

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.

 

Cross-validation parameters

Number of folds : saisissez le nombre de paquets utilisés pour l'apprentissage ou pour le test des jeux de données.

Evaluation metric type : sélectionnez un type dans la liste. Pour plus d'informations, consultez Précision et rappel ou la page Precision and recall (en anglais).

 

Random Forest parameters

Subsampling rate : saisissez la valeur numérique pour indiquer la fraction du jeu de données d'entrée utilisée pour l'apprentissage de chaque arbre de la forêt. La valeur par défaut 1.0 est recommandée, ce qui signifie que l'ensemble de données complet est utilisé à des fins de test.

Subset Strategy : sélectionnez la stratégie concernant le nombre de caractéristiques devant être considérées sur chaque nœud interne pour diviser de manière appropriée ce nœud interne (l'ensemble d'apprentissage ou le sous-ensemble d'une caractéristique de ce nœud) en de plus petits sous-ensembles. Ces sous-ensembles sont utilisés pour construire des nœuds enfants.

Chaque stratégie prend en compte un nombre différent de caractéristiques pour trouver le point optimal parmi ces caractéristiques pour la division. Ce point, peut être, par exemple, l'âge 35 de la caractéristique catégorique age.

  • auto : cette stratégie se base sur le nombre d'arbres défini dans le champ Number of trees in the forest de la vue Basic settings. Cette stratégie est celle par défaut.

    Si le nombre d'arbre est 1, la stratégie est all. Si ce nombre est supérieur à 1, la stratégie est sqrt.

  • all : le nombre total de caractéristiques est considéré pour la division.

  • sqrt : le nombre de caractéristiques à considérer est la racine carrée du nombre total de caractéristiques.

  • log2 : le nombre de caractéristiques à considérer est le résultat de log2(M), dans lequel M est le nombre total de caractéristiques.

 

Max bins

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.

 

Min info gain

Saisissez le nombre minimum de gain d'information à attendre d'un nœud père vers ses nœuds fils. Lorsque le nombre de gain d'information est inférieur au nombre minimum, la division des nœuds est arrêtée.

La valeur minimum par défaut du gain 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).

 

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

 

Impurity

Sélectionnez la mesure utilisée pour obtenir la meilleure division de chaque ensemble de divisions.

  • gini : fréquence à laquelle un élément peut être nommé de manière incorrecte dans une division.

  • entropy : combien peuvent être imprévisibles les informations dans chaque division.

Pour plus d'informations concernant le calcul de chaque mesure, consultez Impurity measures, dans la documentation Spark (en anglais).

 

Set a random seed

Saisissez le numéro de graine aléatoire à utiliser pour le bootstrapping et choisissez les sous-ensembles de caractéristiques.

 

Use Timestamp format for Date type

Cochez cette case pour écrire en sortie les dates, heures, minutes et secondes contenues dans vos données de type Date. Si vous décochez cette case, seuls les années, les mois et les jours sont écrits en sortie.

Utilisation dans des Jobs Spark Batch

Ce composant est utilisé comme étape intermédiaire.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Connexion à Spark Batch

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir 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, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

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

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Génération du modèle de rapprochement

Le composant tMatchModel lit l'échantillon suspect produit en sortie par le tMatchPairing, que vous avez libellé. Il génère plusieurs modèles de rapprochement, recherche automatiquement la meilleure combinaison des paramètres d'apprentissage et conserve le meilleur modèle de rapprochement résultant de la validation croisée.

Prérequis : Vous devez avoir généré les paires de données suspectes à l'aide du composant tMatchPairinget les avoir libellées manuellement. Pour plus d'informations, consultez tMatchPairing.

Ce scénario décrit un Job qui utilise :

Distributions Hadoop supportées : ce composant s'exécute avec les distributions Hadoop suivantes, avec Spark 1.6 et Spark 2.0 :

  • Spark 1.6 : CDH5.7, CDH5.8, HDP2.4.0, HDP2.5.0, MapR5.2.0, EMR4.5.0, EMR4.6.0.

  • Spark 2.0 : EMR5.0.0.

Configurer le Job

  1. Déposez les composants suivants situés dans la Palette dans l'espace de modélisation graphique : un tFixedFlowInput et un tMatchModel.

  2. Reliez les composants à l'aide d'un lien Main.

  3. Assurez-vous d'avoir défini la connexion au cluster Spark dans la vue Run > Spark Configuration comme décrit dans Scénario : Création de paires suspectes et d'un échantillon de paires suspectes à partir d'un jeu de données.

Configurer le composant d'entrée

Les données d'entrée à utiliser avec le tMatchModel sont les paires de données suspectes générées par le tMatchPairing comme expliqué dans Scénario : Création de paires suspectes et d'un échantillon de paires suspectes à partir d'un jeu de données.

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cliquez sur le bouton Edit Schema pour ouvrir une boîte de dialogue dans laquelle vous pouvez définir le schéma d'entrée.

  3. Cliquez sur le bouton [+] et ajoutez les colonnes du schéma comme indiqué dans l'image ci-dessus. Cliquez sur OK.

    Le schéma d'entrée est le même que celui utilisé avec le tMatchPairing avec la colonne supplémentaire, matchingLabel. Cette colonne comprend le libellé que vous avez configuré manuellement sur un deuxième enregistrement dans une paire.

  4. Dans le champ Number of rows, saisissez la valeur 1.

  5. Dans la zone Mode, sélectionnez l'option Use Inline Content.

  6. Copiez les paires de données suspectes dans le fichier délimité généré par le composant tMatchPairing et collez-les dans la table Content.

    Pour une lisibilité optimale, vous pouvez ignorer les colonnes PAIR_ID et SCORE.

  7. Dans chaque paire suspecte, ajoutez un libellé à côté du second enregistrement pour préciser s'il s'agit d'un enregistrement en doublon ou non, ou c'est également un doublon possible.

    2;Thomas;Cleveland;28-04-1994;Timberlane Drive 74;Austin;
    3;Thomos;Cleveland;28-04-1994;TQimberlane Drie 74;Austin;true
    34;Worren;Adams;24-07-1980;South Rooevelt Drive 114;Lansin;
    35;WarrNn;Adams;03-07-1980;South Roosevelt Drive 14;Lansin;true
    25;GeraPd;Truman;28-04-1988;Burnett RoZad 46;Helena;
    28;Woodrow;Truman;21-08-1963;PDacific Hwy S 53;Salt Lakh City;false
    17;Harry;Van BuWen;27-12-1959;Santa Rosa South 92;Tallahasso;
    5;Rutherford;Eisenhower;19-01-1986;Pacific Hwy S 33;Jackson;false
    46;HarrH;Clevuland;01-03-1979;Jones Road 6;Batom Rouge;
    45;Harry;Cleveland;01-03-1979;Jones Road 56;Baton Rouge;true
    29;Bill;Harrison;16-12-1992;Carpinteria South 1;Oklahoma City;
    30;Rill;HyrrisQn;16-12-2050;Carpinteria South 1;Oclahoma ity;true
    3;Thomos;Cleveland;28-04-1994;TQimberlane Drie 74;Austin;
    45;Harry;Cleveland;01-03-1979;Jones Road 56;Baton Rouge;true
    13;Jown;Clinton;04-08-1959;ean dLe la Fontaine 30;Salm;
    50;William;Washington;26-03-1986;Padre Boulevard 24;Olympia;false
    45;Harry;Cleveland;01-03-1979;Jones Road 56;Baton Rouge;
    2;Thomas;Cleveland;28-04-1994;Timberlane Drive 74;Austin;false
    4;GMorge;Trand;19-02-2000;Harry S TVruman Blvd 75;Indianabolis;
    44;Andrew;Grant;24-12-1989;Santa Monica Road 6;Montpelier;false
    19;Lyndon;Johnson;09-08-1954;French Camp Turnpike Road 60;Jackson;
    21;Lyndon;Gohnson;25-08-1954;French Camp Turnpike Road 60;Jackon;true
    4;GMorge;Trand;19-02-2000;Harry S TVruman Blvd 75;Indianabolis;
    46;HarrH;Clevuland;01-03-1979;Jones Road 6;Batom Rouge;false
    40;JimmN;MonrGe;30-08-1965;Richmond Hill 70;umeau;
    39;GimLy;Monrhe;30-01-1965;Richmod HZill 70;Junuu;true
    4;GMorge;Trand;19-02-2000;Harry S TVruman Blvd 75;Indianabolis;
    3;Thomos;Cleveland;28-04-1994;TQimberlane Drie 74;Austin;false
    8;Herbert;Tyler;11-09-1980;Cerrillos Road 73;Raleigh;
    9;HeFpert;Dyler;11-09-2035;CerrilDlos Road 73;Ralehh;true
    19;Lyndon;Johnson;09-08-1954;French Camp Turnpike Road 60;Jackson;
    13;Jown;Clinton;04-08-1959;ean dLe la Fontaine 30;Salm;false
    39;GimLy;Monrhe;30-01-1965;Richmod HZill 70;Junuu;
    26;William;Monroe;19-02-1993;N Harrison St 135;Des Moines;false
    39;GimLy;Monrhe;30-01-1965;Richmod HZill 70;Junuu;
    27;William;Bonroe;19-01-1993;N Harrison St 135;Tes Moines;false
    49;Warren;Harrison;09-12-1966;San Simeon 118;Oklahoma City;
    30;Rill;HyrrisQn;16-12-2050;Carpinteria South 1;Oclahoma ity;true
    ...

    Les libellés utilisés dans cet exemple sont true ou false, mais vous pouvez utiliser le libellé que vous souhaitez et en utiliser plus de deux.

Générer le modèle de rapprochement

  1. Double-cliquez sur le tMatchModel pour afficher sa vue Basic settings et définissez les propriétés du composant.

  2. Dans la table Matching Key, cliquez sur le bouton [+] pour ajouter des lignes dans cette table et sélectionnez les colonnes sur lesquelles vous souhaitez baser le calcul de correspondance.

  3. Dans la liste matching label column, sélectionnez la colonne contenant les libellés ajoutés dans les enregistrements suspects.

  4. Cochez la case Save the model on file system et, dans le champ Folder, configurez le chemin d'accès au dossier local dans lequel générer le fichier du modèle de rapprochement.

    Si vous souhaitez stocker le modèle dans un système de fichiers spécifique, par exemple S3 ou HDFS, vous devez utiliser le composant correspondant dans le Job et cocher la case Define a storage configuration component, dans l'onglet Basic settings.

    Ce fichier de modèle est utilisé par le composant tMatchPredict sur toutes les paires suspectes.

  5. Cliquez sur l'onglet Advanced settings et configurez les paramètres comme suit :

    • configurez le nombre maximum de jetons à utiliser lors de la comparaison phonétique, dans le champ Max token number for phonetic comparison.

    • Dans le champ Random Forest hyper parameters tuning, saisissez les intervalles pour les arbres de décision à construire et leur profondeur.

      Ces paramètres sont importants pour la précision du modèle.

    • Laissez les autres paramètres par défaut.

  6. Appuyez sur F6 pour exécuter le Job.

    Le tMatchModel génère le modèle de rapprochement dans le dossier de sortie.