Techniques de transformation des fonctionnalités
Les transformations sont des étapes essentielles de prétraitement qui convertissent ou dimensionnent les données dans un format adapté à la formation et à l’analyse des modèles, assurant ainsi des performances optimales et une précision optimale. Ce document sert de ressource de syntaxe complémentaire, fournissant 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 d’apprentissage automatique ne peuvent pas traiter directement des valeurs de chaîne ou des 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 les données catégoriques en formats numériques et appliquer des techniques de mise à l’échelle des fonctionnalités telles que le codage à 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 fonctionnalités automatic-transformations
Si vous choisissez d’ignorer la clause TRANSFORM
dans votre commande CREATE MODEL
, la transformation des fonctionnalités se produit automatiquement. Le prétraitement automatique des données comprend des transformations de fonctions standard et de remplacement nulles (basées sur le type de données). Les colonnes numériques et de texte sont automatiquement imputées, puis des transformations de fonctionnalités sont effectuées afin de s’assurer que les données sont dans un format approprié pour la formation des modèles d’apprentissage automatique. Ce processus comprend l’imputation des données manquante et des transformations catégoriques, numériques et booléennes.
Les tableaux suivants expliquent comment différents types de données sont traités lorsque la clause TRANSFORM
est omise lors de la commande CREATE MODEL
.
Remplacement nul automatic-null-replacement
ml_unknown
.FALSE
.Transformation des fonctionnalités automatic-feature-transformation
exemple
CREATE model modelname options(model_type='logistic_reg', label='rating') AS SELECT * FROM movie_rating;
Conversion manuelle des fonctionnalités manual-transformations
Pour définir le prétraitement des données personnalisé dans votre instruction CREATE MODEL
, utilisez la clause TRANSFORM
en combinaison avec n’importe quel 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 mentionnées dans la section transformateur ci-dessous peuvent être utilisées pour prétraiter les données manuellement.
Caractéristiques clés key-characteristics
Voici les principales caractéristiques de la transformation des fonctionnalités à prendre en compte lorsque vous définissez vos fonctions de prétraitement :
-
Syntaxe :
TRANSFORM(functionName(colName, parameters) <aliasNAME>)
- Le nom de l'alias est obligatoire dans la syntaxe. Vous devez indiquer un nom d’alias pour que la requête échoue.
-
Parameters : les paramètres sont des arguments de positionnement. Cela signifie que chaque paramètre ne peut prendre que certaines valeurs et exiger que tous les paramètres précédents soient spécifiés si des valeurs personnalisées sont fournies. Pour plus d’informations sur la fonction qui utilise cet argument, reportez-vous à la documentation appropriée.
-
Chaînage des transformateurs : la sortie d’un transformateur peut devenir l’entrée d’un autre transformateur.
-
Utilisation des fonctionnalités : la dernière transformation des fonctionnalités est utilisée comme une fonctionnalité du modèle d’apprentissage automatique.
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 qui ne sont pas spécifiques aux données catégorielles ou textuelles.
Imprimeur numérique numeric-imputer
Le transformateur Numeric imputer complète les valeurs manquantes dans un jeu de données. Cette option 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 de 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
STRATEGY
mean
, median
, mode
].Exemple avant imputation
Exemple après imputation (avec stratégie moyenne)
Entier de chaîne string-imputer
Le transformateur chaîne imputer complète les valeurs manquantes dans un jeu de données à l’aide d’une chaîne fournie par l’utilisateur en tant qu’argument de fonction. Les colonnes d’entrée et de sortie doivent être de 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_REPLACEMENT
Exemple avant imputation
Exemple après imputation (utilisation de 'ml_unknown' comme remplacement)
Indice booléen boolean-imputer
Le transformateur de l’attribut 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_REPLACEMENT
true
, false
].Exemple avant imputation
Exemple après imputation (utilisation de 'true' comme remplacement)
Assembleur vectoriel vector-assembler
Le transformateur VectorAssembler
combine une liste spécifiée de colonnes d’entrée dans une seule colonne vectorielle, ce qui facilite la gestion de plusieurs fonctionnalités dans les modèles d’apprentissage automatique. Cela s’avère particulièrement utile pour fusionner des fonctionnalités brutes et celles générées par différents transformateurs de fonctionnalités en un seul vecteur de fonctionnalités unifié. VectorAssembler
accepte les colonnes d’entrée de types numérique, booléen et vectoriel. Dans chaque ligne, les valeurs des colonnes de saisie sont concaténées dans un vecteur dans l’ordre indiqué.
Types des données
- Type de données d’entrée :
array[string]
(noms de colonne avec des valeurs numériques/de tableau [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 fonctions numériques en fonctions binaires (0/1) par le biais d’un processus appelé binarisation. Les valeurs de fonction 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. 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
THRESHOLD
Exemple d’entrée avant la binarisation
Exemple de sortie après la 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 la binarisation (avec un seuil de 14.0)
Bucketizer bucketizer
Le transformateur Bucketizer
convertit une colonne de fonctionnalités continues en une colonne de compartiments de fonctionnalités, en fonction des seuils spécifiés par l’utilisateur. Ce processus est utile pour segmenter les données continues en classes ou compartiments discrets. Bucketizer
nécessite un paramètre splits
qui définit les limites des compartiments.
Types des données
- Type de données d’entrée : colonne numérique
- Type de données de sortie : numérique (valeurs binaires)
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
splits
n+1
divisions, il existe n
compartiments. Les séparations doivent être dans un ordre strictement croissant et la plage (x,y) est utilisée pour chaque compartiment, à l’exception de la dernière, qui inclut y.Exemples de divisions
- Tableau(Double.NegativeInfinity, 0.0, 1.0, Double.PositiveInfinity)
- Tableau(0.0, 1.0, 2.0)
Les séparations doivent couvrir toute la gamme des valeurs Double ; dans le cas contraire, les valeurs en dehors des séparations spécifiées seront traitées comme des erreurs.
Exemple de transformation
Cet exemple utilise une colonne de fonctionnalités continues (course_duration
), les classe en fonction du splits
fourni, puis assemble les compartiments résultants avec d’autres fonctionnalités.
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 fonctionnalité d’un jeu de données de lignes vectorielles sur une plage spécifiée, généralement [0, 1]. Cela garantit 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 fonctionnalités, tels que les algorithmes basés sur la descente en dégradé. 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
min
max
Exemple de transformation
Cet exemple transforme un ensemble de fonctionnalités, 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 fonctionnalité d’un jeu de données de lignes vectorielles sur la plage [-1, 1] en la divisant par la valeur absolue maximale de chaque fonctionnalité. Cette transformation est idéale pour préserver la dispersion des 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 qui sont sensibles à l’échelle des fonctionnalités d’entrée, comme ceux qui impliquent 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 applique plusieurs transformations, y compris MaxAbsScaler
, pour redimensionner les fonctionnalités 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
Normalizer
est un transformateur qui normalise chaque vecteur dans un jeu de données de lignes vectorielles pour avoir une norme unitaire. Ce processus assure une échelle cohérente sans modifier la direction des vecteurs. Cette transformation est particulièrement utile dans les modèles d'apprentissage automatique qui reposent sur des mesures à distance ou d'autres calculs vectoriels, surtout lorsque l'ampleur 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
p
p-norm
utilisé pour la normalisation (par exemple, 1-norm
, 2-norm
, etc.).Exemple de transformation
Cet exemple montre comment appliquer plusieurs transformations, y compris Normalizer
, pour normaliser un ensemble de fonctionnalités à l’aide du p-norm
spécifié.
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
QuantileDiscretizer
est un transformateur qui convertit une colonne avec des fonctions continues en fonctions catégoriques binaires, avec le nombre de classes déterminé par le paramètre numBuckets
. Dans certains cas, le nombre réel de compartiments peut être inférieur à ce nombre spécifié s’il existe trop peu de valeurs distinctes pour créer suffisamment de quantiles.
Cette transformation est particulièrement utile pour simplifier la représentation des données continues ou pour les préparer aux algorithmes qui fonctionnent mieux avec l’entrée catégorique.
Types des données
- Type de données d’entrée : colonne numérique
- Type de données de sortie : colonne numérique (catégorie)
Définition
TRANSFORM(quantile_discretizer(hour, 3) as result)
Paramètres
NUM_BUCKETS
Exemple de transformation
Cet exemple montre comment QuantileDiscretizer
classe une colonne de fonctionnalités continues (hour
) en trois compartiments catégoriques.
TRANSFORM(quantile_discretizer(hour, 3) as result)
Exemple avant et après la discrétisation
StandardScaler standardscaler
StandardScaler
est un transformateur qui normalise chaque fonctionnalité d’un jeu de données de lignes vectorielles pour obtenir une é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 SVM, la régression logistique et les réseaux neuronaux, 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 : vector
- Type de données de sortie : Vector
Définition
TRANSFORM(standard_scaler(feature) as ss_features)
Paramètres
withStd
withMean
Exemple de transformation
Cet exemple montre comment appliquer StandardScaler à un ensemble de fonctionnalités, en les normalisant avec l’écart-type unitaire et la moyenne nulle.
TRANSFORM(standard_scaler(feature) as ss_features)
Conversions catégorielles categorical-transformations
Lisez cette section pour un aperçu des transformateurs disponibles conçus pour convertir et prétraiter des données catégoriques pour les modèles d’apprentissage automatique. Ces transformations sont conçues pour des points de données qui représentent des catégories ou des étiquettes distinctes, plutôt que des valeurs numériques.
StringIndexer stringindexer
StringIndexer
est un transformateur qui code une colonne de chaîne d’étiquettes dans une colonne d’index numériques. Les index sont compris entre 0 et numLabels
et sont classés par fréquence d’étiquette (le libellé le plus courant reçoit un index de 0). Si la colonne d’entrée est numérique, elle est convertie en chaîne avant indexation. Des libellés non visibles peuvent être affectés à l’index numLabels
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 sous forme numérique, ce qui la rend adaptée aux modèles d’apprentissage automatique 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égorique, en le convertissant en index numérique.
TRANSFORM(string_indexer(category) as si_category)
OneHotEncoder onehotencoder
OneHotEncoder
est un transformateur qui convertit une colonne d’index de libellé en une colonne de vecteurs binaires épars, où chaque vecteur possède au plus une seule valeur. Cet encodage est particulièrement utile pour permettre aux algorithmes qui nécessitent une entrée numérique, comme la Régression logistique, d’incorporer efficacement les 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 appliquer d’abord le StringIndexer
à une fonction catégorique, 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 texte en formats pouvant être utilisés par les modèles d’apprentissage automatique. Cette section est essentielle pour les développeurs qui travaillent sur les données de langage naturel et l’analyse de texte.
CountVectorizer countvectorizer
CountVectorizer
est un transformateur qui convertit une collection de documents texte en vecteurs de nombre de jetons, produisant des représentations éparses basées sur le vocabulaire extrait du corpus. Cette transformation est essentielle pour convertir des données texte dans un format numérique utilisable par des algorithmes d’apprentissage automatique, tels que LDA (Latent Dirichlet Attribution), 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_SIZE
vocabSize
principaux termes ordonnés par fréquence de terme dans le corpus.MIN_DOC_FREQ
MAX_DOC_FREQ
MIN_TERM_FREQ
Exemple de transformation
Cet exemple illustre la manière dont 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 la vectorisation
NGram ngram
NGram
est un transformateur qui génère une séquence d’n-grammes, où un n-gramme est une séquence de jetons ('??') (généralement des mots) pour certains entiers (𝑛
). La sortie est composée de chaînes "??" délimitées par des espaces, qui peuvent être utilisées comme fonctionnalités dans les modèles d’apprentissage automatique, en particulier celles axées 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 : Tableau[Chaîne]
Définition
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Paramètres
N
Exemple 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 textuelles.
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Exemple avant et après la transformation n-gramme
StopWordsRemover stopwordsremover
StopWordsRemover
est un transformateur qui supprime les mots d’arrêt d’une séquence de chaînes, en éliminant les mots courants 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-clés spécifiés par le paramètre stopWords
.
Cette transformation est utile pour le prétraitement des données texte, ce qui améliore l’efficacité des modèles d’apprentissage automatique 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 : Tableau[Chaîne]
Définition
TRANSFORM(stop_words_remover(raw) as filtered)
Paramètres
stopWords
Exemple de transformation
Cet exemple montre comment le StopWordsRemover
filtre les mots-clés anglais courants d’une liste de jetons.
TRANSFORM(stop_words_remover(raw) as filtered)
Exemple avant et après la suppression de mots vides
Exemple avec mots d’arrêt personnalisés
Cet exemple illustre l’utilisation d’une liste personnalisée de mots d’arrêt 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 suppression de mots d’arrêt personnalisés
TF-IDF tf-idf
TF-IDF
(Term Frequency-Inverse Document Frequency) est un transformateur utilisé pour mesurer l’importance d’un mot dans un document par rapport à un corpus. Fréquence des termes (TF) fait référence au nombre de fois où 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’extraction de texte pour réduire l’influence des mots courants, tels que "a", "the" et "of", qui contiennent peu d’informations uniques.
Cette transformation s’avère particulièrement utile dans les tâches d’extraction de texte et de traitement du langage naturel, dans la mesure où 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_FEATURES
MIN_DOC_FREQ
Exemple de transformation
Cet exemple montre comment utiliser TF-IDF pour transformer des phrases en jetons en un vecteur de fonctionnalités 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
Tokenizer
est un transformateur qui ventile le texte, tel qu’une phrase, en termes individuels, généralement en mots. Il convertit les phrases en tableaux de jetons, ce qui fournit une étape fondamentale du 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 : Tableau[Chaîne]
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 Tokenizer
ventile des 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
Word2Vec
est un estimateur qui traite des séquences de mots représentant des documents et forme un Word2VecModel
. Ce modèle associe chaque mot à un vecteur de taille fixe unique et convertit chaque document en vecteur en calculant la moyenne des vecteurs de tous les mots du document. Largement utilisée dans les tâches de traitement de langage naturel, Word2Vec
crée des intégrations de mots qui capturent la signification sémantique, convertissant les données de texte en vecteurs numériques qui représentent les relations entre les mots et permettant une analyse de texte plus efficace et des modèles d’apprentissage automatique.
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_SIZE
MIN_COUNT
Word2Vec
.Exemple de transformation
Cet exemple montre comment Word2Vec
convertit une révision en unités lexicales en vecteur de taille fixe représentant la moyenne des vecteurs de mots dans le document.
TRANSFORM(tokenizer(review) as tokenized, word2Vec(tokenized, 10, 1) as word2Vec)
Exemple avant et après la transformation Word2Vec