Friedman检验和Nemenyi检验,测试以及python实现

本文介绍如何使用Friedman检验和Nemenyi检验来比较不同学习算法的泛化性能,包括算法在多个数据集上的测试结果,以及如何通过这些检验确定算法性能的显著差异。

为了将不同的学习算法的泛化性能进行全面的比较,光靠学习器对某个数据集上的性度度量是不够的,我们需要用到假设检验,它为我们进行学习算法的比较提供了重要依据。

同时对于学习算法的比较,我们一般需要在多个数据集上比较多个算法的性能,这里常常采用Friedman检验和Nemenyi检验来进行比较。

1.Friedman检验

对于k个算法和N个数据集,首先得到每个算法在每个数据集上的测试性能结果,然后根据性能结果有好到坏排序,并给出序值1, 2, …, k若多个算法性能结果相同,则它们平分序值,假设第i个算法的平均序值为ri,则ri服从正态分布:

 则变量tF服从自由度为k-1(k-1)(N-1)F分布,假设这k个算法在N个数据集上的性能没有差异,若假设检验拒绝这个假设,则说明算法的性能显著不同,这时需要进行后续检验进一步区分各算法。

这里是Friedman的python实现:

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值