Я обучил биномиальную модель, используя glm(Xtrain, ytrain, formula='cbind(Response, n - Response) ~ features', family='binomial')
, где ytrain - это матрица ответов со столбцами counts (да), counts (нет).
Тестовые ответы, которые я представил, представлены в той же форме матрицы ответов. Однако функция предсказать () возвращает вероятности - по одной для каждой строки обучающих данных. Теперь я хочу использовать пакет ROCR или AUC для создания кривых AUC, но мои прогнозы и наблюдения представлены в разных форматах. Кто-нибудь знает как это сделать?
OK. Добавляем пример. Простите, что это бессмысленно / неполноценно / мало, я хочу только проиллюстрировать свой случай.
plants <- c('Cactus', 'Tree', 'Cactus', 'Tree', 'Flower', 'Tree', 'Tree')
sun <- c('Full', 'Half', 'Half', 'Full', 'Full', 'Half', 'Full')
water <- c('N', 'Y', 'Y', 'N', 'Y', 'N', 'N')
died <- c(10, 10, 8, 2, 15, 20, 12)
didntdie <- c(2, 10, 8, 20, 10, 10, 10)
df <- data.frame(died, didntdie, plants, sun, water)
dftrain <- head(df, 5)
dftest <- tail(df, 2)
model <- glm("cbind(died, didntdie) ~ plants + sun + water", data=dftrain, family="binomial")
На этом этапе predict(model, dftest)
возвращает логарифмические шансы (дающие вероятность смерти) для последних двух наборов функций в моем фреймворке данных. Теперь я хочу вычислить кривую AUC. Мои наблюдения в dftest[c('died','didntdie')]
. Мои прогнозы по сути являются вероятностями. AUC, ROCR и т. Д. Ожидают, что и прогнозы, и наблюдения будут списком ответов Бернулли. Я не могу найти документацию о том, как использовать эту матрицу ответов. Любая помощь приветствуется.
Xtrain
? Функцияglm()
по умолчанию не имеет параметраeqtn=
. С чем вы сравниваете вероятности? Как именно вы хотите рассчитать ROC с этими данными? - person MrFlick   schedule 08.06.2016