是,使用scikit學習一個Python庫。從https://github.com/fchollet/keras/issues/1711複製粘貼KeironO的回答是:
from sklearn.cross_validation import StratifiedKFold
def load_data():
# load your data using this function
def create model():
# create your model using this function
def train_and_evaluate__model(model, data[train], labels[train], data[test], labels[test)):
model.fit...
# fit and evaluate here.
if __name__ == "__main__":
n_folds = 10
data, labels, header_info = load_data()
skf = StratifiedKFold(labels, n_folds=n_folds, shuffle=True)
for i, (train, test) in enumerate(skf):
print "Running Fold", i+1, "/", n_folds
model = None # Clearing the NN.
model = create_model()
train_and_evaluate_model(model, data[train], labels[train], data[test], labels[test))
http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html – shash678
如果你需要在你的程序做了幾次(S ),然後編寫一個通用函數來處理它。這基本上是一件簡單的事情 - 不需要依賴外部庫來完成它。 –