def run_make_submission(settings, targets_and_pipelines, split_ratio): pool = Pool(settings.N_jobs) for i, (target, pipeline, feature_masks, classifier, classifier_name) in enumerate(targets_and_pipelines): for j, feature_mask in enumerate(feature_masks): progress_str = 'T=%d/%d M=%d/%d' % (i+1, len(targets_and_pipelines), j+1, len(feature_masks)) pool.apply_async(make_submission_predictions, [settings, target, pipeline, classifier, classifier_name], {'feature_mask': feature_mask, 'progress_str': progress_str, 'quiet': True}) pool.close() pool.join() guesses = ['clip,preictal'] num_masks = None classifier_names = [] for target, pipeline, feature_masks, classifier, classifier_name in targets_and_pipelines: classifier_names.append(classifier_name) if num_masks is None: num_masks = len(feature_masks) else: assert num_masks == len(feature_masks) test_predictions = [] for feature_mask in feature_masks: data = make_submission_predictions(settings, target, pipeline, classifier, classifier_name, feature_mask=feature_mask) test_predictions.append(data.mean_predictions) predictions = np.mean(test_predictions, axis=0) guesses += make_csv_for_target_predictions(target, predictions) output = '\n'.join(guesses) write_submission_file(settings, output, 'ensemble n=%d split_ratio=%s' % (num_masks, split_ratio), None, str(classifier_names), targets_and_pipelines)
def run_make_submission(settings, targets_and_pipelines, classifier, classifier_name): pool = Pool(settings.N_jobs) for i, (target, pipeline, feature_masks) in enumerate(targets_and_pipelines): for j, feature_mask in enumerate(feature_masks): progress_str = 'T=%d/%d M=%d/%d' % ( i + 1, len(targets_and_pipelines), j + 1, len(feature_masks)) pool.apply_async( make_submission_predictions, [settings, target, pipeline, classifier, classifier_name], { 'feature_mask': feature_mask, 'quiet': True, 'progress_str': progress_str }) pool.close() pool.join() guesses = ['clip,preictal'] for target, pipeline, feature_masks in targets_and_pipelines: test_predictions = [] for feature_mask in feature_masks: data = make_submission_predictions(settings, target, pipeline, classifier, classifier_name, feature_mask=feature_mask) test_predictions.append(data.mean_predictions) predictions = np.mean(test_predictions, axis=0) guesses += make_csv_for_target_predictions(target, predictions) output = '\n'.join(guesses) submission_targets_and_pipelines = [ (target, pipeline, feature_masks, classifier, classifier_name) for target, pipeline, feature_masks in targets_and_pipelines ] write_submission_file(settings, output, None, None, classifier_name, submission_targets_and_pipelines)
def run_make_submission(settings, targets_and_pipelines, classifier, classifier_name): pool = Pool(settings.N_jobs) for i, (target, pipeline, feature_masks) in enumerate(targets_and_pipelines): for j, feature_mask in enumerate(feature_masks): progress_str = 'T=%d/%d M=%d/%d' % (i+1, len(targets_and_pipelines), j+1, len(feature_masks)) pool.apply_async(make_submission_predictions, [settings, target, pipeline, classifier, classifier_name], {'feature_mask': feature_mask, 'quiet': True, 'progress_str': progress_str}) pool.close() pool.join() guesses = ['clip,preictal'] for target, pipeline, feature_masks in targets_and_pipelines: test_predictions = [] for feature_mask in feature_masks: data = make_submission_predictions(settings, target, pipeline, classifier, classifier_name, feature_mask=feature_mask) test_predictions.append(data.mean_predictions) predictions = np.mean(test_predictions, axis=0) guesses += make_csv_for_target_predictions(target, predictions) output = '\n'.join(guesses) submission_targets_and_pipelines = [(target, pipeline, feature_masks, classifier, classifier_name) for target, pipeline, feature_masks in targets_and_pipelines] write_submission_file(settings, output, None, None, classifier_name, submission_targets_and_pipelines)