Compartilhar via


selectFeatures: transformação de seleção de recursos do modo do Machine Learning

A transformação de seleção de recursos seleciona recursos das variáveis especificadas usando o modo especificado.

Uso

  selectFeatures(vars, mode, ...)

Argumentos

vars

Uma fórmula ou um vetor/lista de cadeias de caracteres que especificam o nome das variáveis nas quais a seleção de recursos será executada, se o modo for minCount(). Por exemplo, ~ var1 + var2 + var3. Se o modo for mutualInformation(), uma fórmula ou uma lista nomeada de cadeias de caracteres que descrevem a variável dependente e as variáveis independentes. Por exemplo, label ~ ``var1 + var2 + var3.

mode

Especifica o modo de seleção de recursos. Pode ser minCount ou mutualInformation.

...

Argumentos adicionais a serem passados diretamente para o Microsoft Compute Engine.

Detalhes

A transformação seleção de recursos seleciona recursos das variáveis especificadas usando um dos dois modos: contagem ou informações mútuas. Para saber mais, confira minCount e mutualInformation.

Valor

Um objeto maml que define a transformação.

Confira também

minCount mutualInformation

Exemplos


 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)