def optimize_learner_dad(learner, X, U, iters, train_size = 0.5):
num_traj = X.shape[2]
if train_size < 1.0:
from sklearn import cross_validation
rs = cross_validation.ShuffleSplit(num_traj, n_iter=1, train_size=train_size,
random_state=0, test_size=1.-train_size)
for train_index, test_index in rs:
pass
Xtrain = X[:,:,train_index]; Xtest = X[:,:,test_index]
Utrain = U[:,:,train_index]; Utest = U[:,:,test_index]
elif train_size == 1.0:
Xtrain = X; Xtest = X
Utrain = U; Utest = U
else:
raise Exception('Train size must be in (0,1]')
dad = DaDControl()
dad.learn(Xtrain, Utrain, learner, iters, Xtest, Utest, verbose=False)
print(' DaD (iters:{:d}). Initial Err: {:.4g}, Best: {:.4g}'.format(iters,
dad.initial_test_err, dad.min_test_error))
return dad
评论列表
文章目录