Я хотел бы создать матрицы путаницы для полиномиальной логистической регрессии, а также модели пропорциональных шансов, но я застрял на реализации в R. Моя попытка ниже, похоже, не дает желаемого результата.
Это мой код на данный момент:
CH <- read.table("http://data.princeton.edu/wws509/datasets/copen.dat", header=TRUE)
CH$housing <- factor(CH$housing)
CH$influence <- factor(CH$influence)
CH$satisfaction <- factor(CH$satisfaction)
CH$contact <- factor(CH$contact)
CH$satisfaction <- factor(CH$satisfaction,levels=c("low","medium","high"))
CH$housing <- factor(CH$housing,levels=c("tower","apartments","atrium","terraced"))
CH$influence <- factor(CH$influence,levels=c("low","medium","high"))
CH$contact <- relevel(CH$contact,ref=2)
model <- multinom(satisfaction ~ housing + influence + contact, weights=n, data=CH)
summary(model)
preds <- predict(model)
table(preds,CH$satisfaction)
omodel <- polr(satisfaction ~ housing + influence + contact, weights=n, data=CH, Hess=TRUE)
preds2 <- predict(omodel)
table(preds2,CH$satisfaction)
Я был бы очень признателен за советы о том, как правильно создавать матрицы путаницы для моих двух моделей!
table(preds,CH$satisfaction)
дает вам матрицу путаницы. Если вам нужна дополнительная статистика для ваших прогнозов, вы можете использовать функциюconfusionMatrix
из пакетаcaret
. - person AntoniosK   schedule 30.01.2018n
. В этом случае каждая строка представляет собой наблюдение, а не набор наблюдений. Вы можете создать этот измененный набор данных следующим образом:CH %>% rowwise() %>% mutate(id = list(seq(1:n))) %>% unnest(id) %>% select(-n)
и построить модель, используя его. - person AntoniosK   schedule 30.01.2018