From 4e37e7c60a529ba000f78819258196345da87439 Mon Sep 17 00:00:00 2001 From: Allen Date: Sat, 11 Mar 2017 12:49:31 +1100 Subject: [PATCH] changed cross validation wrapper is supposed to return an answer when errT converges, not errV used to return size of when err_val converges but is supposed to return the size with minimum err_val --- learning.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/learning.py b/learning.py index df5d6fce3..d6986af24 100644 --- a/learning.py +++ b/learning.py @@ -830,13 +830,20 @@ def cross_validation_wrapper(learner, dataset, k=10, trials=1): err_val = [] err_train = [] size = 1 + while True: errT, errV = cross_validation(learner, size, dataset, k) # Check for convergence provided err_val is not empty - if (err_val and isclose(err_val[-1], errV, rel_tol=1e-6)): - best_size = size - return learner(dataset, best_size) - + if (err_train and isclose(err_train[-1], errT, rel_tol=1e-6)): + best_size = 0 + min_val = math.inf + + i = 0 + while i