Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 416c152

Browse files
Allen-Hao-Huangnorvig
authored andcommitted
changed cross validation wrapper (aimacode#346)
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
1 parent c25fc70 commit 416c152

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

learning.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -949,13 +949,20 @@ def cross_validation_wrapper(learner, dataset, k=10, trials=1):
949949
err_val = []
950950
err_train = []
951951
size = 1
952+
952953
while True:
953954
errT, errV = cross_validation(learner, size, dataset, k)
954955
# Check for convergence provided err_val is not empty
955-
if (err_val and isclose(err_val[-1], errV, rel_tol=1e-6)):
956-
best_size = size
957-
return learner(dataset, best_size)
958-
956+
if (err_train and isclose(err_train[-1], errT, rel_tol=1e-6)):
957+
best_size = 0
958+
min_val = math.inf
959+
960+
i = 0
961+
while i<size:
962+
if err_val[i] < min_val:
963+
min_val = err_val[i]
964+
best_size = i
965+
i += 1
959966
err_val.append(errV)
960967
err_train.append(errT)
961968
print(err_val)

0 commit comments

Comments
 (0)