Decision Tree to If-Else Rules

42 views (last 30 days)
Amrit Kumar Verma
Amrit Kumar Verma on 6 Mar 2019
Answered: Koorosh Aslansefat on 20 May 2020
Is there any method to convert directly the decision tree from Classification Tree Viewer to If-Else rules ?
  1 Comment
Mario Buser
Mario Buser on 9 Jul 2019
Would be interested in a solution as well. WEKA, for example, is able to export if/else statements.

Sign in to comment.

Answers (1)

Koorosh Aslansefat
Koorosh Aslansefat on 20 May 2020
I am not sure what exactly you want but the following code can be useful considering that you saved the decision tree as "tc".
CP = tc.CutPoint;
NC = tc.NodeClass;
for ii = 1:size(CP,1)
if ~isnan(CP(ii))
fprintf('if x%d < %f then node %d elseif x%d >= %f then node %d else %d \n',str2num(NC{ii}),CP(ii),ii+1,str2num(NC{ii}),CP(ii), ii+2,ii)
elseif isnan(CP(ii))
fprintf('Class = %d \n',str2num(NC{ii}))
end
end
This equal to veiw(tc)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!