【随笔-论文记录】比较算法之间的性能是否有显著性差异的T检验实现(Python)
在科研实验当中,经常会碰见审稿人要求证明算法间确实有统计学上的差异,而不单纯是肉眼所见的差别,这个时候就可以考虑使用T检验了,Python非常方便,有可以直接调用的包,首先给出代码:
import numpy
import scipy
from scipy.stats import ttest_rel
def t_test(d1,d2):
# print(stats.levene(d1,d2))#如果返回结果的P值远大于0.05,那么我们认为两总体具有方差齐性
#否则,需要加上参数equal_var并设定为False
print("Null Hypothesis: mean(d1) = mean(d2), α= 0.05")
ttest,pval = ttest_rel(d1,d2)
if pval < 0.05:
print("Reject the Null Hypothesis.") #表示有显著性差异
else:
print("Accept the Null Hypothesis.")
其中d1和d2的格式是list,记录多次实验结果,通常我们使用的是平均值作为算法的结果,T检验就要求记录求得平均值的每次数据
本文作者:无涯清酒
本文链接:https://www.cnblogs.com/wuyawine/p/15911421.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
科研
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步