Если мы go по вики-определению оценки Бриера:
Наиболее распространенная формулировка оценки Бриера:
где f_t - это прогнозируемая вероятность, o_t - фактический результат (0 или 1), а N - количество экземпляров прогнозирования.
В R, если ваша метка является фактором, тогда регрессия logisti c всегда будет прогнозироваться относительно 2-го уровня, то есть вы просто вычисляете вероятность и 0/1 относительно нее. Например:
library(caret)
idx = sample(nrow(iris),100)
data = iris
data$Species = factor(ifelse(data$Species=="versicolor","v","o"))
levels(data$Species)
[1] "o" "v"
В этом случае o равно 0, а v равно 1.
train_data = data[idx,]
test_data = data[-idx,]
model <- train(Species ~.,data = train_data,family = "binomial",method = "glmnet")
pred <- predict(model, newdata = test_data)
Таким образом, мы можем увидеть вероятность класса:
head(pred)
o v
1 0.8367885 0.16321154
2 0.7970508 0.20294924
3 0.6383656 0.36163437
4 0.9510763 0.04892370
5 0.9370721 0.06292789
Для подсчета очков:
f_t = pred[,2]
o_t = as.numeric(test_data$Species)-1
mean((f_t - o_t)^2)
[1] 0.32