gpt4 book ai didi

matlab - Matlab 中的交叉验证和 perfcurv

转载 作者:行者123 更新时间:2023-11-30 08:52:38 25 4
gpt4 key购买 nike

我正在尝试在交叉验证代码中使用 perfcurv。然而,在某些时候,测试数据集的所有成员都属于同一类 (0)。我的问题是二元分类问题。因此会出现以下错误:

Error using perfcurve (line 368) Less than two classes are found in the array of true class labels.

Error in loadsurfperframe_GIE_leave_one_out (line 669) [x,y,t,AUC(i),OPTROCPT,SUBY,SUBYNAMES] = perfcurve(test_classes,ytest,1);

我应该怎么做才能解决这个问题?

最佳答案

函数perfcurve()计算Receiver Operating Characteristic (ROC)曲线,它显示了二元分类问题的灵敏度1-特异性之间的权衡,即哪个阈值更优化。如果只有 0 个样本,则无法确定阈值的放置位置。

enter image description here

此外,特异性定义为SEN = TP/T = TP/(TP+FN)。如果我们将负样本视为0,将正样本视为1,则您的数据不包含任何正样本。因此,TP = 0 意味着该值始终为 SEN=0,与阈值无关。

关于matlab - Matlab 中的交叉验证和 perfcurv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com