究竟ROC曲线可以告诉我们或可以推断出什么?

1视图(30天)
你好聪明,
我写了一些代码运行一个基于线性判别分析的分类:
% %构造一个LDA分类器选择特性和地面实况信息
LDAClassifierObject = ClassificationDiscriminant。fit (featureSelcted groundTruthGroup,“DiscrimType”,“线性”);
LDAClassifierResubError = resubLoss (LDAClassifierObject);
因此,我可以
Resubstitution错误的LDA(训练错误):1.7391 e-01
ResubstitutionLDA的准确性:82.61%
混乱LDA的矩阵:
14日3
1 - 5
然后我运行一个LDA ROC分析分类器:
%预测resubstitution LDA的反应分类器
[LDALabel, LDAScore] = resubPredict (LDAClassifierObject);
%配合概率得分(groundTruthGroup包含标记“好”或“坏”)
[玻璃钢,TPR,用力推,AUC, OPTROCPT] = perfcurve (groundTruthGroup (: 1), LDAScore (: 1),‘好’);
我有:
OPTROCPT =
0.1250 - 0.8667
因此,我们可以得到:
精度LDA的ROC分析:86.91%
混乱矩阵后LDA的ROC分析:
13 1
2 7
我的问题是:
1。ROC分析后,我们得到一个更好的准确性,当我们报告分类的准确性,值我们应该使用哪一个?究竟ROC曲线可以告诉我们或可以推断出什么?我们能说ROC分析后,我们发现了一个更好的LDA分类器精度?
2。为什么中华民国可以产生更好的分类器的精度,但原ClassificationDiscriminant。合适不?
3所示。我也做过交叉验证对LDA分类器,等等
cvLDAClassifier = crossval (LDAClassifierObject,“leaveout”,“上”);
那么如何得到交叉验证的ROC分析?“resubPredict”方法似乎只接受判别对象作为输入,然后我们如何得到的分数?
4所示。classperf Matlab的函数非常方便收集的所有信息的分类器,等等
% %得到分类器的性能
LDAClassifierPerformace = classperf (groundTruthGroup resubPredict (LDAClassifierObject));
然而,有人知道如何收集这些信息,如准确性、玻璃钢,等的交叉验证结果?
非常感谢。我真的很期待看到回复以上的问题。
一个。

接受的答案

Ilya
Ilya 2013年3月19日
1。你可以任何你喜欢的只要你报告估计通过交叉验证或使用一个独立的测试集,你可以调整分类器在训练集上,但其测量精度相同的设置是有偏见的。
2。当然,你得到不同精度通过使用不同的阈值分配到积极的类。
3所示。所有 损失 分类器的方法返回默认分类错误,均方误差。这是医生说在许多地方。
4所示。你的代码从resubstitution预测获得的中华民国。只是替换 resubPredict kfoldPredict
5。任何预测的分类性能应该获得使用数据而不是用于培训。否则,估计是乐观。等简单模型LDA,乐观的偏见可能会小。然而它的存在。
4评论
玛尔塔
玛尔塔 2015年5月8日
所以,如果我理解正确的话,你使用后验概率计算为一个分类器作为一种新的分类器得到一种改进的准确性。这是什么理由behaind ?你有一个参考吗?许多谢谢,玛尔塔

登录置评。

答案(1)

Ilya
Ilya 2013年3月18日
1 - 2。您可以使用精度。精度通过LDA分配每一个观测到类与最大后验。两类,这相当于上设置阈值的积极类的后验概率为0.5。ROC分析可以优化这个阈值,因此获得一个更好的精度。
改善了ROC分析在你的情况中并不显著。像你这样的小样本,你会麻烦演示(令人信服地)一个分类器的优越性。查找测试信号。让n01观察1号模型分类错误的数量和正确分类通过第二个模型,让n10相反。然后 2 * binocdf (min (n01 n10) n01 +奈拉0.5) 给你一个双边的假定值测试等价的两个模型。
3所示。类型 方法(cvLDAClassifier) 看到所有旨在对象的方法(使用 属性 看到它的属性)或阅读文档的类描述。的 kfoldPredict 方法是你想要的。
2的评论

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!