def test_predictor_needs_predictions(matrix_type, predict_setup_args): """Test that the logic that figures out if predictions are needed for a given model/matrix""" (project_storage, db_engine, model_id) = predict_setup_args # if not all of the predictions for the given model id and matrix are present in the db, # needs_predictions should return true. else, false predictor = Predictor(project_storage.model_storage_engine(), db_engine, 'worst') metadata = matrix_metadata_creator(matrix_type=matrix_type) matrix_store = get_matrix_store(project_storage, metadata=metadata) train_matrix_columns = matrix_store.columns() # we haven't done anything yet, this should definitely need predictions assert predictor.needs_predictions(matrix_store, model_id) predictor.predict( model_id, matrix_store, misc_db_parameters=dict(), train_matrix_columns=train_matrix_columns, ) # now that predictions have been made, this should no longer need predictions assert not predictor.needs_predictions(matrix_store, model_id)
def test_predictor_needs_predictions(matrix_type, predict_setup_args): (project_storage, db_engine, model_id) = predict_setup_args # if not all of the predictions for the given model id and matrix are present in the db, # needs_predictions should return true. else, false predictor = Predictor(project_storage.model_storage_engine(), db_engine) matrix = matrix_creator(index="entity_id") metadata = matrix_metadata_creator(end_time=AS_OF_DATE, matrix_type=matrix_type, indices=["entity_id"]) matrix_store = get_matrix_store(project_storage, matrix, metadata) train_matrix_columns = matrix.columns[0:-1].tolist() # we haven't done anything yet, this should definitely need predictions assert predictor.needs_predictions(matrix_store, model_id) predictor.predict( model_id, matrix_store, misc_db_parameters=dict(), train_matrix_columns=train_matrix_columns, ) # now that predictions have been made, this should no longer need predictions assert not predictor.needs_predictions(matrix_store, model_id)