categoricalHash: transformación de HashData de categoría de Machine Learning
Transformación de hash de categoría que se puede realizar en los datos antes de entrenar un modelo.
Uso
categoricalHash(vars, hashBits = 16, seed = 314489979, ordered = TRUE,
invertHash = 0, outputKind = "Bag", ...)
Argumentos
vars
Vector de caracteres o lista de nombres de variables que se transformarán. Si tiene nombre, los nombres representan los nombres de las nuevas variables que se crearán.
hashBits
Entero que especifica el número de bits en los que se aplica un código hash. Debe estar entre 1 y 30, ambos inclusive. El valor predeterminado es 16.
seed
Entero que especifica la inicialización de hash. El valor predeterminado es 314489979.
ordered
TRUE
para incluir la posición de cada término en el hash. En caso contrario, es FALSE
. El valor predeterminado es TRUE
.
invertHash
Entero que especifica el límite en el número de claves que se pueden usar para generar el nombre de la ranura. 0
significa que no se invierte el hash, -1
que no hay límite. Aunque un valor cero proporciona un mejor rendimiento, se necesita un valor distinto de cero para obtener nombres de coeficiente significativos. El valor predeterminado es 0
.
outputKind
Cadena de caracteres que especifica el tipo de salida.
"ind"
: genera un vector de indicador. La columna de entrada es un vector de categorías y la salida contiene un vector de indicador por cada ranura en la columna de entrada."bag"
: genera un vector de conjunto múltiple. Si la columna de entrada es un vector de categorías, la salida contiene un vector, donde el valor de cada ranura es el número de apariciones de la categoría en el vector de entrada. Si la columna de entrada contiene una sola categoría, el vector de indicador y el vector de bolsa son equivalentes"key"
: genera un índice. La salida es un identificador entero (entre 1 y el número de categorías del diccionario) de la categoría.
El valor predeterminado es"Bag"
.
...
Argumentos adicionales que se envían al motor de proceso.
Detalles
categoricalHash
convierte un valor de categoría en una matriz indicadora al crear un hash a partir del valor y usarlo como un índice en la bolsa. Si la columna de entrada es un vector, se le devuelve una única bolsa de indicadores.
Actualmente, categoricalHash
no admite el control de datos de factor.
Value
un objeto maml
que define la transformación.
Autor(es)
Microsoft Corporation Microsoft Technical Support
Consulte también
rxFastTrees, rxFastForest, rxNeuralNet, rxOneClassSvm, rxLogisticRegression.
Ejemplos
trainReviews <- data.frame(review = c(
"This is great",
"I hate it",
"Love it",
"Do not like it",
"Really like it",
"I hate it",
"I like it a lot",
"I kind of hate it",
"I do like it",
"I really hate it",
"It is very good",
"I hate it a bunch",
"I love it a bunch",
"I hate it",
"I like it very much",
"I hate it very much.",
"I really do love it",
"I really do hate it",
"Love it!",
"Hate it!",
"I love it",
"I hate it",
"I love it",
"I hate it",
"I love it"),
like = c(TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE), stringsAsFactors = FALSE
)
testReviews <- data.frame(review = c(
"This is great",
"I hate it",
"Love it",
"Really like it",
"I hate it",
"I like it a lot",
"I love it",
"I do like it",
"I really hate it",
"I love it"), stringsAsFactors = FALSE)
# Use a categorical hash transform
outModel2 <- rxLogisticRegression(like~reviewCatHash, data = trainReviews,
mlTransforms = list(categoricalHash(vars = c(reviewCatHash = "review"))))
# Weights are similar to categorical
summary(outModel2)
# Use the model to score
scoreOutDF2 <- rxPredict(outModel2, data = testReviews,
extraVarsToWrite = "review")
scoreOutDF2