Algorithme d'extraction des caractéristiques d'apprentissage automatique dans Talend - 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

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.

1 : Vous pouvez configurer ces paramètres dans la colonne Parameters de la table Transformation, dans l'onglet Basic settings du tModelEncoder. Si vous ne configurez aucun paramètre, ceux par défaut, s'il y en a, sont utilisés.

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

  • numFeatures : le nombre de caractéristiques définissant la dimension du vecteur de caraté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é.

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

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

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

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

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.

CountVectorizer

List

Vector

Spark Batch

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

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

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

Pour plus d'informations concernant l'implémentation de CountVectorizer dans Spark, 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

Double

Double

Spark Batch

Spark Streaming

  • 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érieurs à 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).

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

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

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.

Discrete Cosine Transform (DCT)

Vector

Vector

Spark Batch

Spark Streaming

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

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.

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.

Pour plus d'informations concernant l'implémentation de DCT dans Spark, 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

Vector

Vector

Spark Batch

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

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.

Pour plus d'informations concernant l'implémentation de MinMaxScaler dans Spark, 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

List

List

Spark Batch

Spark Streaming

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

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

Il nécessite un composant tModelEncoder effectuant un calcul Tokenizer ou Regex tokenizer pour fournir des 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).

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

Vector

Vector

Spark Batch

Spark Streaming

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

    La valeur par défaut est p=2, ce qui signifie utiliser la norme euclidienne Euclidean norm (en anglais).

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

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

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.

PCA

Vector

Vector

Spark Batch

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

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.

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.

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

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

Polynomial expansion

Vector

Vector

Spark Batch

Spark Streaming

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

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 Polynomial expansion 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.

QuantileDiscretizer

Double

Double

Spark Batch

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

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.

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

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

String

Object et List

Spark Batch

Spark Streaming

  • 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 délimiteur 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).

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 et List

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

SQLTransformer

Tous types : vous devez sélectionner la colonne à utiliser dans votre instruction SQL

Tous types : vous devez le définir selon votre instruction SQL

Spark Batch

Spark Streaming

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

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

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

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

Vector

Vector

Spark Batch

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

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.

StopWordsRemover

List

List

Spark Batch

Spark Streaming

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

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.

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

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

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

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

ChiSqSelector

Double, List et Vector

Vector

Spark Batch

Spark Streaming

  • 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 : nombre de 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).

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

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

Types String et numériques : vous devez utiliser la formule R pour sélectionner les colonnes à utiliser.

Vector pour les caractéristiques et Double pour les libellés

Spark Batch

  • formula : la formule R à appliquer.

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

Par exemple, si vous saisissez featuresCol=features;labelCol=label;formula=clicked ~ country + hour dans la colonne Parameters 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. Durant la transformation, la formule R définie via le 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).

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

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

VectorSlicer

Vector

Vector

Spark Batch

Spark Streaming

  • indices : indices 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és selon leurs indices.

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.

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

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

1 : Si vous ne configurez pas les paramètres vous-même, les valeurs par défaut sont utilisées.