评估器#

class Evaluator(results)[source]#

分析机器学习实验结果。

属性:
metric_names

返回指标名称。

metrics

返回指标。

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[source]#

返回指标名称。

property metrics[source]#

返回指标。

property metrics_by_strategy[source]#

按策略返回指标。

property metrics_by_strategy_dataset[source]#

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

evaluate(metric, train_or_test='test', cv_fold='all')[source]#

评估估计器性能。

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

plot_boxplots(metric_name=None, **kwargs)[source]#

指标的箱线图。

rank(metric_name=None, ascending=False)[source]#

确定估计器排名。

根据每个估计器在每个数据集上的表现计算平均排名

t_test(metric_name=None)[source]#

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

sign_test(metric_name=None)[source]#

非参数检验,用于检测观测对之间的持续差异。

有关此检验的详细信息,请参见 https://en.wikipedia.org/wiki/Sign_test;有关 scipy 实现的详细信息,请参见 https://docs.scipy.org.cn/doc/scipy-0.14.0/reference/generated/scipy.stats.binom_test.html

ranksum_test(metric_name=None)[source]#

非参数检验,用于检测观测对之间的持续差异。

此检验计算大于、小于和等于均值的观测数量 http://en.wikipedia.org/wiki/Wilcoxon_rank-sum_test

t_test_with_bonferroni_correction(metric_name=None, alpha=0.05)[source]#

使用校正的 T 检验,用于抵消多重比较。

https://en.wikipedia.org/wiki/Bonferroni_correction

wilcoxon_test(metric_name=None)[source]#

Wilcoxon 符号秩检验。

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

friedman_test(metric_name=None)[source]#

Friedman 检验。

Friedman 检验是一种非参数统计检验,用于检测多次测试中处理之间的差异。该过程包括将每一行(或块)一起排名,然后按列考虑排名的值。使用的实现:scipy.stats

nemenyi(metric_name=None)[source]#

Nemenyi 检验。

如果在 friedman_test 中发现统计显著性,则运行事后检验。更多信息请参见 Nemenyi 检验

使用的实现 `scikit-posthocs

<maximtrp/scikit-posthocs>`_。

fit_runtime(unit='s', train_or_test='test', cv_fold='all')[source]#

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

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

计算运行时间的单位

返回:
run_times: Pandas DataFrame

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

plot_critical_difference_diagram(metric_name=None, alpha=0.1)[source]#

绘制临界差图。

参考资料

原始实现作者:Aaron Bostrom,由 Markus Löning 修改。