Share via


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