Techniques de transformation des caractéristiques
Les transformations sont des étapes de prétraitement cruciales qui convertissent ou mettent à l’échelle des données dans un format adapté à l’entraînement et à l’analyse des modèles, assurant des performances et une précision optimales. Ce document sert de ressource syntaxique supplémentaire et fournit des détails détaillés sur les principales techniques de transformation des fonctionnalités pour le prétraitement des données.
Les modèles de machine learning ne peuvent pas traiter directement les valeurs de chaîne ou les valeurs nulles, ce qui rend le prétraitement des données essentiel. Ce guide explique comment utiliser diverses transformations pour imputer les valeurs manquantes, convertir des données catégorielles en formats numériques et appliquer des techniques de mise à l’échelle des fonctionnalités telles que l’encodage à chaud et la vectorisation. Ces méthodes permettent aux modèles d’interpréter et d’apprendre efficacement des données, ce qui améliore finalement leurs performances.
Transformation automatique des caractéristiques automatic-transformations
Si vous choisissez d’ignorer la clause TRANSFORM dans votre commande CREATE MODEL, la transformation de fonction se produit automatiquement. Le prétraitement automatique des données inclut le remplacement des valeurs nulles et les transformations de caractéristiques standard (en fonction du type de données). Les colonnes numériques et de texte sont automatiquement imputées, puis des transformations de caractéristiques sont effectuées pour s’assurer que les données sont dans un format approprié pour l’entraînement de modèles de machine learning. Ce processus inclut l’imputation de données manquante et les transformations catégorielles, numériques et booléennes.
Les tableaux suivants expliquent comment différents types de données sont gérés lorsque la clause TRANSFORM est omise lors de la commande CREATE MODEL.
Remplacement nul automatic-null-replacement
ml_unknown.FALSE.Transformation de caractéristiques automatic-feature-transformation
exemple
CREATE model modelname options(model_type='logistic_reg', label='rating') AS SELECT * FROM movie_rating;
Transformations manuelles des caractéristiques manual-transformations
Pour définir un prétraitement des données personnalisé dans votre instruction CREATE MODEL, utilisez la clause TRANSFORM en combinaison avec un certain nombre de fonctions de transformation disponibles. Ces fonctions de prétraitement manuel peuvent également être utilisées en dehors de la clause TRANSFORM. Toutes les transformations décrites dans la section transformateur ci-dessous peuvent être utilisées pour prétraiter les données manuellement.
Principales caractéristiques key-characteristics
Voici les principales caractéristiques de la transformation des fonctions à prendre en compte lorsque vous définissez vos fonctions de prétraitement :
-
Syntaxe :
TRANSFORM(functionName(colName, parameters) <aliasNAME>)- Le nom d’alias est obligatoire dans la syntaxe. Vous devez fournir un nom d’alias pour que la requête échoue.
-
Parameters : les paramètres sont des arguments positionnels. Cela signifie que chaque paramètre ne peut prendre que certaines valeurs et nécessite que tous les paramètres précédents soient spécifiés si des valeurs personnalisées sont fournies. Reportez-vous à la documentation pertinente pour plus d’informations sur la fonction qui accepte tel argument.
-
Transformateurs à chaîne : la sortie d’un transformateur peut devenir l’entrée d’un autre transformateur.
-
Utilisation des fonctionnalités : la dernière transformation de fonctionnalité est utilisée en tant que fonctionnalité du modèle de machine learning.
Exemple
CREATE MODEL modelname
TRANSFORM(
string_imputer(language, 'adding_null') AS imp_language,
numeric_imputer(users_count, 'mode') AS imp_users_count,
string_indexer(imp_language) AS si_lang,
vector_assembler(array(imp_users_count, si_lang, watch_minutes)) AS features
)
OPTIONS(MODEL_TYPE='logistic_reg', LABEL='rating')
AS SELECT * FROM df;
Transformations disponibles available-transformations
Il existe 19 transformations disponibles. Ces transformations sont divisées en Transformations générales, Transformations numériques, Transformations catégorielles et Transformations textuelles.
Transformations générales general-transformations
Lisez cette section pour plus de détails sur les transformateurs utilisés pour un large éventail de types de données. Ces informations sont essentielles si vous devez appliquer des transformations non spécifiques aux données catégorielles ou textuelles.
Imprimante numérique numeric-imputer
Le transformateur Imprimante numérique complète les valeurs manquantes dans un jeu de données. Cette méthode utilise la moyenne, la médiane ou le mode des colonnes dans lesquelles se trouvent les valeurs manquantes. Les colonnes d’entrée doivent être DoubleType ou FloatType. Vous trouverez plus d’informations et d’exemples dans la documentation sur l’algorithme Spark.
Types des données
- Type de données d’entrée : numérique
- Type de données de sortie : numérique
Définition
transformer(numeric_imputer(hour, 'mean') hour_imputed)
Paramètres
STRATEGYmean, median et mode].Exemple avant imputation
Exemple après imputation (en utilisant la stratégie moyenne)
Imprimante de chaînes string-imputer
Le transformateur Imputeur de chaîne complète les valeurs manquantes dans un jeu de données à l’aide d’une chaîne fournie par l’utilisateur comme argument de fonction. Les colonnes d’entrée et de sortie doivent être du type de données string.
Types des données
- Type de données d’entrée : chaîne
- Type de données de sortie : chaîne
Définition
transform(string_imputer(name, 'unknown_name') as name_imputed)
Paramètres
NULL_REPLACEMENTExemple avant imputation
Exemple après imputation (en utilisant ‘ml_unknown’ comme remplacement)
Imprimante booléenne boolean-imputer
Le transformateur imputeur booléen complète les valeurs manquantes dans un jeu de données pour une colonne booléenne. Les colonnes d’entrée et de sortie doivent être de type Boolean.
Types des données
- Type de données d’entrée : booléen
- Type de données de sortie : booléen
Définition
transform(boolean_imputer(name, true) as name_imputed)
Paramètres
NULL_REPLACEMENTtrue, false].Exemple avant imputation
Exemple après imputation (en utilisant ‘true’ comme remplacement)
Assembleur vectoriel vector-assembler
Le transformateur VectorAssembler combine une liste spécifiée de colonnes d’entrée en une seule colonne vectorielle, ce qui facilite la gestion de plusieurs fonctionnalités dans les modèles de machine learning. Ceci est particulièrement utile pour fusionner des fonctions brutes et celles générées par différents transformateurs de fonctions en un seul vecteur de fonctions unifié. VectorAssembler accepte les colonnes d’entrée de types numérique, booléen et vectoriel. Dans chaque ligne, les valeurs des colonnes d’entrée sont concaténées dans un vecteur dans l’ordre spécifié.
Types des données
- Type de données d’entrée :
array[string](noms de colonne avec valeurs numériques/tableaux[numériques]) - Type de données de sortie :
Vector[double]
Définition
transform(vector_assembler(id, hour, mobile, userFeatures) as features)
Paramètres
Exemple avant transformation
Exemple après transformation
Transformations numériques numeric-transformations
Lisez cette section pour en savoir plus sur les transformateurs disponibles pour le traitement et la mise à l’échelle des données numériques. Ces transformateurs sont nécessaires pour gérer et optimiser les fonctionnalités numériques de vos jeux de données.
Binarizer binarizer
Le transformateur Binarizer convertit les caractéristiques numériques en caractéristiques binaires (0/1) par un processus appelé binarisation. Les valeurs de caractéristique supérieures au seuil spécifié sont converties en 1,0, tandis que les valeurs égales ou inférieures au seuil sont converties en 0,0. Le Binarizer prend en charge les types Vector et Double pour la colonne d’entrée.
Types des données
- Type de données d’entrée : colonne numérique
- Type de données de sortie : numérique
Définition
transform(numeric_imputer(rating, 'mode') rating_imp, binarizer(rating_imp) rating_binarizer)
Paramètres
THRESHOLDExemple d’entrée avant la binarisation
Exemple de sortie après binarisation (seuil par défaut de 0,0)
Définition avec seuil personnalisé
transform(numeric_imputer(age, 'mode') age_imp, binarizer(age_imp, 14.0) age_binarizer)
Exemple de sortie après binarisation (avec un seuil de 14,0)
Compartimenteur bucketizer
Le transformateur Bucketizer convertit une colonne de fonctions continues en une colonne d’intervalles de fonctions, en fonction de seuils spécifiés par l’utilisateur. Ce processus est utile pour segmenter les données continues en compartiments ou compartiments discrets. Le Bucketizer nécessite un paramètre splits, qui définit les limites des intervalles.
Types des données
- Type de données d’entrée : colonne numérique
- Type de données de sortie : numérique (valeurs en classe)
Définition
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling, min_max_scaler(maxScaling) as features)
Paramètres
splitsn+1, il existe n compartiments. Les divisions doivent être dans un ordre strictement croissant et la plage (x,y) est utilisée pour chaque compartiment, à l’exception du dernier, qui inclut y.Exemples de divisions
- Tableau(Double.NegativeInfinity, 0.0, 1.0, Double.PositiveInfinity)
- Tableau(0.0, 1.0, 2.0)
Les divisions doivent couvrir l’ensemble de la plage de valeurs Double ; sinon, les valeurs en dehors des divisions spécifiées seront traitées comme des erreurs.
Exemple de transformation
Cet exemple prend une colonne de fonctions continues (course_duration), la classe selon le splits fourni, puis assemble les compartiments résultants avec d’autres fonctions.
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling, min_max_scaler(maxScaling) as features)
MinMaxScaler minmaxscaler
Le transformateur MinMaxScaler redimensionne chaque fonction d’un jeu de données de lignes de vecteurs à une plage spécifiée, généralement [0, 1]. Cela permet de s’assurer que toutes les fonctionnalités contribuent de manière égale au modèle. Elle est particulièrement utile pour les modèles sensibles à la mise à l’échelle des caractéristiques, tels que les algorithmes basés sur la descente de gradient. Le MinMaxScaler fonctionne sur les paramètres suivants :
- min : limite inférieure de la transformation, partagée par toutes les fonctionnalités. La valeur par défaut est
0.0. - max : limite supérieure de la transformation, partagée par toutes les fonctionnalités. La valeur par défaut est
1.0.
Types des données
- Type de données d’entrée :
Array[Double] - Type de données de sortie :
Array[Double]
Définition
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling, min_max_scaler(maxScaling) as features)
Paramètres
minmaxExemple de transformation
Cet exemple transforme un ensemble de fonctions, en les redimensionnant à la plage spécifiée à l’aide de MinMaxScaler après avoir appliqué plusieurs autres transformations.
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling, min_max_scaler(maxScaling) as features)
MaxAbsScaler maxabsscaler
Le transformateur MaxAbsScaler redimensionne chaque caractéristique d’un jeu de données de lignes de vecteurs à la plage [-1, 1] en divisant par la valeur absolue maximale de chaque caractéristique. Cette transformation est idéale pour préserver la dispersion dans les jeux de données avec des valeurs positives et négatives, car elle ne déplace ni ne centre les données. Cela rend le MaxAbsScaler particulièrement adapté aux modèles sensibles à l’échelle des caractéristiques d’entrée, telles que celles impliquant des calculs de distance.
Types des données
- Type de données d’entrée :
Array[Double] - Type de données de sortie :
Array[Double]
Définition
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling)
Paramètres
Exemple de transformation
Cet exemple montre comment appliquer plusieurs transformations, y compris MaxAbsScaler, pour redimensionner des fonctions dans la plage [-1, 1].
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, max_abs_scaler(vec_assembler) as maxScaling)
Normaliseur normalizer
Le Normalizer est un transformateur qui normalise chaque vecteur dans un jeu de données de lignes de vecteurs pour avoir une norme d’unité. Ce procédé assure une échelle cohérente sans altérer la direction des vecteurs. Cette transformation est particulièrement utile dans les modèles de machine learning qui reposent sur des mesures de distance ou d’autres calculs vectoriels, en particulier lorsque l’amplitude des vecteurs varie considérablement.
Types des données
- Type de données d’entrée :
array[double]/vector[double] - Type de données de sortie :
vector[double]
Définition
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, normalizer(vec_assembler, 3) as normalized)
Paramètres
pp-norm utilisé pour la normalisation (par exemple, 1-norm, 2-norm, etc.).Exemple de transformation
Cet exemple montre comment appliquer plusieurs transformations, y compris le Normalizer, pour normaliser un ensemble de fonctions à l’aide de la p-norm spécifiée.
TRANSFORM(binarizer(time_spent, 5.0) as binary, bucketizer(course_duration, array(-440.5, 0.0, 150.0, 1000.7)) as buck_features, vector_assembler(array(buck_features, users_count, binary)) as vec_assembler, normalizer(vec_assembler, 3) as normalized)
QuantileDiscretizer quantilediscretizer
Le QuantileDiscretizer est un transformateur qui convertit une colonne avec des fonctions continues en fonctions catégorielles compartimentées, avec le nombre de compartiments déterminé par le paramètre numBuckets. Dans certains cas, le nombre réel d’intervalles peut être inférieur à ce nombre spécifié s’il y a trop peu de valeurs distinctes pour créer suffisamment de quantités.
Cette transformation est particulièrement utile pour simplifier la représentation des données continues ou pour la préparer à des algorithmes qui fonctionnent mieux avec une entrée catégorielle.
Types des données
- Type de données d’entrée : colonne numérique
- Type de données de sortie : colonne numérique (catégorielle)
Définition
TRANSFORM(quantile_discretizer(hour, 3) as result)
Paramètres
NUM_BUCKETSExemple de transformation
Cet exemple montre comment le QuantileDiscretizer regroupe une colonne de fonctions continues (hour) en trois compartiments catégoriels.
TRANSFORM(quantile_discretizer(hour, 3) as result)
Exemple avant et après discrétisation
StandardScaler standardscaler
Le StandardScaler est un transformateur qui normalise chaque caractéristique dans un jeu de données de lignes vectorielles pour avoir un écart-type unitaire et/ou une moyenne nulle. Ce processus rend les données plus adaptées aux algorithmes qui supposent que les fonctionnalités sont centrées autour de zéro avec une échelle cohérente. Cette transformation est particulièrement importante pour les modèles d’apprentissage automatique tels que la MVS, la régression logistique et les réseaux de neurones, où des données non normalisées pourraient entraîner des problèmes de convergence ou une précision réduite.
Types des données
- Type de données d’entrée : Vecteur
- Type de données de sortie : Vecteur
Définition
TRANSFORM(standard_scaler(feature) as ss_features)
Paramètres
withStdwithMeanExemple de transformation
Cet exemple montre comment appliquer le StandardScaler à un ensemble de fonctionnalités, en les normalisant avec un écart-type unitaire et une moyenne nulle.
TRANSFORM(standard_scaler(feature) as ss_features)
Transformations catégorielles categorical-transformations
Lisez cette section pour obtenir un aperçu des transformateurs disponibles conçus pour convertir et prétraiter des données catégorielles pour les modèles de machine learning. Ces transformations sont conçues pour les points de données qui représentent des catégories ou des libellés distincts, plutôt que des valeurs numériques.
StringIndexer stringindexer
Le StringIndexer est un transformateur qui code une colonne de chaînes d’étiquettes en une colonne d’indices numériques. Les indices vont de 0 à numLabels et sont ordonnés par fréquence de libellé (le libellé le plus fréquent reçoit un index de 0). Si la colonne d’entrée est numérique, elle est convertie en chaîne avant l’indexation. Les libellés non affichés peuvent être affectés au numLabels d’index s’ils sont spécifiés par l’utilisateur.
Cette transformation est particulièrement utile pour convertir des données de chaîne catégorielles en forme numérique, ce qui les rend adaptées aux modèles de machine learning qui nécessitent une entrée numérique.
Types des données
- Type de données d’entrée : chaîne
- Type de données de sortie : numérique
Définition
TRANSFORM(string_indexer(category) as si_category)
Paramètres
StringIndexer ne nécessite aucun paramètre supplémentaire pour son fonctionnement.Exemple de transformation
Cet exemple montre comment appliquer le StringIndexer à une fonction catégorielle, en la convertissant en index numérique.
TRANSFORM(string_indexer(category) as si_category)
OneHotEncoder onehotencoder
Le OneHotEncoder est un transformateur qui convertit une colonne d’indices d’étiquettes en une colonne de vecteurs binaires épars, chaque vecteur ayant au plus une seule valeur. Ce codage est particulièrement utile pour permettre aux algorithmes qui nécessitent une entrée numérique, comme la régression logistique, d’incorporer efficacement des données catégorielles.
Types des données
- Type de données d’entrée : numérique
- Type de données de sortie : Vector[Int]
Définition
TRANSFORM(string_indexer(category) as si_category, one_hot_encoder(si_category) as ohe_category)
Paramètres
Exemple de transformation
Cet exemple montre comment d’abord appliquer le StringIndexer à une fonction catégorielle, puis utiliser le OneHotEncoder pour convertir les valeurs indexées en vecteur binaire.
TRANSFORM(string_indexer(category) as si_category, one_hot_encoder(si_category) as ohe_category)
Transformations textuelles textual-transformations
Cette section fournit des détails sur les transformateurs disponibles pour le traitement et la conversion de données de texte en formats utilisables par les modèles de machine learning. Cette section est essentielle pour les développeurs qui travaillent avec des données en langage naturel et l’analyse de texte.
CountVectorizer countvectorizer
Le CountVectorizer est un transformateur qui convertit une collection de documents texte en vecteurs de nombres de jetons, produisant des représentations éparses basées sur le vocabulaire extrait du corpus. Cette transformation est essentielle pour convertir des données textuelles en format numérique qui peut être utilisé par des algorithmes de machine learning, tels que LDA (Latent Dirichlet Allocation), en représentant la fréquence des jetons dans chaque document.
Types des données
- Type de données d’entrée : Array[String]
- Type de données de sortie : Vecteur dense
Définition
TRANSFORM(count_vectorizer(texts) as cv_output)
Paramètres
VOCAB_SIZEvocabSize termes les plus fréquents classés par fréquence de terme dans le corpus.MIN_DOC_FREQMAX_DOC_FREQMIN_TERM_FREQExemple de transformation
Cet exemple montre comment CountVectorizer convertit une collection de tableaux de texte en vecteurs de nombres de jetons, produisant ainsi une représentation éparse.
TRANSFORM(count_vectorizer(texts) as cv_output)
Exemple avant et après vectorisation
NGram ngram
Le NGram est un transformateur qui génère une séquence de n-grammes, où un n-gramme est une séquence de (‘𝑛’) jetons (typiquement des mots) pour un entier (𝑛). La sortie se compose de chaînes délimitées par des espaces de mots consécutifs « 𝑛 », qui peuvent être utilisées comme fonctionnalités dans les modèles de machine learning, en particulier ceux axés sur le traitement du langage naturel.
Types des données
- Type de données d’entrée : Array[String]
- Type de données de sortie : Array[String]
Définition
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Paramètres
NExemple de transformation
Cet exemple montre comment le transformateur NGram crée une séquence de 3 grammes à partir d’une liste de jetons dérivés de données texte.
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Exemple avant et après la transformation n-gram
StopWordsRemover stopwordsremover
Le StopWordsRemover est un transformateur qui supprime les mots vides d’une séquence de chaînes, en filtrant les mots communs qui n’ont pas de signification significative. Elle prend en entrée une séquence de chaînes (comme la sortie d’un jeton) et supprime tous les mots vides spécifiés par le paramètre stopWords.
Cette transformation est utile pour le prétraitement des données textuelles, ce qui améliore l’efficacité des modèles de machine learning en aval en éliminant les mots qui ne contribuent pas beaucoup à la signification globale.
Types des données
- Type de données d’entrée : Array[String]
- Type de données de sortie : Array[String]
Définition
TRANSFORM(stop_words_remover(raw) as filtered)
Paramètres
stopWordsExemple de transformation
Cet exemple montre comment le StopWordsRemover filtre les mots vides courants en anglais d’une liste de jetons.
TRANSFORM(stop_words_remover(raw) as filtered)
Exemple avant et après la suppression des mots vides
Exemple avec des mots vides personnalisés
Cet exemple montre comment utiliser une liste personnalisée de mots vides pour filtrer des mots spécifiques des séquences d’entrée.
TRANSFORM(stop_words_remover(raw, array("red", "I", "had")) as filtered)
Exemple avant et après la suppression de mots vides personnalisés
TF-IDF tf-idf
Le TF-IDF (Terme Fréquence-Inverse de Document Frequency) est un transformateur utilisé pour mesurer l’importance d’un mot dans un document par rapport à un corpus. La fréquence des termes (TF) fait référence au nombre de fois qu’un terme (t) apparaît dans un document (d), tandis que la fréquence des documents (DF) mesure le nombre de documents dans le corpus (D) contenant le terme (t). Cette méthode est largement utilisée dans l’exploration de texte pour réduire l’influence de mots courants, tels que « a », « le » et « de », qui contiennent peu d’informations uniques.
Cette transformation est particulièrement utile pour l’exploration de texte et le traitement du langage naturel, car elle attribue une valeur numérique à l’importance de chaque mot dans un document et dans l’ensemble du corpus.
Types des données
- Type de données d’entrée : Array[String]
- Type de données de sortie : Vector[Int]
Définition
create table td_idf_model transform(tokenizer(sentence) as token_sentence, tf_idf(token_sentence) as tf_sentence, vector_assembler(array(tf_sentence)) as feature) OPTIONS()
Paramètres
NUM_FEATURESMIN_DOC_FREQExemple de transformation
Cet exemple montre comment utiliser TF-IDF pour transformer des phrases segmentées en un vecteur de caractéristiques qui représente l’importance de chaque terme dans le contexte du corpus entier.
create table td_idf_model transform(tokenizer(sentence) as token_sentence, tf_idf(token_sentence) as tf_sentence, vector_assembler(array(tf_sentence)) as feature) OPTIONS()
Tokenizer tokenizer
Le Tokenizer est un transformateur qui décompose le texte, tel qu’une phrase, en termes individuels, généralement des mots. Il convertit les phrases en tableaux de jetons, fournissant ainsi une étape fondamentale dans le prétraitement de texte qui prépare les données pour d’autres processus d’analyse de texte ou de modélisation.
Types des données
- Type de données d’entrée : Phrase textuelle
- Type de données de sortie : Array[String]
Définition
create table td_idf_model transform(tokenizer(sentence) as token_sentence, tf_idf(token_sentence) as tf_sentence, vector_assembler(array(tf_sentence)) as feature) OPTIONS()
Paramètres
Tokenizer ne nécessite aucun paramètre supplémentaire pour son fonctionnement.Exemple de transformation
Cet exemple montre comment le Tokenizer répartit les phrases en mots individuels (jetons) dans le cadre d’un pipeline de traitement de texte.
create table td_idf_model transform(tokenizer(sentence) as token_sentence, tf_idf(token_sentence) as tf_sentence, vector_assembler(array(tf_sentence)) as feature) OPTIONS()
Word2Vec word2vec
Le Word2Vec est un estimateur qui traite des séquences de mots représentant des documents et entraîne un Word2VecModel. Ce modèle mappe chaque mot à un vecteur de taille fixe unique et transforme chaque document en un vecteur en faisant la moyenne des vecteurs de tous les mots du document. Largement utilisé dans les tâches de traitement du langage naturel, Word2Vec crée des incorporations de mots qui capturent une signification sémantique, convertissant des données textuelles en vecteurs numériques qui représentent les relations entre les mots et permettant une analyse de texte plus efficace et des modèles de machine learning.
Types des données
- Type de données d’entrée : Array[String]
- Type de données de sortie : Vector[Double]
Définition
TRANSFORM(tokenizer(review) as tokenized, word2Vec(tokenized, 10, 1) as word2Vec)
Paramètres
VECTOR_SIZEMIN_COUNTWord2Vec.Exemple de transformation
Cet exemple montre comment Word2Vec convertit une révision segmentée en unités lexicales en un vecteur de taille fixe représentant la moyenne des vecteurs de mot dans le document.
TRANSFORM(tokenizer(review) as tokenized, word2Vec(tokenized, 10, 1) as word2Vec)
Exemple avant et après la transformation Word2Vec