Modelare prin clasificare

Introducere în Prelucrarea Limbajului Natural în R

Kasey Jones

Research Data Scientist

Recapitularea pașilor

  1. Curățare/pregătire date

    • Filtrare la propoziții Boxer/Napoleon
    • Tokenizare și curățare cuvinte
    • Matrice document-termen cu ponderare TFIDF
  2. Creare seturi de antrenare și testare

  3. Antrenare model pe setul de antrenare
  4. Raportare acuratețe pe setul de testare
Introducere în Prelucrarea Limbajului Natural în R

Pasul 2: împărțirea datelor

set.seed(1111)
sample_size <- floor(0.80 * nrow(animal_matrix))
train_ind <- sample(nrow(animal_matrix), size = sample_size)
train <- animal_matrix[train_ind, ]
test <- animal_matrix[-train_ind, ]
Introducere în Prelucrarea Limbajului Natural în R

Modele de tip Random Forest

Introducere în Prelucrarea Limbajului Natural în R

Exemplu de clasificare

library(randomForest)
rfc <- randomForest(x = as.data.frame(as.matrix(train)), 
                    y = animal_sentences$Name[train_ind], nTree = 50)
rfc
Call:
 randomForest(...
        OOB estimate of  error rate: 23.33%
Confusion matrix:
         boxer napoleon class.error
boxer       37       20   0.3508772
napoleon     8       55   0.1269841
Introducere în Prelucrarea Limbajului Natural în R

Matricea de confuzie

Call:
 randomForest(...
        OOB estimate of  error rate: 23.33%
Confusion matrix:
         boxer napoleon class.error
boxer       37       20   0.3508772
napoleon     8       55   0.1269841

Acuratețe: (37 + 55) / (37 + 20 + 8 + 55) = 76%

Introducere în Prelucrarea Limbajului Natural în R

Predicții pe setul de testare

y_pred <- predict(rfc, newdata = as.data.frame(as.matrix(test)))
table(animal_sentences[-train_ind, ]$Name, y_pred)
          y_pred
           boxer napoleon
  boxer       14        4
  napoleon     2       10
  • Acuratețe pentru boxer: 14/18
  • Acuratețe pentru napoleon: 10/12
  • Acuratețe globală: 24/30 = 80%
Introducere în Prelucrarea Limbajului Natural în R

Practică: clasificare

Introducere în Prelucrarea Limbajului Natural în R

Preparing Video For Download...