评估器#

class Evaluator(results)[源代码][源代码]#

分析机器学习实验的结果。

属性:
metric_names

返回指标名称。

指标

返回指标。

metrics_by_strategy

按策略返回指标。

metrics_by_strategy_dataset

按策略和数据集返回指标。

方法

evaluate(metric[, train_or_test, cv_fold])

评估估计器的性能。

fit_runtime([unit, train_or_test, cv_fold])

计算策略拟合的平均时间。

friedman_test([metric_name])

Friedman 检验。

nemenyi([metric_name])

Nemenyi 测试。

plot_boxplots([metric_name])

指标的箱线图。

plot_critical_difference_diagram([...])

绘制关键差异图。

rank([metric_name, ascending])

确定估计器的排名。

ranksum_test([metric_name])

非参数检验观察对之间的一致性差异。

sign_test([metric_name])

用于检验观测对之间一致差异的非参数检验。

t_test([metric_name])

在估计器之间所有可能的组合上进行T检验。

t_test_with_bonferroni_correction([...])

使用校正的t检验来对抗多重比较。

wilcoxon_test([metric_name])

Wilcoxon 符号秩检验。

property metric_names[源代码]#

返回指标名称。

property metrics[源代码]#

返回指标。

property metrics_by_strategy[源代码]#

按策略返回指标。

property metrics_by_strategy_dataset[源代码]#

按策略和数据集返回指标。

evaluate(metric, train_or_test='test', cv_fold='all')[源代码][源代码]#

评估估计器的性能。

计算每个估计器的平均预测误差,以及每个估计器在各个数据集上实现的预测误差。

plot_boxplots(metric_name=None, **kwargs)[源代码][源代码]#

指标的箱线图。

rank(metric_name=None, ascending=False)[源代码][源代码]#

确定估计器的排名。

基于每个数据集上每个估计器的性能计算平均排名

t_test(metric_name=None)[源代码][源代码]#

在估计器之间所有可能的组合上进行T检验。

sign_test(metric_name=None)[源代码][源代码]#

用于检验观测对之间一致差异的非参数检验。

有关测试的详细信息,请参阅 https://en.wikipedia.org/wiki/Sign_test ,有关 scipy 实现的详细信息,请参阅 https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.binom_test.html

ranksum_test(metric_name=None)[源代码][源代码]#

非参数检验观察对之间的一致性差异。

该测试计算大于、小于和等于均值的观测次数 http://en.wikipedia.org/wiki/Wilcoxon_rank-sum_test

t_test_with_bonferroni_correction(metric_name=None, alpha=0.05)[源代码][源代码]#

使用校正的t检验来对抗多重比较。

https://zh.wikipedia.org/wiki/%E6%B3%95%E5%B0%94%E7%BA%B3%E4%BF%AE%E6%AD%A3

wilcoxon_test(metric_name=None)[源代码][源代码]#

Wilcoxon 符号秩检验。

http://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test Wilcoxon 符号秩检验. 测试两个相关配对样本是否来自同一分布。特别是,它测试差异 x-y 的分布是否关于零对称。

friedman_test(metric_name=None)[源代码][源代码]#

Friedman 检验。

Friedman 检验是一种非参数统计检验,用于检测多个测试尝试中处理方法的差异。该过程涉及将每一行(或块)一起排序,然后考虑按列排序的值。使用的实现方法: scipy.stats

nemenyi(metric_name=None)[源代码][源代码]#

Nemenyi 测试。

如果 friedman_test 显示统计显著性,则进行事后检验。更多信息请参见 Nemenyi 检验

实现使用了 scikit-posthocs

<maximtrp/scikit-posthocs>`_.

fit_runtime(unit='s', train_or_test='test', cv_fold='all')[源代码][源代码]#

计算策略拟合的平均时间。

参数:
单元字符串(必须是 ‘s’ 表示秒,’m’ 表示分钟,或 ‘h’ 表示小时)

运行时间将以该单位计算

返回:
run_times: Pandas DataFrame

每个估计器和策略的平均运行时间

plot_critical_difference_diagram(metric_name=None, alpha=0.1)[源代码][源代码]#

绘制关键差异图。

参考文献

原始实现由 Aaron Bostrom 完成,由 Markus Löning 修改。