我有一个包含许多二元预测变量和二元结果的数据集。我正在尝试使用逻辑回归来预测结果并使用插入包。
由于某种原因,训练后我的模型不会产生结果,但完成没有任何错误。但是,当我使用交叉验证进行训练时,我得到了结果。
> Model = train(success ~ . - contestid - index - tags, data = p.train,
+ method = "glm",
+ family = binomial(link = "logit"),
+ trControl = trainControl(method = "none"));
Warning message:
glm.fit: fitted probabilities numerically 0 or 1 occurred
> Model$results
[1] Accuracy Kappa parameter
<0 rows> (or 0-length row.names)
使用交叉验证:
> Model = train(success ~ . - contestid - index - tags, data = p.train,
+ method = "glm",
+ family = binomial(link = "logit"),
+ trControl = trainControl(method = "cv"));
There were 22 warnings (use warnings() to see them)
> Model$results
parameter Accuracy Kappa AccuracySD KappaSD
1 none 0.8 0.4208333 0.1972027 0.460482
> Model$resample
Accuracy Kappa Resample
1 0.75 0.5000000 Fold01
2 0.50 0.2000000 Fold02
3 1.00 1.0000000 Fold03
4 0.75 0.5000000 Fold04
5 1.00 1.0000000 Fold05
6 1.00 NA Fold06
7 0.75 0.5000000 Fold07
8 0.75 0.0000000 Fold08
9 0.50 -0.3333333 Fold09
10 1.00 NA Fold10
关于拟合概率的所有警告都是相同的,因为我的数据允许完美分离。但是,这并不妨碍cv训练产生结果。
第一种情况下缺少结果可能是什么原因?
由于