Отсутствующие значения в матрице путаницы в дереве решений в R - PullRequest
0 голосов
/ 22 января 2020

У меня проблема с построением матрицы путаницы с использованием метода дерева решений. Набор данных крайне несбалансирован, и население третьей метки («C») составляет около 1%.

Я понятия не имею, почему результаты прогнозирования C равны нулю (0).

# load the package
install.packages('rpart')
library(rpart)
library(caret)
# load data
data<-read.csv("Drisk0122_01.csv", header=TRUE)
data<-data[ , c(3:43)]
data$Class<-factor(data$Class, levels = c(1,2, 3), labels=c("A", "B", "C"))

set.seed(42)
training.samples <- createDataPartition(y=data$Class, p = 0.7, list = FALSE)
training.samples

train  <- data[training.samples, ]
test <- data[-training.samples, ]

############tree
install.packages("tree")
library(tree)
treemod<-tree(Class~. , data=train)
plot(treemod)
text(treemod)

cv.trees<-cv.tree(treemod, FUN=prune.misclass ) # for classification decision tree
plot(cv.trees)

prune.trees <- prune.misclass(treemod, best=4)  # for regression decision tree, use prune.tree function
plot(prune.trees)
text(prune.trees, pretty=0)


library(e1071)
treepred <- predict(prune.trees, test, type='class')
confusionMatrix(treepred, test$Class)

Результаты следующие:

confusionMatrix (treepred, test $ Class) Матрица и статистика путаницы

      Reference

Прогноз AB C A 2324 360 28 B 211 427 3 C 0 0 0

Общая статистика

           Accuracy : 0.8205         
             95% CI : (0.807, 0.8333)
No Information Rate : 0.756          
P-Value [Acc > NIR] : < 2.2e-16      

              Kappa : 0.4775         

P-значение теста Макнемара: 4.526e-15

* тысяча двадцать-одна * Статистика по классу:
                 Class: A Class: B Class: C

Чувствительность 0,9168 0,5426 0,000000 Специфичность 0,5257 0,9166 1,000000 Поз Pred Значение 0,8569 0,6661 NaN отр Pred Значение 0,6708 0,8673 0,990755 Распространенность 0,7560 0,2347 0,009245 Обнаружение Скорость 0,6931 0,1273 0,000000 Обнаружение Распространенность 0,8088 0,1912 0,000000 Сбалансированная точность 0,7212 0,7296 0,500000

Изображение результатов можно найти здесь

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