Проблема: используйте модель logisti c для измерения точности. Сделать вектор пороговых значений от 0,1 до 0,9. Затем примените функцию точности к каждому из пороговых значений (от 0,1 до 0,9). Содержит результаты, содержащиеся в векторе, для хранения оценки приблизительной точности из модели.
Необходимо определить, как измерять каждое пороговое значение и иметь сумму (diag () / sum) ... вычислить точность.
Кодовое усилие, которое проходит каждое пороговое значение от 0,1 до 0,9:
measure_accuracy.func <- function(p, thresholds){
t_positive <- cut(p, breaks=c(-Inf, thresholds, Inf), labels=c("Negative", "Positive"))
cTab <- table(p, t_positive)
addmargins(cTab)
acc <- sum(diag(cTab)) / sum(cTab)
return(acc)
}
measure_prop_predicted.func <- function(p, values, accuracy) {
for(i in 1:length(values)) {
accuracy[i] = measure_accuracy.func(p, values[i])
print(paste0('Proportion correctly predicted = ', accuracy[i]))
}
}
estimated_accuracy <- vector(length=length(threshold.values))
threshold_values = seq(0.1,0.9, by=0.1)
measure_prop_predicted.func(predict, threshold_values, estimated_accuracy)
Текущие выходные результаты (с ошибкой): код R имеет только одно значение пропорции, поэтому l oop, вероятно, источник неверен.
> measure_prop_predicted.func(loans_predict, threshold_values, estimated_accuracy)
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
[1] "Proportion correctly predicted = 3.84941104011086e-05"
>
Данные для прогноза: measure_prop_predicted.fun c (прогноз):
head(loans_predict, 15)
11413 2561 25337 1643 14264 24191 33989
0.8370904 NA 0.8362426 0.7708796 0.7292882 0.8011450 0.8970155
28193 21129 7895 29007 26622 3065 11423
0.8359592 0.8701364 0.8657548 0.7707655 0.7777894 0.9308293 0.8450113
3953
0.9456758
Данные для порогового вектора:
threshold_values
[1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
>