Was bedeutet KFold in python genau tun?
Ich freue mich auf dieses tutorial: https://www.dataquest.io/mission/74/getting-started-with-kaggle
Hab ich Teil 9, Vorhersagen. Dort gibt es einige Daten in einem dataframe namens titanic, das ist dann aufgeteilt in Falten Verwendung:
# Generate cross validation folds for the titanic dataset. It return the row indices corresponding to train and test.
# We set random_state to ensure we get the same splits every time we run this.
kf = KFold(titanic.shape[0], n_folds=3, random_state=1)
Ich bin mir nicht sicher, was es genau macht und welche Art von Objekt kf ist. Ich habe versucht, die Dokumentation Lesen, aber es hat nicht viel geholfen. Außerdem gibt es drei Falten (n_folds=3), warum ist es später nur Zugriff auf Schulen und zu testen (und wie ich weiß, Sie sind aufgerufen, trainieren und testen) in dieser Zeile?
for train, test in kf:
InformationsquelleAutor user | 2016-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
KFold bieten Zug/test-Indizes zum aufteilen der Daten in train und test-sets. Es wird split-dataset in
k
aufeinanderfolgende Falten (ohne zu mischen standardmäßig).Jede Falte ist dann eine Validierung festlegen einmal, während derk - 1
restlichen Falten bilden die Trainings-set (Quelle).Lassen Sie uns sagen, Sie haben einige Daten, die Indizes von 1 bis 10. Wenn Sie
n_fold=k
im ersten iteration erhalten Siei
'th(i<=k)
Falten als test-Indizes und übrigen(k-1)
Falten (ohne, dassi
'th-Fach) zusammen, die als Zug-Indizes.Beispiel
Ausgabe
Import-Update für sklearn 0.20:
KFold Objekt wurde bewegt, um die
sklearn.model_selection
- Modul in der version 0.20. Importieren KFold in sklearn 0.20+from sklearn.model_selection import KFold
. KFold aktuelle Dokumentation QuelleJa. Sie erhalten die i ' te (1 <= i <= n_fold) Fach als Prüfung, und die verbleibenden Falten als training.
InformationsquelleAutor qmaruf