Modelowanie klasyfikacyjne

Wprowadzenie do przetwarzania języka naturalnego w R

Kasey Jones

Research Data Scientist

Podsumowanie kroków

  1. Czyszczenie/przygotowanie danych

    • Filtrowanie do zdań Boxera/Napoleona
    • Utworzenie oczyszczonych tokenów słów
    • Utworzenie macierzy dokumentów-terminów z ważeniem TFIDF
  2. Utworzenie zbiorów treningowego i testowego

  3. Trenowanie modelu na zbiorze treningowym
  4. Raportowanie dokładności na zbiorze testowym
Wprowadzenie do przetwarzania języka naturalnego w R

Krok 2: podział danych

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, ]
Wprowadzenie do przetwarzania języka naturalnego w R

Modele lasów losowych

Wprowadzenie do przetwarzania języka naturalnego w R

Przykład klasyfikacji

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
Wprowadzenie do przetwarzania języka naturalnego w R

Macierz pomyłek

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

Dokładność: (37 + 55) / (37 + 20 + 8 + 55) = 76%

Wprowadzenie do przetwarzania języka naturalnego w R

Predykcje na zbiorze testowym

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
  • Dokładność dla boxera: 14/18
  • Dokładność dla napoleona: 10/12
  • Ogólna dokładność: 24/30 = 80%
Wprowadzenie do przetwarzania języka naturalnego w R

Ćwiczenia z klasyfikacji

Wprowadzenie do przetwarzania języka naturalnego w R

Preparing Video For Download...