kda*_*n13 5 python scikit-learn
我正在使用 scikit-learn 神经网络工具箱 sklearn.neural_network.MLPRegressor 来训练具有 24 个节点的输出向量的回归器。我希望使用类似于动态时间扭曲(但稍微简化)的误差函数来量化预测误差。我已经编写了量化两个输入向量之间的误差的函数,但不确定如何将其与 sklearn 的 MLP 回归器链接起来。
问:这是否只是定义一个评分对象(如sklearn所示)并将其输入到训练部分的情况。
下面是我定义的损失函数。
def MAAPE(actual,forecast,p,w):
error_array = np.zeros([len(actual), len(forecast)])
error_sum = 0
for i in range(len(actual)):
for j in range(len(forecast)):
if abs(i-j)>w:
error_array[i,j] = float('inf')
else:
error_array[i,j] = abs(actual[i] - forecast[j])/actual[i]
error_sum = error_sum + min(error_array[i,:])**p
MAAPE = (error_sum**(1/p))/len(actual)
return MAAPE
Run Code Online (Sandbox Code Playgroud)