Difference between individual and cumulative oobMargin of TreeBagger
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Why aren't the following two plots the same?
b = TreeBagger(500,X,Y,'oobpred','on');
mc = oobMargin(b,'mode','cumulative');
mi = oobMargin(b,'mode','individual');
figure; plot(mc.')
figure; plot(bsxfun(@rdivide,cumsum(mi.'),(1:500).'))
1 Kommentar
Akzeptierte Antwort
Ilya
am 17 Jun. 2011
When you ask for an OOB margin from one tree, you get zero if this observation was in bag for this tree. The margin is undefined in this case, and TreeBagger returns 0 by default. The cumulative calculation averages over trees for which this observation was out of bag only. Check this out:
>> load fisheriris
>> b = TreeBagger(10,meas,species,'oobpred','on');
>> mi = oobMargin(b,'mode','individual');
>> mi(1,:)
ans = 1 0 0 0 1 0 1 1 0 0
>> b.OOBIndices(1,:)
ans = 1 0 0 0 1 0 1 1 0 0
>> mc = oobMargin(b,'mode','cumulative');
>> mc(1,:)
ans = 1 1 1 1 1 1 1 1 1 1
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Classification Ensembles finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!