1. Создание дерева решений
t = classregtree(X,y)
создает дерево решений t как функцию, предсказывающую ответ y в зависимости от набора независимых переменных X. X – n -на- m матрица - обучающая выборка. Если y вектор из n значений, то функция строит дерево регрессии, если же y – категориальная переменная, то строится дерево классификации. В любом случае t представляет собой бинарное дерево, в котором каждый узел ветвления основан на значениях из столбца матрицы X.
t = classregtree(X,y,' Name ', value)
задает один или более пар параметров name/value. Name задается в кавычках. Доступны следующие опции:
Для всех деревьев:
· categorical — вектор индексов столбцов матрицы X, которые являются категориальными переменными;
· prune — 'on' (по умолчанию) вычислить полное дерево и оптимальную последовательность сокращенных поддеревьев, или 'off' для полного дерева без сокращения;
· minparent —число k такое, что узел должен иметь k или более наблюдений, чтобы расщепляться (по умолчанию 10);
· minleaf — минимальное число наблюдений для листа дерева (по умолчанию 1).
|
|
Только для деревьев классификации:
· cost — квадратная матрица C, где C(i,j) стоимость неправильной классификации точка класса j помещенной в класс i (по умолчанию C(i,j)=1 если i~=j, и C(i,j)=0 если i=j).
· splitcriterion — критерий для выбора расщепления. По умолчанию 'gdi' Gini индекс;
Пример использования функции.
Создадим дерево классификации для ирисов Фишера. Функция выводит правила принятия решений. Чтобы нарисовать диаграмму правил принятия решений и определения классов, воспользуемся функцией view(t).
load fisheriris; t=classregtree(meas,species,'names',{'SL' 'SW' 'PL' 'PW'})t = Decision tree for classification1 if PL<2.45 then node 2 elseif PL>=2.45 then node 3 else setosa2 class = setosa3 if PW<1.75 then node 4 elseif PW>=1.75 then node 5 else versicolor4 if PL<4.95 then node 6 elseif PL>=4.95 then node 7 else versicolor5 class = virginica6 if PW<1.65 then node 8 elseif PW>=1.65 then node 9 else versicolor7 class = virginica8 class = versicolor9 class = virginica view(t)
Рисунок 2.5 – Диаграмма правил принятия решений и определения классов для классификации ирисов Фишера по 4 параметрам