コード例 #1
0
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
コード例 #2
0
ファイル: ensembles.py プロジェクト: arnaudsj/bigmler
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