Hadley Wickham proposed, dass es möglich sein könnte Bootstrap mit dplyr
Paket, seinen Vorschlag was improved und dann implemented in broom
package durchzuführen. Wäre es auch möglich, eine k-fache Kreuzvalidierung durchzuführen?k-fache Kreuzvalidierung in dplyr?
Ich denke, dass der erste Schritt (Auswahl der Zug Gruppe) ist sehr einfach:
crossvalidate <- function (df, k = 5) {
n <- nrow(df)
idx <- sample(rep_len(1:k, n))
attr(df, "indices") <- lapply(1:k, function(i) which(idx != i))
attr(df, "drop") <- TRUE
attr(df, "group_sizes") <- nrow(df) - unclass(table(idx))
attr(df, "biggest_group_size") <- max(attr(df, "group_sizes"))
attr(df, "labels") <- data.frame(replicate = 1:k)
attr(df, "vars") <- list(quote(replicate))
class(df) <- c("grouped_df", "tbl_df", "tbl", "data.frame")
df
}
Aber irgendwie kann ich nicht immer und überall Dokumentation von attr(, "indices")
zu lernen finden, wenn es irgendwie möglich ist, Indizes zu verwenden "Andere, dass" diejenigen ausgewählt für die Auswahl der Gruppe Gruppenindizes. Hast du eine Idee?
Sie sollten auf einen Blick [ 'modelr'] (https://github.com/hadley/ Modeller), Hadleys Paket mit einer 'crossv_kfold'-Funktion. – Axeman