CART算法实现之可视化

function filename = viz_tree( tree )
%UNTITLED Summary of this function goes here
% Visualiz the tree using graphviz
global index;
index  = 0;
fid = fopen('Visualization.dot','w+');
fprintf(fid, 'digraph G {\n');
fprintf(fid, 'fontname = "Bitstream Vera Sans"\n');
fprintf(fid, 'fontsize = 8\n');
fprintf(fid, 'node[fontname = "Bitstream Vera Sans"\n');
fprintf(fid, '    fontsize = 8\n');
fprintf(fid, '    shape = "record"]\n');
fprintf(fid, 'edge [fontname = "Bitstream Vera Sans"\n');
fprintf(fid, '      fontsize = 8]\n');
visual( tree ,fid);
fprintf(fid,'}');
fclose(fid);
filename = 'Visualization.dot';

function nodename = visual( tree ,fid)
global index;
index = index + 1;
nodename = ['node' num2str(index)];
if isnumeric(tree.Raction)
   %Reached an end node
   fprintf(fid, '%s[label ="{class = %d|+Error Rate : %5f}"]\n',nodename, tree.Raction(1),tree.Resub);
else
   fprintf(fid, '%s[label ="{Left : %s|+Right : %s|+Alpha : %6f}"]\n',nodename, tree.Laction, tree.Raction, tree.Alpha);
   nl = visual(tree.left, fid);
   nr = visual(tree.right, fid);
   fprintf(fid, '%s -> %s\n',nodename, nl);
   fprintf(fid, '%s -> %s\n',nodename, nr);
   %fprintf(fid, 'nodename[label =%s|+Leafcnt : %d|+Alpha : %6f]\n', tree.Raction, tree.Leafcnt, tree.Alpha);
   %Rl = visual(tree.left, fid);
   %RR = visual(tree.right, fid);
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值