我试图用Python计算一组实际和测试预测的平均偏差误差(MBE)。我在sklearn.metrics库或NumPy中查找,但没有列出计算它的方法。有谁能提出一个库或一种计算方法吗?谢谢你,Debayan
dkqlctbz1#
MBE定义为预测值与真实值之间差异的平均值,因此您可以使用两个数据源之间的简单平均差异来计算MBE:
import numpy as np data_true = np.random.randint(0,100,size=100) data_predicted = np.random.randint(0,100,size=100) - 50 MBE = np.mean(data_predicted - data_true) #here we calculate MBE
请注意,我从预测值中减去了50,只是为了能够观察到预测实际上与真实值存在偏差。
gstyhher2#
我也没有找到一个计算它的库,但是你可以试试这个:
def MBE(y_true, y_pred): ''' Parameters: y_true (array): Array of observed values y_pred (array): Array of prediction values Returns: mbe (float): Biais score ''' y_true = np.array(y_true) y_pred = np.array(y_pred) y_true = y_true.reshape(len(y_true),1) y_pred = y_pred.reshape(len(y_pred),1) diff = (y_true-y_pred) mbe = diff.mean() print('MBE = ', mbe)
z9ju0rcb3#
由于平均偏差误差公式为:Mean Bias Error你可以这样处理:
import numpy as np def mean_bias_error(true, pred): mbe_loss = np.sum(true - pred)/true.size return mbe_loss
或
def mean_bias_error(true, pred): mbe_loss = np.mean(true - pred) return mbe_loss
3条答案
按热度按时间dkqlctbz1#
MBE定义为预测值与真实值之间差异的平均值,因此您可以使用两个数据源之间的简单平均差异来计算MBE:
请注意,我从预测值中减去了50,只是为了能够观察到预测实际上与真实值存在偏差。
gstyhher2#
我也没有找到一个计算它的库,但是你可以试试这个:
z9ju0rcb3#
由于平均偏差误差公式为:Mean Bias Error
你可以这样处理:
或