Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions rampwf/utils/cli/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,13 @@ def get_submissions(ctx, args, incomplete):
@click.option('--retrain', is_flag=True,
help='Specify this flag to retrain the submission on the full '
'training set after the CV loop.')
@click.option('--no-bagging', is_flag=True,
help='Specify this flag to not compute CV bagging results.')
@click.option('--ignore-warning', is_flag=True,
help='Will filters all warning and avoid to print them.')
def main(submission, ramp_kit_dir, ramp_data_dir, ramp_submission_dir,
notebook, quick_test, pickle, save_output, retrain, ignore_warning):
notebook, quick_test, pickle, save_output, retrain, no_bagging,
ignore_warning):
"""Test a submission and/or a notebook before to submit on RAMP studio."""
if quick_test:
os.environ['RAMP_TEST_MODE'] = '1'
Expand All @@ -89,7 +92,8 @@ def main(submission, ramp_kit_dir, ramp_data_dir, ramp_submission_dir,
submission=sub,
is_pickle=pickle,
save_output=save_output,
retrain=retrain)
retrain=retrain,
bagging=not no_bagging)

if notebook:
assert_notebook(ramp_kit_dir=ramp_kit_dir)
Expand Down
30 changes: 18 additions & 12 deletions rampwf/utils/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def assert_score_types(ramp_kit_dir='.'):
def assert_submission(ramp_kit_dir='.', ramp_data_dir='.',
ramp_submission_dir='submissions',
submission='starting_kit', is_pickle=False,
save_output=False, retrain=False):
save_output=False, retrain=False, bagging=True):
"""Helper to test a submission from a ramp-kit.

Parameters
Expand All @@ -83,6 +83,8 @@ def assert_submission(ramp_kit_dir='.', ramp_data_dir='.',
retrain : bool, default is False
Whether to train the model on the full training set and test on the
test set.
bagging : bool, default is True
Whether to compute and print CV bagging results.
"""
problem = assert_read_problem(ramp_kit_dir)
assert_title(ramp_kit_dir)
Expand All @@ -101,10 +103,11 @@ def assert_submission(ramp_kit_dir='.', ramp_data_dir='.',
if not os.path.exists(training_output_path):
os.makedirs(training_output_path)

# saving predictions for CV bagging after the CV loop
predictions_valid_list = []
predictions_test_list = []
df_scores_list = []
# saving predictions for CV bagging after the CV loop
if bagging:
predictions_valid_list = []
predictions_test_list = []

for fold_i, fold in enumerate(cv):
fold_output_path = ''
Expand All @@ -127,10 +130,11 @@ def assert_submission(ramp_kit_dir='.', ramp_data_dir='.',
df_scores_rounded = round_df_scores(df_scores, score_types)
print_df_scores(df_scores_rounded, indent='\t')

# saving predictions for CV bagging after the CV loop
df_scores_list.append(df_scores)
predictions_valid_list.append(predictions_valid)
predictions_test_list.append(predictions_test)
# saving predictions for CV bagging after the CV loop
if bagging:
predictions_valid_list.append(predictions_valid)
predictions_test_list.append(predictions_test)

print_title('----------------------------')
print_title('Mean CV scores')
Expand All @@ -147,11 +151,13 @@ def assert_submission(ramp_kit_dir='.', ramp_data_dir='.',
problem, submission_path, X_train, y_train, X_test, y_test,
score_types, is_pickle, save_output, training_output_path,
ramp_data_dir)
bag_submissions(
problem, cv, y_train, y_test, predictions_valid_list,
predictions_test_list, training_output_path,
ramp_data_dir=ramp_data_dir, score_type_index=None,
save_output=save_output)

if bagging:
bag_submissions(
problem, cv, y_train, y_test, predictions_valid_list,
predictions_test_list, training_output_path,
ramp_data_dir=ramp_data_dir, score_type_index=None,
save_output=save_output)


def blend_submissions(submissions, ramp_kit_dir='.', ramp_data_dir='.',
Expand Down