У вас высокий AI C и дельта AI C, потому что у вас много наблюдений.
AI C полезно только при сравнении моделей для одного и того же набора данных. Сам по себе AI C ничего не значит. Формула для AI C (начиная с wiki ):
2k - 2log (logLikelihood of Model), где k - количество предполагаемых параметров.
Таким образом, чем больше у вас наблюдений, тем больше logLik модели. Например (ниже отклонения -2 * logLik):
data = iris
data$Species = factor(ifelse(data$Species=="versicolor","v","o"))
fit_full = glm(Species ~ .,data=data,family="binomial")
summary(fit_full)[c("aic","deviance")]
$aic
[1] 155.0697
$deviance
[1] 145.0697
Мы подходим к подсети 50:
fit_50 = glm(Species ~ .,data[sample(nrow(data),50),],family="binomial")
summary(fit_50)[c("aic","deviance")]
$aic
[1] 106.369
$deviance
[1] 96.36902
Один из способов проверить это - сделать анову, anova(fit_full,test="Chisq")
, чтобы проверить, сильно ли влияет любая из ваших независимых переменных. Еще одна вещь, которую вы можете сделать, это посмотреть, правильно ли вы предсказываете метки:
pred_labels = ifelse(predict(fit_full,type="response")>0.5,"v","o")
confusionMatrix(table(pred_labels,data$Species))$overall
Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
0.7400000 0.3809524 0.6621433 0.8081242 0.6666667
AccuracyPValue McnemarPValue
0.0325328 0.1093146