算法实现:这里直接调库
from scipy import stats import numpy as np val_PLCC = stats.pearsonr(y_pred, y_val)[0] val_SROCC = stats.spearmanr(y_pred, y_val)[0] val_RMSE = np.sqrt(((y_pred-y_val) ** 2).mean()) val_KROCC = stats.stats.kendalltau(y_pred, y_val)[0]
一、PLCC(Pearson linear correlation coefficient,皮尔森线性相关系数)
说明:
说明:PLCC描述了主观评分和算法评分之间(正态分布)的线性相关性,值越大越好,衡量2个数据之间的变化大小。
相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。
公式:
二、SRCC (Spearman rank-order correlation coefficient,斯皮尔曼秩相关系数)
说明:
度量两个变量之间单调关系强弱的相关系数,如果一个变量是另外一个变量的严格单调函数,则系数为1或-1,表示完全相关(强相关),计算变量之间的 SRCC就相当于计算变量数据秩次之间的 Pearson 相关系数
公式:
举例:
(斯皮尔曼等级相关系数同时也被认为是经过排行的两个随即变量的皮尔逊相关系数,以下实际是计算x、y的皮尔逊相关系数)
如下:当变量的两个值相同时,它们的排行是通过对它们位置进行平均而得到的。排序之后,将Xi带入上述公式即可。
三、KRCC(Kendall rank-order correlation coefficient,KROCC)
说明:
肯德尔相关系数是一个用来测量两个随机变量对之间的相关性的统计值
公式:
举例:
假设两个随机变量分别为X、Y(也可以看做两个集合),它们的元素个数均为N,两个随即变量取的第i(1<=i<=N)个值分别用Xi、Yi表示。元素集合可以表示为:(Xi, Yi)(1<=i<=N)。
(1)元素集合一致:同大同小当Xi>Xj且Yi>Yj 或者 Xi<Xj且Yi<Yj ,这两个元素就被认为是一致的。
(2)元素集合不一致:不同大或不同小Xi>Xj且Yi<Yj 或者 Xi<Xj且Yi>Yj,这两个元素被认为是不一致的。
(3) 不判断:相等Xi=Xj 或者 Yi=Yj ,这两个元素既不是一致的也不是不一致的
其中C表示XY中拥有一致性的元素对数(两个元素为一对);D表示XY中拥有不一致性的元素对数。 带入上述公式即可。
四、RMSE(Root Mean Squared Error, RMSE, 均方误差)
说明:
说明:均方误差,该均方根是观察到的实际值与模型预测的值之间的均方差
公式:
————————————————
版权声明:本文为CSDN博主「 杨杨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42699651/article/details/109534422