We can run CV.SuperLearner with innerCvControl = list(list(V = vi)) where vi >> nrow(X) without trouble (it just becomes leave-one-out). Similarly, in SuperLearner we can set cvControl = list(V = vi) where vi >> nrow(X). I think this is a great feature.
However, if in CV.SuperLearner we set cvControl = list(list(V = vi)) with vi > nrow(X) it fails at the very end. I understand why this happens, but instead of erroring at the end it could, somewhere at the top of the function:
Set vi = min(vi, nrow(X))
Give a warning if the control list has been modified.
And it might be appropriate to document it in the help of SuperLearner and CV.SuperLearner.
We can run
CV.SuperLearner
withinnerCvControl = list(list(V = vi))
wherevi >> nrow(X)
without trouble (it just becomes leave-one-out). Similarly, inSuperLearner
we can setcvControl = list(V = vi)
wherevi >> nrow(X)
. I think this is a great feature.However, if in
CV.SuperLearner
we setcvControl = list(list(V = vi))
withvi > nrow(X)
it fails at the very end. I understand why this happens, but instead of erroring at the end it could, somewhere at the top of the function:vi = min(vi, nrow(X))
And it might be appropriate to document it in the help of
SuperLearner
andCV.SuperLearner
.I can submit a PR if deemed appropriate.