if (m_binarySplits)
modSelection = new BinC45ModelSelection(m_minNumObj, instances, m_useMDLcorrection);
else
modSelection = new C45ModelSelection(m_minNumObj, instances, m_useMDLcorrection);
if (m_unpruned)
m_root = new MakeDecList(modSelection, m_minNumObj);
else if (m_reducedErrorPruning)
m_root = new MakeDecList(modSelection, m_numFolds, m_minNumObj, m_Seed);
else
m_root = new MakeDecList(modSelection, m_CF, m_minNumObj);
m_root.buildClassifier(instances);
if (m_binarySplits) {
((BinC45ModelSelection)modSelection).cleanup();
} else {
((C45ModelSelection)modSelection).cleanup();