交叉验证分类树列联表

8视图(30天)
巴蒂尔
巴蒂尔 2013年10月14日
回答: Ilya 2013年10月16日
我需要最后一列联表交叉验证分类树。我的代码是:
%建立分类树
树= ClassificationTree.fit (x, y);
%交叉验证树
[E、SE、Nleaf, bestlevel] = cvLoss(树,“子树”,“所有”,“treesize”,“本身”,“kfold”5);
这给了我一个交叉验证树和E和硒。但对于验证我需要整个交叉列联表进行验证,所以我可以计算吊舱,POFD,太远了。
这就是我如何理解它:因为它是5折交叉验证,5创建树,每使用一个随机数据的80%。这些树是每个对应的20%的测试数据来计算最终的E和硒。我想要的是5应急表可以创建测试数据运行时通过的每个5交叉验证树(分别来自树)。然后我想和这5个表成一个整体的最后一列联表。是否可以访问这个数据我自己不需要代码吗?

接受的答案

Ilya
Ilya 2013年10月16日
不能访问这个数据。然而,编码并不难。我相信你想删除每棵树 bestlevel 返回的 cvLoss 方法。这是如何计算整个混淆矩阵(列联表)。
负载电离层
简历= cvpartition (Y,“kfold”5);
Yhat = repmat (Y(1)元素个数(Y), 1);
k = 1:5
itrain =培训(简历,k);
它=测试(简历,k);
树= ClassificationTree.fit (X (itrain:), Y (itrain));
树=修剪(树,“水平”,bestlevel);
Yhat(它)=预测(树,X(它:));
结束
Yhat confusionmat (Y)

更多的答案(0)

社区寻宝

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

开始狩猎!