
Avertissement
Ce composant est disponible dans la Palette si vous avez souscrit à un produit Talend Platform comprenant l'option Big Data.
Fonction |
Le composant tModelEncoder reçoit des données des composants précédents, applique un grand nombre algorithme d'extraction de caractéristiques pour transformer des colonnes de ces données et envoie les résultats au composant d'apprentissage de modèle qui suit pour faire l'apprentissage d'un modèle prédictif et le créer. | |
Objectif |
Le tModelEncoder effectue des opérations de pré-traitement des données pour les transformer au format attendu par les composants d'apprentissage comme le tLogisticRegressionModel ou le tKMeansModel. |
Si vous avez souscrit à Talend Real-time Big Data Platform ou Talend Data Fabric, ce composant est disponible dans les types de Jobs suivants :
Spark Batch : consultez Propriétés du tModelEncoder dans des Jobs Spark Batch.
Spark Streaming : consultez Propriétés du tModelEncoder dans des Jobs Spark Streaming.
Ce tableau présente les algorithmes d'extraction des caractéristiques utilisés dans le composant tModelEncoder.
Avertissement
La version Streaming de ce composant est disponible dans la Palette du studio si vous avez souscrit à Talend Real-time Big Data Platform ou Talend Data Fabric.
Algorithme |
Type de données Talend de la colonne d'entrée |
Type de données Talend pour la colonne de sortie |
Job Talend supporté |
Paramètres disponibles1 |
Objectifs |
Scénarios possibles |
---|---|---|---|---|---|---|
HashingTF |
Object |
Vector |
Spark Batch Spark Streaming |
Les vecteurs de sortie sont des vecteurs creux. Par exemple, un document se présentant comme suit tModelEncoder transforms your data to features. peut être transformé en (3,[0,1,2],[1.0,2.0,3.0]), si vous saisissez numFeatures=3. Pour plus d'informations concernant la lecture d'un vecteur creux, consultez Local vector. Pour plus d'informations concernant l'API Spark HashingTF, consultez ML HashingTF (en anglais). |
En tant qu'algorithme de traitement de texte, HashingTF convertit des données d'entrée en vecteurs de caractéristiques de longueur fixe pour refléter l'importance d'un terme (un mot ou une séquence de mots) en calculant la fréquence à laquelle ces mots apparaissent dans les données d'entrée. Dans un Job Spark Batch, il est généralement utilisé avec l'algorithme IDF (Inverse document frequency) pour rendre plus fiable le calcul de poids. Dans le contexte d'un Job Spark Talend, vous devez ajouter un second tModelEncoder pour appliquer l'algorithme Inverse document frequency sur la sortie des calculs de l'algorithme HashingTF. Les données doivent être segmentées avant d'être envoyées pour calcul via HashingTF. Cependant, si les données à utiliser n'ont pas été segmentées, vous devez utiliser un autre tModelEncoder pour appliquer l'algorithme Tokenizer ou l'algorithme Regex tokenizer pour préparer les données. Pour plus d'informations concernant l'implémentation de l'algorithme HashingTF dans Spark, consultez HashingTF (en anglais) dans la documentation Spark. |
Il peut être utilisé pour préparer les données pour des composants de Classification ou de Clustering de la famille Machine Learning, afin de créer un modèle d'analyse de sentiments. |
Inverse document frequency |
Vector |
Vector |
Spark Batch |
Pour plus d'informations concernant l'API Spark de cet algorithme IDF, consultez ML feature IDF (en anglais). |
Comme algorithme de traitement de texte, Inverse document frequency (IDF) est souvent utilisé pour traiter la sortie des calculs HashingTF afin de réduire l'importance des termes qui apparaissent dans de trop nombreux documents. Il requiert un composant tModelEncoder effectuant les calculs HashingTF pour fournir les données d'entrée. Pour plus d'informations concernant l'implémentation de IDF dans Spark, consultez IDF dans la documentation Spark (en anglais). |
Il peut être utilisé pour préparer les données pour des composants de Classification ou de Clustering de la famille Machine Learning, afin de créer un modèle d'analyse de sentiments. |
Word2Vector |
List |
Vector |
Spark Batch |
Si vous devez configurer plusieurs paramètres, séparez ces paramètres à l'aide de point-virgules ";", par exemple, maxIter=5;minCount=4. Pour plus d'informations concernant l'API Spark de Word2Vector, consultez Word2Vec (en anglais). |
Word2Vector transforme un document en un vecteur de caractéristiques, pou utilisation dans d'autres calculs d'apprentissage, comme les calculs de similarité de textes. Pour plus d'informations concernant l'implémentation Word2Vector dans Spark, consultez Word2Vec dans la documentation de Spark (en anglais). |
Il peut être utilisé pour préparer les données pour des composants de Classification ou de Clustering de la famille Machine Learning, afin de, par exemple, trouver des commentaires similaires d'utilisateurs concernant un produit. |
Binarizer |
Double |
Double |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark Binarizer, consultez ML Binarizer (en anglais). |
En utilisant le seuil défini, Binarizer transforme une caractéristique en une caractéristique binaire de laquelle la valeur est distribuée pour être 1.0 ou 0.0. Pour plus d'informations concernant l'implémentation de Binarizer dans Spark, consultez Binarizer dans la documentation Spark (en anglais). |
Il peut être utilisé pour préparer les données pour des composants de Classification ou de Clustering de la famille Machine Learning, afin de, par exemple, évaluer si le commentaire d'un utilisateur indique sa satisfaction ou son insatisfaction. |
Bucketizer |
Double |
Double |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark Bucketizer, consultez Bucketizer (en anglais). |
Bucketizer segmente des valeurs continues en plusieurs groupes, en fonction de limites définies par l'utilisateur. Pour plus d'informations concernant l'implémentation de Bucketizer dans Spark, consultez Bucketizer dans la documentation de Spark (en anglais). |
Il peut être utilisé pour préparer les données catégoriques pour la classification de l'apprentissage ou des modèles de clustering. |
Normalizer |
Vector |
Vector |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark Normalizer, consultez Normalizer (en anglais). |
Normalizer normalise les unités de chaque vecteur des données d'entrée afin d'améliorer les performances des calculs d'apprentissage. Pour plus d'informations concernant l'implémentation de l'algorithme Normalizer dans Spark, consultez Normalizer dans la documentation de Spark (en anglais). |
Il peut être utilisé pour normaliser le résultat du calcul TF-IDF afin d'améliorer les performances de la classification de texte (par le tLogicRegressionModel par exemple) ou du clustering de texte. |
One hot encoder |
Double |
Vector |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark One hot encoder, consultez OneHotEncoder. |
One hot encoder permet à l'algorithme attendant des caractéristiques continues d'utiliser des caractéristiques catégoriques en mappant la colonne des indices de libellés des caractéristiques catégoriques d'une colonne de code binaire. Vous pouvez utiliser un autre tModelEncoder avec l'algorithme String indexer pour créer cette colonne d'indices de libellés. Pour plus d'informations concernant l'implémentation de l'algorithme OneHotEncoder dans Spark, consultez OneHotEncoder dans la documentation Spark (en anglais). |
Il peut être utilisé pour fournir des données de caractéristiques aux composants de Classification ou de Clustering, comme le tLogicRegressionModel. |
Polynomial expansion |
Vector |
Vector |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark Polynomial expansion, consultez Polynomial expansion (en anglais). |
Polynomial expansion développe les caractéristiques d'entrée pour améliorer les performance des calculs d'apprentissage. Pour plus d'informations concernant l'implémentation de PolynomialExpansion dans Spark, consultez PolynomialExpansion dans la documentation Spark. |
Il peut être utilisé pour traiter des données de caractéristiques pour les composants de Classification ou de Clustering, comme le tLogicRegressionModel. |
Regex tokenizer |
String |
Object |
Spark Batch Spark Streaming |
Si vous devez configurer différents paramètres, séparez-les à l'aide d'un point-virgule (;), par exemple,gaps=true;minTokenLength=4. Pour plus d'informations concernant l'API Spark Regex tokenizer, consultez RegexTokenizer (en anglais). |
Regex tokenizer effectue une segmentation avancée basée sur les modèles de regex donnés. Pour plus d'informations concernant l'implémentation de RegexTokenizer dans Spark, consultez RegexTokenizer dans la documentation Spark (en anglais). |
Il est souvent utilisé pour traiter du texte en termes fouilles de texte pour les composants de Classification ou de Clustering, comme le tRandomForestModel, afin de créer, par exemple, un modèle pour filtrer les messages indésirables (spams). |
Tokenizer |
String |
Object |
Spark Batch Spark Streaming |
Vous n'avez pas besoin de configurer de paramètre supplémentaire pour Tokenizer. Pour plus d'informations concernant l'API Spark Tokenizer, consultez Tokenizer (en anglais). |
Tokenizer divise le texte d'entrée (souvent des phrases) en termes individuels (souvent des mots). Notez que ces mots sont tous convertis en minuscules. Pour plus d'informations concernant l'implémentation de Tokenizer dans Spark, consultez Tokenizer dans la documentation Spark (en anglais). |
Il est souvent utilisé pour traiter du texte en termes de fouilles de texte pour les composants de Classification ou de Clustering, comme le tRandomForestModel, afin de créer, par exemple, un modèle pour filtrer les messages indésirables (spam). |
Standard scaler |
Vector |
Vector |
Spark Batch |
Si vous devez configurer différents paramètres, séparez-les par un point-virgule (;), par exemple, withMean=true;withStd=true. Notez que si vous avez configuré les deux paramètres à false, Standard scaler n'effectue aucune action. Pour plus d'informations concernant l'API Spark Standard scaler, consultez StandardScaler (en anglais). |
Standard scaler standardise chaque vecteur d'entrée pour avoir un écart type unitaire (variance unitaire), exemple fréquent de distribution normale. Les données standardisées peuvent améliorer le taux de convergence et empêcher les caractéristiques ayant de grandes variances d'exercer une trop grande influence durant l'apprentissage du modèle. Pour plus d'informations concernant l'implémentation de StandardScaler dans Spark, consultez StandardScaler dans la documentation de Spark. |
Il peut être utilisé pour préparer les données pour les composants de Classification ou de Clustering, comme le tKMeanModel. |
String indexer |
String |
Double |
Spark Batch |
Vous n'avez pas besoin de configurer de paramètre supplémentaire pour l'algorithme String indexer. Pour plus d'informations concernant l'API Spark String indexer, consultez StringIndexer (en anglais). |
String indexer génère des indices pour les caractéristiques des catégories (libellés de type chaîne de caractères). Ces indices peuvent être utilisés par d'autres algorithmes comme le One hot encoder afin de construire des caractéristiques continues. Les indices sont triés par fréquence. Le libellé le plus fréquent obtient l'index 0. Pour plus d'informations concernant implémentation de StringIndexer dans Spark, consultez StringIndexer dans la documentation de Spark (en anglais). |
String indexer, avec le One hot encoder, permet aux algorithmes attendant des caractéristiques continues d'utiliser des caractéristiques de catégories. |
Vector indexer |
Vector |
Vector |
Spark Batch |
Pour plus d'informations concernant l'API Spark Vector indexer, consultez VectorIndexer (en anglais). |
Vector indexer identifie les colonnes de caractéristiques selon votre définition du paramètre maxCategories et indexe les catégories de chaque colonne identifiée, à partir du 0. Les autres colonnes sont déclarées comme colonnes de caractéristiques continues et ne sont pas indexées. Pour plus d'informations concernant l'implémentation de VectorIndexer dans Spark, consultez VectorIndexer dans la documentation Spark. |
Vector indexer donne des index à des caractéristiques catégoriques afin que les algorithmes comme les calculs Decision Trees computations exécutés par le tRandomForestModel, puissent gérer de manière appropriée les fonctionnalités de catégories. |
Vector assembler |
types numériques, type Boolean et type Vector |
Vector |
Spark Batch Spark Streaming |
Pour plus d'informations concernant l'API Spark Vector assembler, consultez VectorAssembler (en anglais). |
Vector assembler combine les colonnes d'entrée sélectionnées en une colonne de vecteurs pouvant être utilisée par d'autres algorithmes ou calculs d'apprentissage automatique pour les caractéristiques de vecteurs attendus. Notez que Vector assembler ne recalcule pas les caractéristiques prises des différentes colonnes. Il combine uniquement les colonnes de caractéristiques en un vecteur unique mais laisse les caractéristiques telles qu'elles sont. Lorsque vous sélectionnez Vector assembler, la colonne Input column de la table Transformation table dans la vue Basic settings du tModelEncoder est désactivée et vous devez utiliser le paramètre inputCols dans la colonne Parameters afin de sélectionner les colonnes d'entrée à combiner. Pour plus d'informations concernant l'implémentation de VectorAssembler dans Spark, consultez VectorAssembler dans la documentation de Spark (en anglais). |
Vector assembler prépare les vecteurs de caractéristiques pour les calculs Logistic Regression ou Decision Tree effectués par les composants comme tLogisticRegressionModel et tRandomForestModel. |
1 : Si vous ne configurez pas les paramètres vous-même, les valeurs par défaut sont utilisées.
Famille du composant |
Machine Learning | |
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. Une colonne de sortie doit être nommée différemment des colonnes d'entrée, car les transformations successives depuis l'entrée vers la sortie se passent dans le même DataFrame (terme Spark pour une collection de données basée sur les schémas) et les colonnes de sortie sont ajoutées au même DataFrame avec les colonnes d'entrée. Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :
| |
Transformation table |
Renseignez cette table à l'aide des colonnes des schémas d'entrée et de sortie et des algorithmes d'extraction de caractéristiques à appliquer sur ces colonnes. Les algorithmes disponibles dans la colonne Transformation varient selon le type de colonnes du schéma d'entrée à traiter. Pour plus d'informations concernant les algorithmes disponibles pour chaque type de données d'entrée, consultez Algorithme d'extraction des caractéristiques d'apprentissage automatique dans Talend. | |
Utilisation dans des Jobs Spark Batch |
Dans un Job Talend Spark Batch, il est utilisé comme étape intermédiaire, avec d'autres composants Spark Batch. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark. Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch. Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données. | |
Spark Connection |
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). |
Pour un scénario utilisant le tModelEncoder, consultez Création d'un modèle de classification pour filtrer les spams.
Famille du composant |
Machine Learning | |
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. Une colonne de sortie doit être nommée différemment des colonnes d'entrée, car les transformations successives depuis l'entrée vers la sortie se passent dans le même DataFrame (terme Spark pour une collection de données basée sur les schémas) et les colonnes de sortie sont ajoutées au même DataFrame avec les colonnes d'entrée. Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :
| |
Transformation table |
Renseignez cette table à l'aide des colonnes des schémas d'entrée et de sortie et des algorithmes d'extraction de caractéristiques à appliquer sur ces colonnes. Les algorithmes disponibles dans la colonne Transformation varient selon le type de colonnes du schéma d'entrée à traiter. Pour plus d'informations concernant les algorithmes disponibles pour chaque type de données d'entrée, consultez Algorithme d'extraction des caractéristiques d'apprentissage automatique dans Talend. | |
Utilisation dans des Jobs Spark Streaming |
Dans un Job Talend Spark Streaming, ce composant est utilisé comme étape intermédiaire. Les composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark Streaming pouvant être exécuté directement dans un cluster Spark. Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming. Notez que, dans cette documentation, sauf mention contraire , un scénario présente uniquement des Jobs de type Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données. | |
Spark Connection |
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). |