Я хочу знать, можно ли использовать пакет text2vec для классификации с несколькими метками, например BinaryRelevance Python в skmultilearn.problem_transform. В настоящее время я имею в виду конвейер, задокументированный по адресу: http://text2vec.org/vectorization.html
использование text2vec для многоуровневой классификации
Ответы (1)
Вы можете использовать text2vec для создания матрицы терминов документа (dtm). Для создания dtm вы можете использовать http://text2vec.org/vectorization.html. Когда ваша матрица dtm будет готова, вы можете использовать ее для классификации по нескольким меткам. Для классификации модель xgboost является одной из хороших моделей, которая обсуждается в https://rpubs.com/mharris/multiclass_xgboost.
library(xgboost)
# dtm_train is the training matrix obtained by text2vec
# dtm_test is the testing matrix obtained by text2vec
# label_train is labels for dtm_trian; should be factors
# label_train <- factor(label_train, labels = classes)
nclass <- 3 # how many classes you have
param <- list("objective" = "multi:softmax", # multi class classification
"num_class"= nclass , # Number of classes
"eval_metric" = "mlogloss", # evaluation metric
"nthread" = 8, # number of threads to be used
"max_depth" = 16, # maximum depth of tree
"eta" = 0.3, # step size shrinkage
"gamma" = 0, # minimum loss reduction
"subsample" = 0.7, # part of data instances
"colsample_bytree" = 1, # subsample ratio
"min_child_weight" = 12 # minimum sum of instance weight
)
bst = xgboost(
param=param,
data =as.matrix(dtm_train),
label = label_training,
nrounds=200)
# Make prediction on the testing data.
pred <- predict(bst, as.matrix(dtm_test))
Надеюсь поможет.
Пожалуйста, дайте мне знать, если вам нужно дополнительное объяснение.
person
Sam S
schedule
29.10.2018
mlr
, который предоставляет многоуровневую оболочку для классификаторов. - person TMrtSmith   schedule 05.04.2019