R десятичные дроби не суммируют до 1 (вычисление веса ансамбля)
Я пытаюсь создать экспоненциально взвешенные ансамбли, используя оценки AUC. Цель состоит в том, чтобы получить всю сумму экспоненциального веса до 1. Список сгенерированных мной результатов AUC:
auc <- c(0.7624542, 0.7622197, 0.7607315, 0.7603859, 0.7603311, 0.7572016, 0.7372729,
0.5134265, 0.5023572, 0.5020811)
Создание скаляра:
scalar <- 1/(exp(1*auc[1]) + exp(0.9*auc[2]) +exp(0.8*auc[3]) + exp(0.7*auc[4])
+ exp(0.6*auc[5]) + exp(0.5*auc[6]) + exp(0.4*auc[7]) + exp(0.3*auc[8]) + exp(0.2*auc[9])
+ exp(0.1*auc[10]))
Создание весов по баллам AUC
weight<- c(scalar*exp(1*auc[1]) ,scalar*exp(0.9*auc[2])
,scalar*exp(0.8*auc[3]),scalar*exp(0.7*auc[4])
,scalar*exp(0.6*auc[5]) ,scalar*exp(0.5*auc[6]),scalar*exp(0.4*auc[7]) ,
scalar*exp(0.3*auc[8]) ,scalar*exp(0.2*auc[9])
,scalar*exp(0.1*auc[10] ))
sum(weight)
В конце концов sum(weight)
должен быть равен 1, но я продолжаю получать 0,9348756.
Любая помощь будет оценена!