微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tensorflow 2 Keras的Pearson相关度量

如何解决Tensorflow 2 Keras的Pearson相关度量

我有一个模型,每个样本有8个输出。我想为每个样本的皮尔逊相关性计算,然后计算样本的皮尔逊值的平均值。然后,我想将其作为模型的度量插入。现在我有了这个功能

def tf_pearson(x,y):    
    mx = tf.math.reduce_mean(input_tensor=x)
    my = tf.math.reduce_mean(input_tensor=y)
    xm,ym = x-mx,y-my
    r_num = tf.math.reduce_mean(input_tensor=tf.multiply(xm,ym))        
    r_den = tf.math.reduce_std(xm) * tf.math.reduce_std(ym)
    return  r_num / r_den

我认为应该立即计算所有样本的皮尔逊值。

我想做这样的事情:

def tf_pearson(x,y):
    print(x.shape)
    print(y.shape)    
    mx = tf.math.reduce_mean(input_tensor=x,axis=1)
    my = tf.math.reduce_mean(input_tensor=y,axis=1)
    print(mx.shape)
    print(my.shape)  
    xm,ym),axis=1)        
    r_den = tf.math.reduce_std(xm,axis=1) * tf.math.reduce_std(ym,axis=1)
    return   tf.math.reduce_mean(input_tensor=r_num / r_den)

但是由于张量一维形状为无,所以reduce_mean总是减小。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。