Ejemplo n.º 1
0
            n_dim, n_particle, nt))
    else:
        model_file = os.path.join(dest, 'train_test_var_%.2f_%.2f_dim_%d_par_%d_test_%d.pkl' % (
            var_x, var_comp, n_dim, n_particle, nt))

    if not os.path.exists(model_file):
        # change file extension from pkl to txt for writing log
        log = os.path.splitext(model_file)[0] + ".txt"
        eval_log = os.path.splitext(model_file)[0] + "_eval.txt"
        if os.path.exists(log):
            os.remove(log)
        if os.path.exists(eval_log):
            os.remove(eval_log)

        if model == 'brescal':
            _model = PFBayesianRescal(n_dim, var_x=var_x, n_particles=n_particle, compute_score=False, parallel=False,
                                      log=log, eval_log=eval_log, dest=model_file, sample_all=True)
        elif model == 'bcomp_add':
            _model = PFBayesianCompRescal(n_dim, compositionality='additive', var_x=var_x, var_comp=var_comp,
                                          n_particles=n_particle, compute_score=False, log=log, dest=model_file,
                                          eval_log=eval_log)
        elif model == 'bcomp_mul':
            _model = PFBayesianCompRescal(n_dim, compositionality='multiplicative', var_x=var_x, var_comp=var_comp,
                                          n_particles=n_particle, compute_score=False, log=log, dest=model_file,
                                          eval_log=eval_log)
        elif model == 'logit':
            _model = PFBayesianLogitRescal(n_dim, log=log, dest=model_file, compute_score=False)
        else:
            raise Exception('No such model exists %s' % model)

        seq = _model.fit(T, obs_mask=obs_mask, max_iter=max_iter, test_mask=test_mask)
Ejemplo n.º 2
0
            else:
                output_file = os.path.join(dest, '%s_%.2f_%d_training_error.pkl' % (model, p, n_dim))

            if not os.path.exists(output_file):
                if model == 'brescal':
                    model_file = os.path.join(dest, 'sRESCAL_varx_%.2f_dim_%d_par_%d_test_%d.pkl' % (
                        var_x, n_dim, n_particle, nt))
                elif model == 'logit':
                    model_file = os.path.join(dest, 'sRESCAL_dim_%d_par_%d_test_%d.pkl' % (
                        n_dim, n_particle, nt))
                else:
                    model_file = os.path.join(dest, 'sRESCAL_var_%.2f_%.2f_dim_%d_par_%d_test_%d.pkl' % (
                        var_x, var_comp, n_dim, n_particle, nt))

                if model == 'brescal':
                    _model = PFBayesianRescal(n_dim, var_x=var_x, n_particles=n_particle, compute_score=False,
                                              parallel=False, sample_all=True)
                elif model == 'bcomp_add':
                    _model = PFBayesianCompRescal(n_dim, compositionality='additive', var_x=var_x, var_comp=var_comp,
                                                  n_particles=n_particle, compute_score=False)
                elif model == 'bcomp_mul':
                    _model = PFBayesianCompRescal(n_dim, compositionality='multiplicative', var_x=var_x,
                                                  var_comp=var_comp,
                                                  n_particles=n_particle, compute_score=False)
                elif model == 'logit':
                    _model = PFBayesianLogitRescal(n_dim, compute_score=False, n_particles=n_particle)
                elif model == 'logit_mul':
                    _model = PFBayesianCompRescal(n_dim, compositionality='logit_mul',
                                                  n_particles=n_particle, compute_score=False)
                else:
                    raise Exception('No such model exists %s' % model)