function [ forests ] = NicForest_develop(xtrain,ytrain,opt) %NICFOREST_DEVELOP Develop forest on data set with automatic setting of parameters % [ ] = NicForest_develop() % % % Inputs: % % % % Outputs: % % % % Example % [ ] = NicForest_develop() % % See also FCN1 % $LastChangedBy: alistair $ % $LastChangedDate: 2012-06-01 13:25:19 +0100 (Fri, 01 Jun 2012) $ % $Revision: 24 $ % Originally written on GLNXA64 by Alistair Johnson, 11-May-2012 15:13:19 % Contact: alistairewj@gmail.com % SPECIFIED PARAMETERS FOR FOREST if nargin<3 opt=forest_opt_set; else opt = forest_opt_set(opt); end % opt.Trees=500; % opt.Iterations=20000; % number of Iterations for each MCMC repetition % opt.Save=2e3; % Save forest every MCCsave % opt.Resets=1; % Number of reset during MCCres iterations % opt.UpdatedTrees = 2; %=== Determine method: regression or classification if isempty(opt.Family) num_tar = numel(unique(ytrain)); if num_tar==1 error('Only one class provided'); elseif num_tar==2 opt.Family = 'binomial'; else opt.Family = 'normal'; end end %=== Calculate a good width value if isempty(opt.Width) opt.Width = NicForest_CalculateWidth(xtrain,ytrain,opt); end fprintf('width = %g\n',opt.Width); if ~isempty(opt.Group) && isempty(opt.GroupPower) [ pwr ] = NicForest_CalculateGroupPower(xtrain,ytrain,opt); opt.GroupPower = pwr; end [ forests ] = NicForest_train(xtrain,ytrain,opt); end