| 31 | n = len(samples) |
| 32 | folds = np.array_split(np.arange(n), kfold) |
| 33 | def f(i): |
| 34 | model = model_class(**params) |
| 35 | test_idx = folds[i] |
| 36 | train_idx = list(folds) |
| 37 | train_idx.pop(i) |
| 38 | train_idx = np.hstack(train_idx) |
| 39 | train_samples, train_labels = samples[train_idx], labels[train_idx] |
| 40 | test_samples, test_labels = samples[test_idx], labels[test_idx] |
| 41 | model.train(train_samples, train_labels) |
| 42 | resp = model.predict(test_samples) |
| 43 | score = (resp != test_labels).mean() |
| 44 | print(".", end='') |
| 45 | return score |
| 46 | if pool is None: |
| 47 | scores = list(map(f, xrange(kfold))) |
| 48 | else: |