как использовать модель logisti c для измерения точности в каждом диапазоне пороговых значений - PullRequest
0 голосов
/ 07 апреля 2020

Проблема: используйте модель 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
> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...