Algorithme d'extraction des caractéristiques d'apprentissage automatique dans Talend
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 (uniquement en anglais) (en anglais) dans la documentation Spark.
- 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 (uniquement en anglais). |
Pour plus d'informations concernant l'API Spark de HashingTF, consultez ML HashingTF (uniquement 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.
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 (uniquement en anglais) dans la documentation Spark (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation de Spark (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation de Spark (en anglais).
- 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 (uniquement en anglais) (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.
-
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 (uniquement en anglais) (en anglais).
- 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 (uniquement en anglais) (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.
-
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 (uniquement en anglais) (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) (en anglais).
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation de Spark (en anglais).
- 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 (uniquement en anglais) (en anglais). |
Pour plus d'informations concernant l'API Spark Normalizer, consultez Normalizer (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark (en anglais).
- 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 (uniquement 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
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.
-
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 (uniquement en anglais) (en anglais) dans la documentation Spark.
- 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 (uniquement en anglais). |
Pour plus d'informations concernant l'API Spark de PCA, consultez PCA (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark.
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark.
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark (en anglais).
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark (en anglais).
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
- 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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark.
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
-
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 (uniquement en anglais).
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 (uniquement en anglais) dans la documentation de Spark.
Cet algorithme est disponible dans les Jobs Spark Batch.
-
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 (uniquement en anglais) (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 (uniquement en anglais) (en anglais) dans la documentation Spark.
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
-
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 (uniquement en anglais). 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 (uniquement en anglais).
Pour plus d'informations concernant l'API Spark de StopWordsRemover, consultez StopWordsRemover (uniquement en anglais) (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 (uniquement en anglais) dans la documentation de Spark (en anglais).
Cet algorithme est disponible dans les Jobs Spark Batch.
-
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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark.
Cet algorithme est disponible dans les Jobs Spark Batch.
-
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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation de Spark (en anglais).
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
-
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 (uniquement en anglais) (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 (uniquement en anglais) dans la documentation Spark (en anglais).
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
-
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 (uniquement en anglais) (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 (uniquement en anglais) 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.
-
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 (uniquement en anglais) (en anglais) dans la documentation Spark.
Pour plus d'informations concernant l'API Spark de RFormula, consultez R Formula (uniquement en anglais) (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.-
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 (uniquement en anglais) (en anglais) dans la documentation Spark.
Cet algorithme est disponible dans les Jobs Spark Batch et Spark Streaming.
-
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 (uniquement en anglais) (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.