def ensemble_per_label(labels, dataset, api, args, resume, fields=None, multi_label_data=None, session_file=None, path=None, log=None): """Creates an ensemble per label for multi-label datasets """ ensemble_ids = [] ensembles = [] model_ids = [] models = [] number_of_ensembles = len(labels) if resume: resume, ensemble_ids = c.checkpoint(c.are_ensembles_created, path, number_of_ensembles, debug=args.debug) ensembles = ensemble_ids if not resume: message = u.dated("Found %s ensembles out of %s." " Resuming.\n" % (len(ensemble_ids), number_of_ensembles)) u.log_message(message, log_file=session_file, console=args.verbosity) # erase models' info that will be rebuilt u.log_created_resources("models", path, None, mode='w') number_of_ensembles = len(labels) - len(ensemble_ids) ensemble_args_list = r.set_label_ensemble_args(args, labels, multi_label_data, number_of_ensembles, fields) # create ensembles changing the input_field to select # only one label at a time (ensembles, ensemble_ids, models, model_ids) = r.create_ensembles(dataset, ensemble_ids, ensemble_args_list, args, number_of_ensembles, api, path, session_file, log) return ensembles, ensemble_ids, models, model_ids, resume
def ensemble_per_label(labels, dataset, fields, objective_field, api, args, resume, name=None, description=None, model_fields=None, multi_label_data=None, session_file=None, path=None, log=None): """Creates an ensemble per label for multi-label datasets """ ensemble_ids = [] ensembles = [] model_ids = [] models = [] number_of_ensembles = len(labels) if resume: resume, ensemble_ids = c.checkpoint( c.are_ensembles_created, path, number_of_ensembles, debug=args.debug) ensembles = ensemble_ids if not resume: message = u.dated("Found %s ensembles out of %s." " Resuming.\n" % (len(ensemble_ids), number_of_ensembles)) u.log_message(message, log_file=session_file, console=args.verbosity) # erase models' info that will be rebuilt u.log_created_resources("models", path, None, open_mode='w') number_of_ensembles = len(labels) - len(ensemble_ids) ensemble_args_list = r.set_label_ensemble_args( name, description, args, labels, multi_label_data, number_of_ensembles, fields, model_fields, objective_field) # create ensembles changing the input_field to select # only one label at a time (ensembles, ensemble_ids, models, model_ids) = r.create_ensembles( dataset, ensemble_ids, ensemble_args_list, args, number_of_ensembles, api, path, session_file, log) return ensembles, ensemble_ids, models, model_ids, resume