categoricalHash : transformation de HashData catégorique d’apprentissage automatique
Transformation de hachage catégorique qui peut être effectuée sur les données avant d’effectuer l’apprentissage d’un modèle.
Utilisation
categoricalHash(vars, hashBits = 16, seed = 314489979, ordered = TRUE,
invertHash = 0, outputKind = "Bag", ...)
Arguments
vars
Vecteur de caractères ou liste de noms de variables à transformer. Si une dénomination est utilisée, les noms représentent les noms des nouvelles variables à créer.
hashBits
Entier indiquant le nombre de bits à hacher. Doit être compris entre 1 et 30 inclus. La valeur par défaut est 16.
seed
Entier indiquant la valeur initiale de hachage. La valeur par défaut est 314489979.
ordered
TRUE
pour inclure la position de chaque terme dans le hachage. Sinon, FALSE
. La valeur par défaut est TRUE
.
invertHash
Entier indiquant la limite du nombre de clés permettant de générer le nom de l’emplacement. 0
signifie aucun hachage inversé ; -1
signifie aucune limite. Bien qu’une valeur nulle produise de meilleures performances, une valeur différente de zéro est nécessaire pour obtenir des noms de coefficients significatifs. La valeur par défaut est 0
.
outputKind
Chaîne de caractères indiquant le type de sortie.
"ind"
: génère un vecteur d’indicateur. La colonne d’entrée est un vecteur de catégories et la sortie contient un vecteur d’indicateur par emplacement dans la colonne d’entrée."bag"
: génère un vecteur à plusieurs ensembles. Si la colonne d’entrée est un vecteur de catégories, la sortie contient un vecteur dans lequel la valeur de chaque emplacement correspond au nombre d’occurrences de la catégorie dans le vecteur d’entrée. Si la colonne d’entrée contient une seule catégorie, le vecteur d’indicateur et le vecteur de conteneur sont équivalents."key"
: génère un index. La sortie est un ID d'entier (entre 1 et le nombre de catégories contenues dans le dictionnaire) de la catégorie.
La valeur par défaut est"Bag"
.
...
Arguments supplémentaires envoyés au moteur de calcul.
Détails
categoricalHash
convertit une valeur catégorique en tableau d’indicateurs en hachant la valeur et en utilisant le hachage comme index dans le conteneur. Si la colonne d’entrée est un vecteur, un seul conteneur d’indicateurs est retourné pour celle-ci.
categoricalHash
ne prend pas actuellement en charge la gestion des données de facteur.
Valeur
Un objet maml
définissant la transformation.
Auteur(s)
Microsoft Corporation Microsoft Technical Support
Voir aussi
rxFastTrees, rxFastForest, rxNeuralNet, rxOneClassSvm, rxLogisticRegression.
Exemples
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