Keras自定义指标R2 vs SKlearn R2

2024-06-08 20:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经实现了R2分数的简单自定义指标,因为我正在处理回归任务

def r_2_score(y_true, y_pred):
    from tensorflow.keras import backend as K
    RSS =  K.sum(K.square( y_true- y_pred ))
    TSS = K.sum(K.square( y_true - K.mean(y_true) ) )
    return ( 1. - RSS/(TSS) )

然后,我将此方法的结果与sklearn库中的方法进行了比较

print(sklearn.metrics.r2_score(y_test_data,model.predict(x=x_test_data)))

model.evaluate(x=x_test_data, y=y_test_data)

但是他们给了我完全不同的结果

0.3706,使用sklearn R2方法

0.8812,采用keras定制公制

有什么问题吗


Tags: 方法testtruedatamodelsklearn分数keras