использование text2vec для классификации нескольких меток - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу знать, можно ли использовать пакет text2vec для классификации нескольких меток, например, BinaryRelevance в python в skmultilearn.problem_transform. Я сейчас ссылаюсь на конвейер, задокументированный по адресу: http://text2vec.org/vectorization.html

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете использовать text2vec для создания документа term-matrix (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))

Надеюсь, поможет.

Пожалуйста, дайте мне знать, если вам нужно дополнительное объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...