#preds, vars = model.predict_noiseless(X_test, Y_metadata=noise_dict)
            for emo_id, emo in enumerate(EMOS):
                # TODO: preprocessing
                emo_dict = {}
                to_predict = np.concatenate((X_test_list[emo_id], np.ones((X_test.shape[0], 1)) * emo_id), axis=1)
                noise_dict = {'output_index': np.ones((X_test.shape[0], 1), dtype=int) * (emo_id)}
                preds, vars = model.predict(to_predict, Y_metadata=noise_dict)
                #if args.label_preproc == 'scale':
                #    preds = Y_scaler_list[emo_id].inverse_transform(preds)
                emo_dict['mae'] = MAE(preds, Y_test_list[emo_id])
                emo_dict['rmse'] = np.sqrt(MSE(preds, Y_test_list[emo_id]))
                emo_dict['pearsonr'] = pearsonr(preds.flatten(), Y_test_list[emo_id].flatten())
                #Y_metadata = {}
                #Y_metadata['output_index'] = np.ones(X_test.shape[0]) * emo_id
                emo_dict['nlpd'] = -np.mean(model.log_predictive_density(to_predict, 
                                                                         Y_test_list[emo_id],
                                                                         Y_metadata=noise_dict))
                info_dict[emo] = emo_dict
                preds_list.append(preds.flatten())
                vars_list.append(vars.flatten())

        # Get parameters
        if args.model == 'ridge':
            info_dict['coefs'] = list(model.coef_)
            info_dict['intercept'] = model.intercept_
            info_dict['regularization'] = model.alpha_
        elif args.model == 'svr':
            info_dict['regularization'] = model.best_params_['C']
            info_dict['epsilon'] = model.best_params_['epsilon']
            info_dict['gamma'] = model.best_params_['gamma']
        else:
Exemple #2
0
        preds = model.predict(X_test)
        if args.label_preproc == 'scale':
            preds = Y_scaler.inverse_transform(preds)
        info_dict['mae'] = MAE(preds, Y_test.flatten())
        info_dict['rmse'] = np.sqrt(MSE(preds, Y_test.flatten()))
        info_dict['pearsonr'] = pearsonr(preds, Y_test.flatten())
    else:
        # TODO: check if this makes sense
        #preds, vars = model.predict(X_test)
        preds, vars = model.predict_noiseless(X_test)
        if args.label_preproc == 'scale':
            preds = Y_scaler.inverse_transform(preds)
        info_dict['mae'] = MAE(preds, Y_test)
        info_dict['rmse'] = np.sqrt(MSE(preds, Y_test))
        info_dict['pearsonr'] = pearsonr(preds.flatten(), Y_test.flatten())
        nlpd = model.log_predictive_density(X_test, Y_test)
        info_dict['nlpd'] = np.mean(nlpd)

    # Get parameters
    if args.model == 'ridge':
        info_dict['coefs'] = list(model.coef_)
        info_dict['intercept'] = model.intercept_
        info_dict['regularization'] = model.alpha_
    elif args.model == 'svr':
        info_dict['regularization'] = model.best_params_['C']
        info_dict['epsilon'] = model.best_params_['epsilon']
        info_dict['gamma'] = model.best_params_['gamma']
    else:
        print model
        param_names = model.parameter_names()
        for p_name in param_names:
        preds = model.predict(X_test)
        if args.label_preproc == 'scale':
            preds = Y_scaler.inverse_transform(preds)
        info_dict['mae'] = MAE(preds, Y_test.flatten())
        info_dict['rmse'] = np.sqrt(MSE(preds, Y_test.flatten()))
        info_dict['pearsonr'] = pearsonr(preds, Y_test.flatten())
    else:
        # TODO: check if this makes sense
        #preds, vars = model.predict(X_test)
        preds, vars = model.predict_noiseless(X_test)
        if args.label_preproc == 'scale':
            preds = Y_scaler.inverse_transform(preds)
        info_dict['mae'] = MAE(preds, Y_test)
        info_dict['rmse'] = np.sqrt(MSE(preds, Y_test))
        info_dict['pearsonr'] = pearsonr(preds.flatten(), Y_test.flatten())
        nlpd = model.log_predictive_density(X_test, Y_test)
        info_dict['nlpd'] = np.mean(nlpd)

    # Get parameters
    if args.model == 'ridge':
        info_dict['coefs'] = list(model.coef_)
        info_dict['intercept'] = model.intercept_
        info_dict['regularization'] = model.alpha_
    elif args.model == 'svr':
        info_dict['regularization'] = model.best_params_['C']
        info_dict['epsilon'] = model.best_params_['epsilon']
        info_dict['gamma'] = model.best_params_['gamma']
    elif args.model == 'rbf':
        info_dict['variance'] = float(model['rbf.variance'])
        info_dict['lengthscale'] = list(model['rbf.lengthscale'])
        info_dict['noise'] = float(model['Gaussian_noise.variance'])