Ejemplo n.º 1
0
def eval_GP(m,X_test, Y_test):
    xx = X_test
    mean, var = m.predict_y(xx)
    percentage = 0.0
    for ii in range(0,len(xx[:,0])):    
        if ((Y_test[ii] <= (mean[ii] + 2.0*np.sqrt(var[ii]))) and (Y_test[ii] >= (mean[ii] - 2.0*np.sqrt(var[ii])))):
            percentage += 1.0
    percentage /= len(xx[:,0])
    v_ll = Gauss_log_likelihood(np.expand_dims(Y_test,axis=1),(mean - 2.0*np.sqrt(var)), (mean + 2.0*np.sqrt(var)))
    ll = np.sum(v_ll)
    v_SE = (Y_test - np.squeeze(mean))**2
    RMSE = np.mean(v_SE)**(0.5)
    return RMSE,ll, percentage
Ejemplo n.º 2
0
def eval_BNN(m,X_test, Y_test):
    xx = X_test
    M_pred = np.zeros((samples,len(xx[:,0])))
    for ii in range(0,samples):    
        M_pred[ii,:] = np.squeeze(m.predict(xx))
    y_mean = np.mean(M_pred, axis=0)
    y_var = np.var(M_pred, axis=0)
    percentage = 0.0
    for ii in range(0,len(xx[:,0])):    
        if ((Y_test[ii] <= (y_mean[ii] + 2.0*np.sqrt(y_var[ii]))) and (Y_test[ii] >= (y_mean[ii] - 2.0*np.sqrt(y_var[ii])))):
            percentage += 1.0
    percentage /= len(xx[:,0])
    v_ll = Gauss_log_likelihood(Y_test,(y_mean - 2.0*np.sqrt(y_var)), (y_mean + 2.0*np.sqrt(y_var)))
    ll = np.sum(v_ll)
    v_SE = (Y_test - y_mean)**2
    RMSE = np.mean(v_SE)**(0.5)
    return RMSE,ll, percentage