コード例 #1
0
            model = GPy.models.GPRegression(X_train, Y_train, kernel=k)
        model.optimize(messages=True, max_iters=100)

    # Get predictions
    info_dict = {}
    if args.model == 'ridge' or args.model == 'svr':
        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']
コード例 #2
0
            model = GPy.models.GPRegression(X_train, Y_train, kernel=k)
        model.optimize(messages=True, max_iters=100)
    
    # Get predictions
    info_dict = {}
    if args.model == 'ridge' or args.model == 'svr':
        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']