Algorithme d'extraction des caractéristiques d'apprentissage automatique dans Talend - 7.3

Apprentissage automatique (Machine learning)

Version
7.3
Language
Français
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
Last publication date
2024-02-22
Cette section présente les algorithmes d'extraction des caractéristiques utilisés dans le composant tModelEncoder.

HashingTF

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.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

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

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Object
  • le type de la colonne de sortie : Vector
Paramètre Description

numFeatures

Le nombre de caractéristiques définissant la dimension du vecteur de caractéristiques.

Par exemple, vous pouvez saisir numFeatures=220 pour définir la dimension. Si vous ne saisissez pas de paramètre, la valeur par défaut, 220, est utilisée.

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 de HashingTF, consultez ML HashingTF.

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

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.

Cet algorithme est disponible dans les Jobs Spark Batch.

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

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description

minDocFreq

Nombre minimum de documents devant contenir un terme. Ce nombre est le seuil indiquant qu'un terme devient approprié aux calculs IDF.

Par exemple, si vous saisissez minDocReq=5, alors que seuls 4 documents contiennent un terme, ce terme est considéré comme faux et aucun calcul IDF n'est appliqué dessus.

Pour plus d'informations concernant l'API Spark de cet algorithme IDF, consultez ML feature IDF (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

Word2Vector transforme un document en un vecteur de caractéristiques, pour utilisation dans d'autres calculs d'apprentissage, comme les calculs de similarité de textes.

Cet algorithme est disponible dans les Jobs Spark Batch.

Pour plus d'informations concernant l'implémentation Word2Vector dans Spark, consultez Word2Vec dans la documentation de Spark (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : List
  • le type de la colonne de sortie : Vector
Paramètre Description

maxIter

Nombre maximum d'itérations pour obtenir le résultat optimal. Par exemple, maxIter=5.

minCount

Nombre minimum de fois qu'un mot doit apparaître pour être inclus dans le vocabulaire du modèle Word2Vector. La valeur par défaut est minCount=5.

numPartitions

Nombre de partitions.

seed

Numéro de la graine aléatoire.

stepSize

Taille de l'étape pour chaque itération. Cela définit le rythme d'apprentissage.

vectorSize

Taille de chaque vecteur de caractéristique. La valeur par défaut est vectorSize=100, avec laquelle les valeurs numériques 100 sont calculées pour identifier un document.

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

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.

CountVectorizer

CountVectorizer extrait les termes les plus fréquents d'une collection de textes et convertit ces termes en vecteurs de compte de mots.

Cet algorithme est disponible dans les Jobs Spark Batch.

Il nécessite un composant tModelEncoder effectuant un calcul Tokenizer ou Regex tokenizer pour fournir les données d'entrée de type List.

Pour plus d'informations concernant l'implémentation de CountVectorizer dans Spark, consultez CountVectorizer (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : List
  • le type de la colonne de sortie : Vector
Paramètre Description

minDF

Nombre minimum de documents dans lequel un terme doit être inclus pour être compris dans le glossaire construit par le CountVectorizer.

La valeur par défaut est minDF=1. Si vous saisissez une valeur comprise entre 0 et 1, cela indique une fraction des documents.

minTF

Seuil utilisé pour ignorer les termes rares dans un document. Un terme dont la fréquence est inférieure à la valeur de minTF sera ignoré.

La valeur par défaut est minTF=1.

vocabSize

Taille maximale de chaque vecteur de glossaire construit par le CountVectorizer.

La valeur par défaut est 218 .

Pour plus d'informations concernant l'API Spark de CountVectorizer, consultez CountVectorizer (en anglais).

Il peut être utilisé pour traiter du texte en termes de fouille de texte pour les composants de Classification ou de Clustering.

Binarizer

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.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Pour plus d'informations concernant l'implémentation de Binarizer dans Spark, consultez Binarizer dans la documentation Spark (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Double
  • le type de la colonne de sortie : Double
Paramètre Description

threshold

Seuil utilisé pour binariser des caractéristiques continues. Les caractéristiques supérieures à ce seuil sont binarisées à 1.0 et les fonctionnalités égales ou supérieures à ce seuil sont binarisées à 0.0.

La valeur par défaut est threshold=0.0.

Pour plus d'informations concernant l'API Spark Binarizer, consultez ML Binarizer (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 ou d'une utilisatrice indique sa satisfaction ou son insatisfaction.

Bucketizer

Bucketizer segmente des valeurs continues en plusieurs groupes, en fonction de limites définies par l'utilisateur ou l'utilisatrice.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Pour plus d'informations concernant l'implémentation de Bucketizer dans Spark, consultez Bucketizer dans la documentation de Spark (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Double
  • le type de la colonne de sortie : Double
Paramètre Description

splits

Paramètre utilisé pour segmenter des caractéristiques continues en buckets. Un bucket est un intervalle semi-ouvert [x,y) défini par les valeurs des limites (x et y) que vous attribuez, sauf le dernier bucket, qui contient également y.

Par exemple, vous pouvez saisir splits=Double.NEGATIVE_INFINITY, -0.5, 0.0, 0.5, Double.POSITIVE_INFINITY pour segmenter les valeurs comme -0.5, 0.3, 0.0, 0.2. Double.NEGATIVE_INFINITY et Double.POSITIVE_INFINITY sont recommandés lorsque vous ne connaissez pas les limites supérieure et inférieure de la colonne cible.

Pour plus d'informations concernant l'API Spark Bucketizer, consultez Bucketizer (en anglais).

Il peut être utilisé pour préparer des données de catégories pour les modèles d'apprentissage de Classification ou de Clustering.

Discrete Cosine Transform (DCT)

Discrete Cosine Transform dans Spark implémente la DCT-II unidimensionnelle pour transformer un vecteur de valeurs réelles du domaine temporel vers un autre vecteur de valeurs réelles de même longueur dans le domaine fréquentiel. Ce qui signifie que les données d'entrée sont converties en une série de cosinus à différentes fréquences.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Il nécessite un composant effectuant une transformation générant des vecteurs pour fournir des données d'entrée de type Vector. Par exemple, ce composant peut être :
  • un tModelEncoder utilisant des algorithmes comme le Vector assembler,

  • un tMatchModel.

Pour plus d'informations concernant l'implémentation de DCT dans Spark, consultez DCT (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description

inverse

Booléen indiquant si le calcul à effectuer est la DCT inverse (lorsque inverse=true) ou la DCT (lorsque inverse=false).

Par défaut, la valeur est inverse=false.

Pour plus d'informations concernant l'API Spark de Discrete Cosine Transform, consultez DCT (en anglais).

Il peut être utilisé pour traiter des images et des fichiers audio pour un apprentissage relatif aux modèles de Classification ou de Clustering.

MinMaxScaler

MinMaxScaler rééchelonne chaque vecteur de caractéristiques sur un intervalle fixe.

Il nécessite un composant effectuant une transformation générant des vecteurs pour fournir des données d'entrée de type Vector type. Par exemple, ce composant peut être :
  • un tModelEncoder utilisant des algorithmes comme le Vector assembler,

  • un tMatchModel.

Cet algorithme est disponible dans les Jobs Spark Batch.

Pour plus d'informations concernant l'implémentation de MinMaxScaler dans Spark, consultez MinMaxScaler (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description

min

Borne inférieure de chaque vecteur après transformation. Par défaut, la valeur est min=0.

max

Borne supérieure de chaque vecteur après transformation. Par défaut, la valeur est max=1.

Pour plus d'informations concernant l'API Spark de MinMaxScaler, consultez MinMaxScaler (en anglais).

Il peut être utilisé pour normaliser des caractéristiques afin de les faire correspondre à un intervalle donné. Il est souvent utilisé dans le traitement d'images, par exemple, pour normaliser les données concernant les intensités des pixels.

N-gram

N-gram convertit une chaîne de caractères segmentée (des mots, souvent) en un tableau de n-grammes séparés par une virgule. Au sein de chaque programme, les mots sont séparés par un espace. Par exemple, lorsque vous créez 2-grammes, la chaîne de caractères Good morning World sera convertie en (good morning, morning world).

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Il nécessite un composant tModelEncoder effectuant un calcul Tokenizer ou Regex tokenizer pour fournir les données d'entrée de type List.

Pour plus d'informations concernant l'implémentation de N-gram dans Spark, consultez NGram (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : List
  • le type de la colonne de sortie : List
Paramètre Description

n

Longueur minimum de chaque n-gramme. Par défaut, la valeur est n=1, ce qui signifie, 1-gram or unigram.

Pour plus d'informations concernant l'API Spark de N-gram, consultez NGram (en anglais).

Il peut être utilisé dans le traitement du langage naturel, par exemple la reconnaissance automatique de la parole, pour préparer les données pour les modèles de Classification ou de Clustering.

Normalizer

Normalizer normalise les unités de chaque vecteur des données d'entrée afin d'améliorer les performances des calculs d'apprentissage.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Pour plus d'informations concernant l'implémentation de l'algorithme Normalizer dans Spark, consultez Normalizer dans la documentation de Spark (en anglais).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description
pNormValue

Valeur de la norme de degré p utilisée pour standardiser à la norme d'unité les vecteurs de caractéristiques du flux d'entrée.

Par défaut, elle est pNormValue=2, ce qui signifie utiliser Euclidean norm (en anglais).

Pour plus d'informations concernant l'API Spark Normalizer, consultez Normalizer (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

One hot encoder permet à l'algorithme attendant des caractéristiques continues d'utiliser des caractéristiques catégoriques en mappant la colonne des index de libellés des caractéristiques catégoriques d'une colonne de code binaire.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Vous pouvez utiliser un autre tModelEncoder avec l'algorithme String indexer pour créer cette colonne d'index 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).

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Double
  • le type de la colonne de sortie : Vector
Paramètre Description

dropLast

Paramètre booléen utilisé pour déterminer s'il faut exclure la dernière catégorie.

La valeur par défaut est dropLast=true, signifiant que la dernière catégorie est exclue, avec pour résultat que le vecteur de sortie de cette catégorie contient uniquement 0 et chaque vecteur utilise un peu moins d'espace de stockage. Cette configuration vous permet de sauver de l'espace de stockage pour les vecteurs de sortie.

Pour plus d'informations concernant l'API Spark One hot encoder, consultez OneHotEncoder.

Il peut être utilisé pour fournir des données de caractéristiques aux composants de Classification ou de Clustering, comme le tLogicRegressionModel.

PCA

PCA implémente une transformation orthogonale pour convertir les vecteurs des caractéristiques corrélées en vecteurs de caractéristiques linéairement non corrélées. Cela permet de projeter des vecteurs de caractéristiques de haute dimension vers des vecteurs de caractéristiques de basse dimension.

Cet algorithme est disponible dans les Jobs Spark Batch.

Il nécessite un composant effectuant une transformation générant des vecteurs pour fournir des données d'entrée de type Vector. Par exemple, ce composant peut être :
  • un tModelEncoder utilisant des algorithmes comme le Vector assembler,

  • un tMatchModel.

Pour plus d'informations concernant l'implémentation de PCA dans Spark, consultez PCA (en anglais) dans la documentation Spark.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description

k

Le nombre de composantes principales à générer. Cette valeur détermine la dimension des vecteurs de caractéristiques à écrire en sortie. Par exemple, k=3 signifie que les vecteurs tridimensionnels des caractéristiques vont être écrits en sortie. Pour plus d'informations concernant l'analyse en composantes principales, consultez Analyse en composantes principales.

Pour plus d'informations concernant l'API Spark de PCA, consultez PCA (en anglais).

Il peut être utilisé pour préparer des caractéristiques pour résoudre les problèmes de Clustering.

Polynomial expansion

Polynomial expansion développe les caractéristiques d'entrée pour améliorer les performances de calculs d'apprentissage.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Pour plus d'informations concernant l'implémentation de Polynomial expansion dans Spark, consultez PolynomialExpansion dans la documentation Spark.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector
  • le type de la colonne de sortie : Vector
Paramètre Description

degree

Degré polynomial à développer. Un haut degré d'expansion des caractéristiques signifie souvent plus de précision dans le modèle à créer, mais un trop haut degré peut mener à un surapprentissage dans les résultats de l'analyse prédictive basée sur le même modèle.

La valeur par défaut est degree=2, ce qui signifie un développement des caractéristiques d'entrée dans un espace polynomial de deux degrés 2-degree.

Pour plus d'informations concernant l'API Spark Polynomial expansion, consultez Polynomial expansion (en anglais).

Il peut être utilisé pour traiter des données de caractéristiques pour les composants de Classification ou de Clustering, comme le tLogicRegressionModel.

QuantileDiscretizer

QuantileDiscretizer lit une colonne de caractéristiques continues, analyse un échantillon de ces données de caractéristiques et écrit en sortie une colonne de caractéristiques des catégories regroupant les données des caractéristiques continues en parties à peu près égales.

Cet algorithme est disponible dans les Jobs Spark Batch mais n'est pas compatible avec Spark 2.2 utilisant EMR 5.8.

Pour plus d'informations concernant l'implémentation de QuantileDiscretizer dans Spark, consultez QuantileDiscretizer dans la documentation Spark.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Double
  • le type de la colonne de sortie : Double
Paramètre Description

numBuckets

Nombre maximum de buckets dans lesquels grouper les données d'entrée. Cette valeur doit être supérieure ou égale à 2. La valeur par défaut est numBuckets=2.

Pour plus d'informations concernant l'API Spark de QuantileDiscretizer, consultez Quantile Discretizer (en anglais).

Il peut être utilisé pour préparer des données de catégories pour les modèles d'apprentissage de Classification ou de Clustering.

Regex tokenizer

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

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : String
  • le type de la colonne de sortie : Object et List
Paramètre Description

gaps

Paramètre booléen utilisé pour indiquer si la regex divise le texte d'entrée (quand gaps=true) à l'aide d'un ou plusieurs caractères blancs ou si elle fait correspondre de manière répétée un mot (quand gaps=false).

Par défaut, ce paramètre est configuré à true et le séparateur par défaut est \\s+, qui fait correspondre un ou plusieurs caractères.

pattern

Paramètre utilisé pour configurer le modèle de regex pattern rapprochant les mots du texte d'entrée.

minTokenLength

Paramètre utilisé pour filtrer les mots rapprochés à l'aide d'une longueur minimale. La valeur par défaut est 1, pour éviter de retourner des chaînes de caractères vides.

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

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

Tokenizer

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

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : String
  • le type de la colonne de sortie : Object et List

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

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

SQLTransformer

SQLTransformer vous permet d'implémenter des transformations de caractéristiques à l'aide d'instructions SQL Spark. Il est sujet aux limitations indiquées dans la documentation de Spark.

Pour plus d'informations concernant ces limitations et l'implémentation de SQLTransformer dans Spark, consultez SQLTransformer dans la documentation Spark.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : tout type Vous devez sélectionner la colonne à utiliser dans votre instruction SQL.

  • le type de la colonne de sortie  tout type Vous devez le définir selon votre instruction SQL.

Paramètre Description

statement

L'instruction Spark SQL à utiliser pour sélectionner et/ou transformer des données d'entrée.

Pour plus d'informations concernant l'API Spark de SQLTransformer, consultez SQLTransformer.

Il vous permet une certaine flexibilité dans l'extraction et la transformation des données afin de préparer les caractéristiques pour les autres algorithmes d'apprentissage automatique ou d'effectuer directement des requêtes dans les résultats des autres algorithmes d'apprentissage automatique.

Notez que vous pouvez également effectuer efficacement des requêtes SQL Spark à l'aide du tSqlRow ou effectuer une jointure sur les données à l'aide du tMap, afin de préparer les données.

Standard scaler

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.

Cet algorithme est disponible dans les Jobs Spark Batch.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector

  • le type de la colonne de sortie : Vector

Paramètre Description

withMean

Paramètre booléen utilisé pour indiquer de centrer chaque vecteur de données de caractéristiques à l'aide de la moyenne (c'est-à-dire soustraire la moyenne des numéros des caractéristiques de chacun de ces numéros) avant l'application de Standard scaler. Centrer les données permet de construire une sortie dense et, quand les données d'entrée sont creuses, cela crée une exception.

Par défaut, ce paramètre est configuré à false, ce qui signifie que l'action de centrer n'est pas effectuée.

withStd

Paramètre booléen utilisé pour indiquer s'il faut appliquer cet algorithme sur les données d'entrée pour obtenir un écart type.

Par défaut, withStd est configuré à true, ce qui signifie normaliser les vecteurs de caractéristiques pour obtenir un écart type.

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

Il peut être utilisé pour préparer les données pour les composants de Classification ou de Clustering, comme le tKMeanModel.

StopWordsRemover

StopWordsRemover filtre les mots vides dans les chaînes de caractères d'entrée.

Il nécessite un composant tModelEncoder effectuant un calcul Tokenizer ou Regex tokenizer pour fournir les données d'entrée de type List.

Pour plus d'informations concernant l'implémentation de StopWordsRemover dans Spark, consultez StopWordsRemover (en anglais) dans la documentation Spark.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : List

  • le type de la colonne de sortie : List

Paramètre Description

caseSensitive

Booléen indiquant si l'opération de filtre sur les mots vides est sensible à la casse. Par défaut, la valeur est caseSensitive=false.

stopWords

Définissez la liste des mots vides à utiliser pour le filtre. Par défaut, la valeur est stopWords=English. Vous pouvez consulter la liste de ces mots vides ici : stop_words.

Si vous devez utiliser une liste personnalisée de mots vides, vous pouvez les saisir directement avec ce paramètre, par exemple, stopWords=the,stop,words.

Pour plus d'informations concernant les mots vides, consultez la page Mots vides.

Pour plus d'informations concernant l'API Spark de StopWordsRemover, consultez StopWordsRemover (en anglais).

Il peut être utilisé pour supprimer les mots les plus communs n'apportant aucun sens afin d'éviter autant de bruit que possible lors du traitement du texte.

String indexer

String indexer génère des index pour les caractéristiques des catégories (libellés de type chaîne de caractères). Ces index peuvent être utilisés par d'autres algorithmes comme le One hot encoder afin de construire des caractéristiques continues.

Les index 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).

Cet algorithme est disponible dans les Jobs Spark Batch.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : String

  • le type de la colonne de sortie : Double

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, associé au One hot encoder, permet aux algorithmes attendant des caractéristiques continues d'utiliser des caractéristiques de catégories.

Vector indexer

Vector indexer identifie les colonnes de caractéristiques catégoriques 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.

Cet algorithme est disponible dans les Jobs Spark Batch.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector

  • le type de la colonne de sortie : Vector

Paramètre Description

maxCategories

Le paramètre utilisé pour définir le seuil indiquant si une colonne de vecteurs représente des caractéristiques catégoriques ou continues. Par exemple, si vous saisissez maxCategories=2, les colonnes contenant plus de 2 valeurs distinctes seront déclarées comme colonnes de caractéristiques continues et les autres colonnes comme colonnes de caractéristiques catégoriques.

La valeur par défaut est maxCategories=20.

Pour plus d'informations concernant l'API Spark Vector indexer, consultez VectorIndexer (en anglais).

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

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 Paramètres 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).

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : types numériques, type Boolean et type Vector

  • le type de la colonne de sortie : Vector

Paramètre Description

inputCols

Paramètre utilisé pour indiquer les colonnes d'entrée à combiner en une colonne de vecteurs. Par exemple, vous pouvez saisir inputCols=id,country_code afin de combiner la colonne id et la colonne country_code.

Pour plus d'informations concernant l'API Spark Vector assembler, consultez VectorAssembler (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.

ChiSqSelector

ChiSqSelector détermine la pertinence d'une caractéristique par rapport à des catégories de caractéristiques données en se basant sur un test d'indépendance du Khi carré et sélectionne les caractéristiques les plus pertinentes pour ces catégories.

Pour plus d'informations concernant l'implémentation de ChiSqSelector dans Spark, consultez ChiSqSelector dans la documentation Spark (en anglais).

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector, Double et List

  • le type de la colonne de sortie : Vector

Paramètre Description

featuresCol

Colonne d'entrée fournissant les caractéristiques à sélectionner par le ChiSqSelector. Ce type de colonne doit être Vector.

labelCol

Colonne d'entrée fournissant les catégories pour les caractéristiques à utiliser. Le type de cette colonne d'entrée doit être Double.

numTopFeatures

Le nombre des caractéristiques que le ChiSqSelector définit comme les plus pertinentes par rapport aux caractéristiques de catégories et sélectionne pour la sortie. Par défaut, ce paramètre est numTopFeatures=50, ce qui signifie sélectionner les 50 premières caractéristiques les plus pertinentes.

Par exemple, dans une analyse de validation d'un prêt, une colonne nommée features et une colonne nommée label ont été préparées : la première contient les caractéristiques des candidats au prêt, par exemple address, age et income, la seconde contient les catégories indiquant de valider ou non le prêt pour chaque candidat. Vous devez saisir featuresCol=features,labelCol=label pour utiliser ces colonnes dans le ChiSqSelector.

De plus, si vous souhaitez sélectionner seulement la caractéristique la plus pertinente, saisissez numTopFeatures=1. La caractéristique income sera sélectionnée. Si vous saisissez numTopFeatures=2 les deux caractéristiques les plus pertinentes seront sélectionnées, à savoir income et age.

Pour plus d'informations concernant l'API Spark de ChiSqSelector, consultez ChiSqSelector (en anglais).

Il peut être utilisé pour retourner les caractéristiques ayant le plus fort pouvoir prédictif pour les modèles d'apprentissage de Classification ou de Clustering.

RFormula

Rformula vous permet de générer des vecteurs de caractéristiques avec leurs libellés de caractéristiques. Il est sujet aux limitations indiquées dans la documentation de Spark.

Pour plus d'informations concernant ces limitations et l'implémentation de RFormula dans Spark, consultez Rformula dans la documentation Spark (en anglais).

Cet algorithme est disponible dans les Jobs Spark Batch mais n'est pas compatible avec Spark 2.2 utilisant EMR 5.8.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : types String et types numériques. Vous devez utiliser la formule R pour sélectionner les colonnes à utiliser.

  • le type de la colonne de sortie : Vector pour les caractéristiques et Double pour les libellés.

Paramètre Description

featuresCol

La colonne de sortie à utiliser pour contenir les données des caractéristiques.

labelCol

La colonne de sortie utilisée pour contenir les libellés des caractéristiques.

de formule

La formule R à appliquer.

Par exemple, si vous saisissez featuresCol=features;labelCol=label;formula=clicked ~ country + hour dans la colonne Paramètres de la table Transformation table, vous devez ajouter les colonnes features et label au schéma de sortie et configurer la première de type Vector et la seconde de type Double. Pendant la transformation, la formule R définie à l'aide du paramètre formula est appliquée sur les colonnes d'entrée. Les caractéristiques sont générées dans la colonne features et les libellés des caractéristiques dans la colonne label. Cet exemple se base sur celui expliqué dans la page Rformula (en anglais) dans la documentation Spark.

Pour plus d'informations concernant l'API Spark de RFormula, consultez R Formula (en anglais).

Il vous permet d'appliquer la formule R pour préparer les données des caractéristiques.

VectorSlicer

VectorSlicer lit un vecteur de caractéristiques, sélectionne des caractéristiques de ce vecteur à partir des valeurs du paramètre indices et écrit les caractéristiques sélectionnées dans un nouveau vecteur, dans la colonne de sortie.
Il nécessite un composant effectuant une transformation générant des vecteurs pour fournir des données d'entrée de type Vector. Par exemple, ce composant peut être :
  • un tModelEncoder utilisant des algorithmes comme le Vector assembler,

  • un tMatchModel.

Pour plus d'informations concernant l'implémentation de VectorSlicer dans Spark, consultez VectorSlicer (en anglais) dans la documentation Spark.

Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.

Dans un Job, cet algorithme attend :
  • le type de la colonne d'entrée : Vector

  • le type de la colonne de sortie : Vector

Paramètre Description

index

Index numériques des caractéristiques à sélectionner et écrire en sortie. Par exemple, si vous devez sélectionner la deuxième et troisième caractéristiques du vecteur suivant, [0.0, 10.0, 0.5], vous devez saisir indices=1,2. Le vecteur [10.0, 0.5] sera écrit dans la colonne de sortie.

Les caractéristiques du vecteur de sortie sont triées selon leurs index.

Pour plus d'informations concernant l'API Spark de VectorSlicer, consultez VectorSlicer (en anglais). Notez que le paramètre names n'est pas supporté par le tModelEncoder.

Il vous permet une certaine précision dans la sélection des caractéristiques que vous souhaitez utiliser.