CLOP中的Random Forest

CLOP中的Random Forest调用R来实现,比较稳定,同时基于Spider的框架,用起来也算方便

CLOP中大多数分类器适用于两类分类,处理多类的demo中都是OVA,OVO的例子

Random Forest本身对待多类和两类并无区别,不过在CLOP1.6中,RF的训练部分代码适用于多类,而分类部分的代码只能用于两类分类

 

CLOP/challenge_objects/pat/@rf/testing.m

switch algo.optimizer
    case 'R'
        preds=fevalR('RFtest', 'forest', forest, 'xtest', X_te);    
        % warning, may have inverted the 2 classes.
        % case of 2 classes only %% 这里只处理了两类分类
%% preds.resu 是一个numIns * numClass的矩阵,对应分类为不同类别的概率,根据这个矩阵可以求解多类的Y_resu outval
=preds.resu(:,2)-preds.resu(:,1); Y_conf=abs(outval); Y_resu=sign(outval); zero_val=find(Y_resu==0); % remove ties Y_resu(zero_val)=algo.algorithm.default_output; case 'Weka' % ... case 'Merk' param = forest.param; warning off out = RFClass(param, X_te, Y_te, forest); warning on Y_resu=targets(out.ypredts); zero_val=find(Y_resu==0); % remove ties Y_resu(zero_val)=algo.algorithm.default_output; Y_conf=abs(log(out.countts(:,2)+1)-log(out.countts(:,1)+1)); zero_val=find(Y_conf==0); % remove ties Y_conf(zero_val)=eps; %Y_resu=out.countts(:,2)-out.countts(:,1); % we use the counts as class likelihoods % the discriminant value is log(p1/p2) end

 

 

转载于:https://www.cnblogs.com/guoqiaojin/archive/2012/07/18/2597379.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值