Как получить матрицу F1, точность, отзыв и путаницу - PullRequest
1 голос
/ 08 апреля 2020

цель моего проекта - предсказать уровень точности некоторых текстовых описаний.

Я сделал векторы с помощью FASTTEXT.

Вывод TSV:

 label lenght
1     0   1:43
2     0   1:10
3     0    1:8
4     0  1:110
5     1  1:105
6     0  1:446

Затем я обрабатываю файлы .tsv с помощью библиотеки e1071 с помощью этого сценария:


library (e1071)

accuracy.model = read.table(file = 'file.tsv', sep = '\t', header = FALSE, col.names= c( "label", "lenght" ))

head(accuracy.model)

classifier = svm( formula = label ~ .,
                  data = accuracy.model,
                  type = 'C-classification',
                  kernel = 'radial',
                  cost = 32,
                  gamma = 8,
                  cross  = 10)

classifier

Выполнение перекрестной проверки (в 10 раз) Я могу получить общий процент точности.

Я хотел бы также получить оценку F1, точность и значение отзыва.

Для матрицы путаницы я просмотрел несколько других потоков стека и понял, что это нужно сделать с помощью библиотеки карет, но я не знаю, как это сделать.

Предложения?

С уважением

1 Ответ

1 голос
/ 08 апреля 2020

Допустим, мы подходим к модели, подобной этой:

library(caret)
library(e1071)
data=iris
data$Species = ifelse(data$Species=="versicolor","v","o")

classifier = svm( formula = Species ~ .,
                  data = data,
                  type = 'C-classification',
                  kernel = 'radial',
                  cost = 32,
                  gamma = 8,
                  cross  = 10)

Затем мы получаем матрицу путаницы:

mat = table(classifier$fitted,data$Species)

И применяем функцию каретки:

confusionMatrix(mat)$byClass

         Sensitivity          Specificity       Pos Pred Value 
           1.0000000            1.0000000            1.0000000 
      Neg Pred Value            Precision               Recall 
           1.0000000            1.0000000            1.0000000 
                  F1           Prevalence       Detection Rate 
           1.0000000            0.6666667            0.6666667 
Detection Prevalence    Balanced Accuracy 
           0.6666667            1.0000000 

Вы можете применить его в вашем случае.

...