我正在做一个项目,我的预期结果是哪个分类器在F1得分的基础上表现得很好。我正在对平均值的差异进行t检验,以评估哪种算法获得更高的F1分数。
我有两个分类器alog_A: 0.589744
和algo_B: 0.641026
的F1分数
以下是我用来满足我的项目要求的代码,但从这段代码中,我得到的任何结果都显示为NaN。如何解决此问题?
from scipy import stats
t_value,p_value=stats.ttest_ind(f1_score_Algo_A,f1_score_Algo_B)
print('Test statistic is %f'%float("{:.6f}".format(t_value)))
print('p-value for two tailed test is %f'%p_value)
我得到以下输出
Test statistic is nan
p-value for two tailed test is nan
我的预期结果是哪个算法在t-test差值和p_value上表现良好。
1条答案
按热度按时间vsmadaxz1#
请注意,在这种情况下,
f1_scores_Algo_A
和f1_scores_Algo_B
都是列表,可以被视为两个独立的分数样本:下一个图显示了使用模型的不同训练-检验拆分获得的F1分数的分布。
现在,我们可以做成对的
t-test
:因此,我们可以在5%的显著性水平下拒绝零假设(2个独立样本具有相同的平均得分)。