Técnicas de transformación de funciones
Las transformaciones son pasos de preprocesamiento cruciales que convierten o escalan los datos en un formato adecuado para la formación y el análisis de modelos, lo que garantiza un rendimiento y una precisión óptimos. Este documento sirve como recurso de sintaxis complementario, que proporciona detalles exhaustivos sobre las técnicas clave de transformación de funciones para el preprocesamiento de datos.
Los modelos de aprendizaje automático no pueden procesar directamente valores de cadena o valores nulos, por lo que el preprocesamiento de datos es esencial. En esta guía se explica cómo utilizar varias transformaciones para imputar valores que faltan, convertir datos categóricos en formatos numéricos y aplicar técnicas de escalado de funciones como codificación y vectorización en un solo paso. Estos métodos permiten a los modelos interpretar y aprender eficazmente de los datos, mejorando finalmente su rendimiento.
Transformación automática de funciones automatic-transformations
Si elige omitir la cláusula TRANSFORM
en el comando CREATE MODEL
, la transformación de características se produce automáticamente. El preprocesamiento automático de datos incluye el reemplazo nulo y las transformaciones de funciones estándar (según el tipo de datos). Las columnas numéricas y de texto se imputan automáticamente y, a continuación, se llevan a cabo transformaciones de funciones para garantizar que los datos tengan un formato adecuado para la formación del modelo de aprendizaje automático. Este proceso incluye la imputación de datos que faltan y transformaciones categóricas, numéricas y booleanas.
En las tablas siguientes se explica cómo se controlan los distintos tipos de datos cuando se omite la cláusula TRANSFORM
durante el comando CREATE MODEL
.
Reemplazo nulo automatic-null-replacement
ml_unknown
.FALSE
.Transformación de funciones automatic-feature-transformation
ejemplo
CREATE model modelname options(model_type='logistic_reg', label='rating') AS SELECT * FROM movie_rating;
Transformaciones manuales de funciones manual-transformations
Para definir el preprocesamiento de datos personalizados en la instrucción CREATE MODEL
, utilice la cláusula TRANSFORM
en combinación con cualquier número de funciones de transformación disponibles. Estas funciones de preprocesamiento manual también se pueden utilizar fuera de la cláusula TRANSFORM
. Todas las transformaciones que se discuten en la sección transformador a continuación, se pueden usar para preprocesar los datos manualmente.
Características principales key-characteristics
Las siguientes son características clave de la transformación de funciones que se deben tener en cuenta al definir las funciones de preprocesamiento:
-
Sintaxis:
TRANSFORM(functionName(colName, parameters) <aliasNAME>)
- El nombre del alias es obligatorio en la sintaxis. Debe proporcionar un nombre de alias o la consulta fallará.
-
Parámetros: los parámetros son argumentos de posición. Esto significa que cada parámetro solo puede tomar determinados valores y requerir que se especifiquen todos los parámetros anteriores si se proporcionan valores personalizados. Consulte la documentación relevante para obtener detalles sobre qué función toma qué argumento.
-
Transformadores de encadenamiento: La salida de un transformador puede convertirse en la entrada de otro transformador.
-
Uso de características: la última transformación de características se usa como característica del modelo de aprendizaje automático.
Ejemplo
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;
Transformaciones disponibles available-transformations
Hay 19 transformaciones disponibles. Estas transformaciones se dividen en transformaciones generales, transformaciones numéricas, transformaciones categóricas y transformaciones textuales.
Transformaciones generales general-transformations
Lea esta sección para obtener más información sobre los transformadores utilizados para una amplia gama de tipos de datos. Esta información es esencial si necesita aplicar transformaciones que no sean específicas de los datos categóricos o de texto.
Imputador numérico numeric-imputer
El transformador Imputador numérico completa los valores que faltan en un conjunto de datos. Utiliza la media, la mediana o el modo de las columnas en las que se encuentran los valores que faltan. Las columnas de entrada deben ser DoubleType
o FloatType
. Encontrará más información y ejemplos en la documentación del algoritmo Spark.
Tipos de datos
- Tipo de datos de entrada: numérico
- Tipo de datos de salida: numérico
Definición
transformer(numeric_imputer(hour, 'mean') hour_imputed)
Parámetros
STRATEGY
mean
, median
, mode
].Ejemplo antes de la imputación
Ejemplo después de la imputación (con estrategia media)
Imputador de cadena string-imputer
El transformador String imputer completa los valores que faltan en un conjunto de datos utilizando una cadena proporcionada por el usuario como argumento de función. Las columnas de entrada y salida deben ser del tipo de datos string
.
Tipos de datos
- Tipo de datos de entrada: cadena
- Tipo de datos de salida: cadena
Definición
transform(string_imputer(name, 'unknown_name') as name_imputed)
Parámetros
NULL_REPLACEMENT
Ejemplo antes de la imputación
Ejemplo después de la imputación (utilizando 'ml_unknown' como reemplazo)
Imputador booleano boolean-imputer
El transformador Boolean imputer completa los valores que faltan en un conjunto de datos para una columna booleana. Las columnas de entrada y salida deben ser del tipo Boolean
.
Tipos de datos
- Tipo de datos de entrada: booleano
- Tipo de datos de salida: booleano
Definición
transform(boolean_imputer(name, true) as name_imputed)
Parámetros
NULL_REPLACEMENT
true
, false
].Ejemplo antes de la imputación
Ejemplo después de la imputación (se usa 'true' como reemplazo)
Ensamblador vectorial vector-assembler
El transformador VectorAssembler
combina una lista especificada de columnas de entrada en una sola columna vectorial, lo que facilita la administración de varias funciones en los modelos de aprendizaje automático. Esto resulta particularmente útil para combinar funciones sin procesar y aquellas generadas por diferentes transformadores de funciones en un vector de funciones unificado. VectorAssembler
acepta columnas de entrada de tipos numéricos, booleanos y vectoriales. En cada fila, los valores de las columnas de entrada se concatenan en un vector en el orden especificado.
Tipos de datos
- Tipo de datos de entrada:
array[string]
(nombres de columna con valores numéricos/array[numeric]) - Tipo de datos de salida:
Vector[double]
Definición
transform(vector_assembler(id, hour, mobile, userFeatures) as features)
Parámetros
Ejemplo antes de la transformación
Ejemplo después de la transformación
Transformaciones numéricas numeric-transformations
Lea esta sección para obtener más información sobre los transformadores disponibles para procesar y escalar datos numéricos. Estos transformadores son necesarios para gestionar y optimizar las funciones numéricas de los conjuntos de datos.
Binarizador binarizer
El transformador Binarizer
convierte las características numéricas en características binarias (0/1) mediante un proceso denominado binarización. Los valores mayores que el umbral especificado se convierten en 1,0, mientras que los valores iguales o menores que el umbral se convierten en 0,0. Binarizer
admite los tipos Vector
y Double
para la columna de entrada.
Tipos de datos
- Tipo de datos de entrada: columna numérica
- Tipo de datos de salida: numérico
Definición
transform(numeric_imputer(rating, 'mode') rating_imp, binarizer(rating_imp) rating_binarizer)
Parámetros
THRESHOLD
Entrada de ejemplo antes de la binarización
Ejemplo de salida después de la binarización (umbral predeterminado de 0,0)
Definición con umbral personalizado
transform(numeric_imputer(age, 'mode') age_imp, binarizer(age_imp, 14.0) age_binarizer)
Ejemplo de salida después de la binarización (con un umbral de 14.0)
Bucketizer bucketizer
El transformador Bucketizer
convierte una columna de características continuas en una columna de contenedores de características, según los umbrales especificados por el usuario. Este proceso es útil para segmentar datos continuos en grupos o bloques discretos. El Bucketizer
requiere un parámetro splits
, que define los límites de los contenedores.
Tipos de datos
- Tipo de datos de entrada: columna numérica
- Tipo de datos de salida: numérico (valores agrupados)
Definición
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)
Parámetros
splits
n+1
divisiones, hay n
bloques. Las divisiones deben estar en orden estrictamente creciente y se utiliza el rango (x,y) para cada bloque excepto el último, que incluye y.Ejemplos de divisiones
- Matriz(Double.NegativeInfinity, 0.0, 1.0, Double.PositiveInfinity)
- Matriz (0.0, 1.0, 2.0)
Las divisiones deben cubrir todo el rango de valores Double; de lo contrario, los valores fuera de las divisiones especificadas se tratarán como errores.
Ejemplo de transformación
Este ejemplo toma una columna de características continuas (course_duration
), la agrupa según el elemento proporcionado splits
y, a continuación, ensambla los contenedores resultantes con otras características.
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
El transformador MinMaxScaler
vuelve a escalar cada característica de un conjunto de datos de filas vectoriales a un intervalo especificado, normalmente [0, 1]. Esto garantiza que todas las funciones contribuyan de forma equitativa al modelo. Resulta particularmente útil para modelos sensibles al escalado de características, como los algoritmos basados en degradado y descenso. MinMaxScaler
funciona con los siguientes parámetros:
- min: límite inferior de la transformación, compartido por todas las características. El valor predeterminado es
0.0
. - max: el límite superior de la transformación, compartido por todas las características. El valor predeterminado es
1.0
.
Tipos de datos
- Tipo de datos de entrada:
Array[Double]
- Tipo de datos de salida:
Array[Double]
Definición
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)
Parámetros
min
max
Ejemplo de transformación
En este ejemplo se transforma un conjunto de características y se cambia su escala al rango especificado mediante MinMaxScaler después de aplicar otras transformaciones.
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
El transformador MaxAbsScaler
vuelve a escalar cada característica de un conjunto de datos de filas vectoriales al rango [-1, 1] dividiendo por el valor absoluto máximo de cada característica. Esta transformación es ideal para preservar la dispersión en conjuntos de datos con valores positivos y negativos, ya que no desplaza ni centra los datos. Esto hace que MaxAbsScaler
sea especialmente adecuado para modelos que son sensibles a la escala de las características de entrada, como aquellos que implican cálculos de distancia.
Tipos de datos
- Tipo de datos de entrada:
Array[Double]
- Tipo de datos de salida:
Array[Double]
Definición
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)
Parámetros
Ejemplo de transformación
Este ejemplo aplica varias transformaciones, incluido MaxAbsScaler
, para cambiar el tamaño de las características en el rango [-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)
Normalizador normalizer
El Normalizer
es un transformador que normaliza cada vector en un conjunto de datos de filas vectoriales para que tenga una norma unitaria. Este proceso asegura una escala consistente sin alterar la dirección de los vectores. Esta transformación es particularmente útil en los modelos de aprendizaje automático que dependen de medidas a distancia u otros cálculos basados en vectores, especialmente cuando la magnitud de los vectores varía significativamente.
Tipos de datos
- Tipo de datos de entrada:
array[double]
/vector[double]
- Tipo de datos de salida:
vector[double]
Definición
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)
Parámetros
p
p-norm
utilizado para la normalización (por ejemplo, 1-norm
, 2-norm
, etc.).Ejemplo de transformación
En este ejemplo se muestra cómo aplicar varias transformaciones, incluida la Normalizer
, para normalizar un conjunto de características utilizando la p-norm
especificada.
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)
CuantilDiscretizer quantilediscretizer
QuantileDiscretizer
es un transformador que convierte una columna con características continuas en características categóricas agrupadas, con el número de grupos determinado por el parámetro numBuckets
. En algunos casos, el número real de contenedores puede ser menor que el número especificado si hay demasiado pocos valores distintos para crear suficientes cuantiles.
Esta transformación es especialmente útil para simplificar la representación de datos continuos o prepararlos para algoritmos que funcionen mejor con entradas categóricas.
Tipos de datos
- Tipo de datos de entrada: columna numérica
- Tipo de datos de salida: columna numérica (categórica)
Definición
TRANSFORM(quantile_discretizer(hour, 3) as result)
Parámetros
NUM_BUCKETS
Ejemplo de transformación
En este ejemplo se muestra cómo QuantileDiscretizer
agrupa una columna de características continuas (hour
) en tres bloques categóricos.
TRANSFORM(quantile_discretizer(hour, 3) as result)
Ejemplo antes y después de la discretización
Escalador estándar standardscaler
El StandardScaler
es un transformador que normaliza cada característica de un conjunto de datos de filas vectoriales para que tenga una desviación estándar unitaria o una media cero. Este proceso hace que los datos sean más adecuados para los algoritmos que suponen que las funciones están centradas en torno a cero con una escala coherente. Esta transformación es particularmente importante para modelos de aprendizaje automático como la VM, la regresión logística y las redes neuronales, donde los datos no estandarizados podrían dar lugar a problemas de convergencia o a una menor precisión.
Tipos de datos
- Tipo de datos de entrada: Vector
- Tipo de datos de salida: Vector
Definición
TRANSFORM(standard_scaler(feature) as ss_features)
Parámetros
withStd
withMean
Ejemplo de transformación
En este ejemplo se muestra cómo aplicar StandardScaler a un conjunto de características, normalizándolas con la desviación estándar unitaria y la media cero.
TRANSFORM(standard_scaler(feature) as ss_features)
Transformaciones categorías categorical-transformations
Lea esta sección para obtener una descripción general de los transformadores disponibles diseñados para convertir y preprocesar datos categóricos para modelos de aprendizaje automático. Estas transformaciones están diseñadas para puntos de datos que representan categorías o etiquetas distintas, en lugar de valores numéricos.
StringIndexer stringindexer
StringIndexer
es un transformador que codifica una columna de cadena de etiquetas en una columna de índices numéricos. Los índices varían de 0 a numLabels
y se ordenan por frecuencia de etiqueta (la etiqueta más frecuente recibe un índice de 0). Si la columna de entrada es numérica, se convierte en una cadena antes de la indexación. Las etiquetas que no se ven se pueden asignar al índice numLabels
si lo especifica el usuario.
Esta transformación es particularmente útil para convertir datos de cadena categóricos en forma numérica, lo que lo hace adecuado para modelos de aprendizaje automático que requieren entrada numérica.
Tipos de datos
- Tipo de datos de entrada: cadena
- Tipo de datos de salida: numérico
Definición
TRANSFORM(string_indexer(category) as si_category)
Parámetros
StringIndexer
no requiere ningún parámetro adicional para su funcionamiento.Ejemplo de transformación
En este ejemplo se muestra cómo aplicar StringIndexer
a una característica categórica, convirtiéndola en un índice numérico.
TRANSFORM(string_indexer(category) as si_category)
OneHotEncoder onehotencoder
El OneHotEncoder
es un transformador que convierte una columna de índices de etiquetas en una columna de vectores binarios dispersos, donde cada vector tiene como máximo un solo valor. Esta codificación es especialmente útil para permitir que los algoritmos que requieren entrada numérica, como Regresión logística, incorporen datos categóricos de forma eficaz.
Tipos de datos
- Tipo de datos de entrada: numérico
- Tipo de datos de salida: Vector[Int]
Definición
TRANSFORM(string_indexer(category) as si_category, one_hot_encoder(si_category) as ohe_category)
Parámetros
Ejemplo de transformación
Este ejemplo muestra cómo aplicar primero StringIndexer
a una característica categórica y, a continuación, utilizar OneHotEncoder
para convertir los valores indizados en un vector binario.
TRANSFORM(string_indexer(category) as si_category, one_hot_encoder(si_category) as ohe_category)
Transformaciones textuales textual-transformations
Esta sección proporciona detalles sobre los transformadores disponibles para procesar y convertir datos de texto en formatos que los modelos de aprendizaje automático pueden utilizar. Esta sección es crucial para los desarrolladores que trabajan con datos y análisis de texto en lenguaje natural.
CountVectorizer countvectorizer
CountVectorizer
es un transformador que convierte una colección de documentos de texto en vectores de recuentos de tokens, produciendo representaciones dispersas basadas en el vocabulario extraído del corpus. Esta transformación es esencial para convertir los datos de texto en un formato numérico que se puede utilizar en algoritmos de aprendizaje automático, como LDA (Asignación de Dirichlet Latente), representando la frecuencia de tokens dentro de cada documento.
Tipos de datos
- Tipo de datos de entrada: Matriz[Cadena]
- Tipo de datos de salida: Vector denso
Definición
TRANSFORM(count_vectorizer(texts) as cv_output)
Parámetros
VOCAB_SIZE
vocabSize
ordenados por frecuencia de términos en todo el corpus.MIN_DOC_FREQ
MAX_DOC_FREQ
MIN_TERM_FREQ
Ejemplo de transformación
En este ejemplo se muestra cómo CountVectorizer convierte una colección de matrices de texto en vectores de recuentos de símbolos, lo que produce una representación dispersa.
TRANSFORM(count_vectorizer(texts) as cv_output)
Ejemplo antes y después de la vectorización
NGram ngram
El NGram
es un transformador que genera una secuencia de n-gramos, donde un n-gramo es una secuencia de tokens ('??') (normalmente palabras) para algún entero (𝑛
). El resultado consiste en cadenas delimitadas por espacios de palabras consecutivas "??", que pueden utilizarse como características en modelos de aprendizaje automático, especialmente aquellos centrados en el procesamiento de lenguajes naturales.
Tipos de datos
- Tipo de datos de entrada: Matriz[Cadena]
- Tipo de datos de salida: Array[String]
Definición
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Parámetros
N
Ejemplo de transformación
Este ejemplo muestra cómo el transformador NGram crea una secuencia de 3 gramos a partir de una lista de tokens derivados de datos de texto.
TRANSFORM(tokenizer(review_comments) as token_comments, ngram(token_comments, 3) as n_tokens)
Ejemplo antes y después de la transformación de n-gramos
StopWordsRemover stopwordsremover
StopWordsRemover
es un transformador que elimina las palabras de detención de una secuencia de cadenas, filtrando las palabras comunes que no tienen un significado significativo. Toma como entrada una secuencia de cadenas (como la salida de un token) y elimina todas las palabras de detención especificadas por el parámetro stopWords
.
Esta transformación es útil para el preprocesamiento de datos de texto, ya que mejora la eficacia de los modelos de aprendizaje automático posteriores al eliminar palabras que no contribuyen mucho al significado general.
Tipos de datos
- Tipo de datos de entrada: Matriz[Cadena]
- Tipo de datos de salida: Array[String]
Definición
TRANSFORM(stop_words_remover(raw) as filtered)
Parámetros
stopWords
Ejemplo de transformación
Este ejemplo muestra cómo StopWordsRemover
filtra las palabras de detención en inglés comunes de una lista de tokens.
TRANSFORM(stop_words_remover(raw) as filtered)
Ejemplo antes y después de detener la eliminación de palabras
Ejemplo con palabras de detención personalizadas
En este ejemplo se muestra cómo utilizar una lista personalizada de palabras de detención para filtrar palabras específicas de las secuencias de entrada.
TRANSFORM(stop_words_remover(raw, array("red", "I", "had")) as filtered)
Ejemplo antes y después de la eliminación de palabras de detención personalizadas
TF-IDF tf-idf
TF-IDF
(Frecuencia de término-Frecuencia de documento inversa) es un transformador que se utiliza para medir la importancia de una palabra dentro de un documento en relación con un corpus. La frecuencia de término (TF) se refiere al número de veces que aparece un término (t) en un documento (d), mientras que la frecuencia de documento (DF) mide cuántos documentos del cuerpo (D) contienen el término (t). Este método se utiliza ampliamente en la minería de texto para reducir la influencia de palabras comunes, como "a", "the" y "of", que contienen poca información única.
Esta transformación es especialmente valiosa en las tareas de minería de texto y procesamiento de lenguajes naturales, ya que asigna un valor numérico a la importancia de cada palabra dentro de un documento y en todo el corpus.
Tipos de datos
- Tipo de datos de entrada: Matriz[Cadena]
- Tipo de datos de salida: Vector[Int]
Definición
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()
Parámetros
NUM_FEATURES
MIN_DOC_FREQ
Ejemplo de transformación
En este ejemplo se muestra cómo utilizar TF-IDF para transformar frases con símbolo de token en un vector de características que representa la importancia de cada término en el contexto de todo el cuerpo.
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()
Tokenizador tokenizer
Tokenizer
es un transformador que desglosa texto, como una oración, en términos individuales, normalmente palabras. Convierte frases en matrices de tokens, proporcionando un paso fundamental en el preprocesamiento de texto que prepara los datos para un análisis de texto o procesos de modelado adicionales.
Tipos de datos
- Tipo de datos de entrada: frase textual
- Tipo de datos de salida: Array[String]
Definición
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()
Parámetros
Tokenizer
no requiere ningún parámetro adicional para su funcionamiento.Ejemplo de transformación
En este ejemplo se muestra cómo Tokenizer
desglosa las frases en palabras individuales (tokens) como parte de una canalización de procesamiento de texto.
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
es un estimador que procesa secuencias de palabras que representan documentos y entrena a Word2VecModel
. Este modelo asigna cada palabra a un vector de tamaño fijo único y transforma cada documento en un vector promediando los vectores de todas las palabras del documento. Ampliamente utilizado en tareas de procesamiento de lenguaje natural, Word2Vec
crea incrustaciones de palabras que capturan el significado semántico, convirtiendo los datos de texto en vectores numéricos que representan las relaciones entre las palabras y permitiendo un análisis de texto más efectivo y modelos de aprendizaje automático.
Tipos de datos
- Tipo de datos de entrada: Matriz[Cadena]
- Tipo de datos de salida: Vector[Double]
Definición
TRANSFORM(tokenizer(review) as tokenized, word2Vec(tokenized, 10, 1) as word2Vec)
Parámetros
VECTOR_SIZE
MIN_COUNT
Word2Vec
.Ejemplo de transformación
Este ejemplo muestra cómo Word2Vec
convierte una revisión con token en un vector de tamaño fijo que representa el promedio de los vectores de palabras del documento.
TRANSFORM(tokenizer(review) as tokenized, word2Vec(tokenized, 10, 1) as word2Vec)
Ejemplo antes y después de la transformación de Word2Vec