selectFeatures: Transformation de sélection des caractéristiques de Machine Learning
La transformation de sélection de caractéristiques sélectionne des caractéristiques à partir des variables spécifiées à l’aide du mode spécifié.
Utilisation
selectFeatures(vars, mode, ...)
Arguments
vars
Une formule ou un vecteur/une liste de chaînes spécifiant le nom des variables sur lesquelles la sélection de caractéristiques est effectuée, si le mode est minCount(). Par exemple : ~ var1 + var2 + var3
. Si le mode est mutualInformation(), une formule ou une liste nommée de chaînes décrivant la variable dépendante et les variables indépendantes. Par exemple : label ~ ``var1 + var2 + var3
.
mode
Spécifie le mode de sélection des caractéristiques. Cela peut être minCount ou mutualInformation.
...
Arguments supplémentaires à passer directement au moteur de calcul Microsoft.
Détails
La transformation de sélection de caractéristiques sélectionne des caractéristiques à partir des variables spécifiées à l’aide de l’un des deux modes suivants : dénombrement ou informations mutuelles. Pour plus d’informations, consultez minCount et mutualInformation.
Valeur
Un objet maml
définissant la transformation.
Voir aussi
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 which generated 128 features.
outModel1 <- rxLogisticRegression(like~reviewCatHash, data = trainReviews, l1Weight = 0,
mlTransforms = list(categoricalHash(vars = c(reviewCatHash = "review"), hashBits = 7)))
summary(outModel1)
# Apply a categorical hash transform and a count feature selection transform
# which selects only those hash slots that has value.
outModel2 <- rxLogisticRegression(like~reviewCatHash, data = trainReviews, l1Weight = 0,
mlTransforms = list(
categoricalHash(vars = c(reviewCatHash = "review"), hashBits = 7),
selectFeatures("reviewCatHash", mode = minCount())))
summary(outModel2)
# Apply a categorical hash transform and a mutual information feature selection transform
# which selects only 10 features with largest mutual information with the label.
outModel3 <- rxLogisticRegression(like~reviewCatHash, data = trainReviews, l1Weight = 0,
mlTransforms = list(
categoricalHash(vars = c(reviewCatHash = "review"), hashBits = 7),
selectFeatures(like ~ reviewCatHash, mode = mutualInformation(numFeaturesToKeep = 10))))
summary(outModel3)