def estimate_weights(fold):
    holdout = folds == fold
    train_datasets = []
    for dset, has_fut in zip(datasets, has_future):
        d = loglin.sub_dataset(dset, ~holdout & has_fut)
        train_datasets.append(d)

    weights = learn.learn_time_regularized_weights(train_datasets, censor_times, time_penalty=time_penalty, l1_penalty=l1_penalty)
    return weights
    for dset, has_fut in zip(datasets, has_future):
        d = loglin.sub_dataset(dset, ~holdout & has_fut)
        train_datasets.append(d)

    weights = learn.learn_time_regularized_weights(train_datasets, censor_times, time_penalty=time_penalty, l1_penalty=l1_penalty)
    return weights

pool = Pool(3)
all_weights = pool.map(estimate_weights, [k + 1 for k in range(10)])

for i, weights in enumerate(all_weights):
    fold = i + 1
    holdout = folds == fold

    for j, w in enumerate(weights):
        test_data = loglin.sub_dataset(datasets[j], holdout)
        _, marg, _ = loglin.inference(w, test_data)
        posteriors[j][holdout, :] = marg[0]


# for fold in sorted(set(folds)):
#     logging.info('Staring fold {}'.format(fold))
    
#     holdout = folds == fold
#     train_datasets = []
#     for dset, has_fut in zip(datasets, has_future):
#         d = loglin.sub_dataset(dset, ~holdout & has_fut)
#         train_datasets.append(d)

#     all_weights = learn.learn_time_regularized_weights(train_datasets, censor_times, time_penalty=1e-3, l1_penalty=1e-3)
Beispiel #3
0
def estimate_weights(fold):
    holdout = folds == fold
    train_data = loglin.sub_dataset(dataset, ~holdout & has_future)
    weights = learn.learn_weights(train_data, 1e-3)