【发布时间】:2019-01-09 05:34:38
【问题描述】:
我正在尝试使用 Dask 计算混淆矩阵元素。 从算法的角度来看,我的实现似乎没问题。 但是,当我在 2 个大小为 100 万的数组上运行它时,它需要很长时间。
有人对如何优化这段代码有建议吗?
def confusion_matrix_dask(truth,predictions,labels_list=[]):
TP=0
FP=0
FN=0
TN=0
if not labels_list:
TP=(truth[predictions==1]==1).sum()
FP=(truth[predictions!=1]==1).sum()
TN=(truth[predictions!=1]!=1).sum()
FN=(truth[predictions==1]!=1).sum()
for label in labels_list:
TP=(truth[predictions==label]==label).sum()+TP
FP=(truth[predictions!=label]==label).sum()+FP
TN=(truth[predictions!=label]!=label).sum()+TN
FN=(truth[predictions==label]!=label).sum()+FN
return np.array([[TN.compute(), FP.compute()] , [TN.compute() ,FN.compute()]])
【问题讨论】:
标签: dask