Функции MatLab для классификации на основе построения дерева решений

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 параметрам


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: