- •Лекция 1. Введение в Data Mining
- •Отличия Data Mining от других методов анализа данных
- •1. Применение технологии Data Mining для решения бизнес-задач Банковское дело. Data Mining используется в банковской сфере для решения задач:
- •Фондовый рынок. Задачи фондового рынка, решаемые при помощи Data Mining:
- •2. Применение Data Mining для решения задач государственного уровня
- •Лекция 3. Задачи Data Mining. Классификация и кластеризация. Одними из основных задач анализа данных являются классификация и кластеризация. Задача классификации
- •Процесс классификации
- •Методы, применяемые для решения задач классификации
- •Точность классификации: оценка уровня ошибок
- •Оценивание классификационных методов
- •Задача кластеризации
- •Оценка качества кластеризации
- •Практика применения кластерного анализа в маркетинговых исследованиях
- •Этап 3. Подготовка данных
- •Определение необходимого количества данных - следует учитывать, являются ли данные упорядоченными или нет.
- •3. Предварительная обработка данных – необходима для обеспечения качественного анализа
- •4. Очистка данных - выявление и удаление ошибок и несоответствий в данных с целью улучшения качества данных.
- •Этапы очистки данных:
- •Лекция 4. Деревья решений.
- •Преимущества деревьев решений:
- •Процесс конструирования дерева решений
- •Критерий расщепления
- •Большое дерево не означает, что оно "подходящее"
- •Сокращение дерева или отсечение ветвей
- •Алгоритмы
- •Алгоритм cart
Сокращение дерева или отсечение ветвей
Решением проблемы слишком ветвистого дерева является его сокращение путем отсечения (pruning) некоторых ветвей.
Качество классификационной модели, построенной при помощи дерева решений, характеризуется двумя основными признаками: точностью распознавания и ошибкой.
Точность распознавания – отношение правильно классифицированных объектов при обучении к общему количеству объектов из обучающего множества.
Ошибка - отношение неправильно классифицированных объектов при обучении к общему количеству объектов из обучающего множества.
Отсечение ветвей или замену некоторых ветвей поддеревом следует проводить там, где эта процедура не приводит к возрастанию ошибки. Процесс проходит снизу вверх, т.е. является восходящим. Это более популярная процедура, чем использование правил остановки. Деревья, получаемые после отсечения некоторых ветвей, называют усеченными.
Алгоритмы
Существует большое число алгоритмов, реализующих деревья решений: CART, ID3, C4.5, CHAID, CN2, NewId, ITrule и другие. Рассмотрим некоторые из них.
Алгоритм cart
Алгоритм CART (Classification and Regression Tree, 1974-84г.) - решает задачи классификации и регрессии. Атрибуты набора данных могут иметь дискретное и числовое значение. Предназначен для построения бинарных (двоичных) деревьев решений.
Основные характеристики алгоритма CART: бинарное расщепление, критерий расщепления - индекс Gini, перекрестная проверка, принцип "вырастить дерево, а затем сократить", высокая скорость построения, обработка пропущенных значений.
Другие особенности алгоритма CART:
функция оценки качества разбиения;
механизм отсечения дерева;
алгоритм обработки пропущенных значений;
построение деревьев регрессии.
Каждый узел бинарного дерева при разбиении имеет только двух потомков, называемых дочерними ветвями. Дальнейшее разделение ветви зависит от того, много ли исходных данных описывает данная ветвь. На каждом шаге построения дерева правило, формируемое в узле, делит заданное множество примеров на две части. Правая его часть (ветвь right) - это та часть множества, в которой правило выполняется; левая (ветвь left) - та, для которой правило не выполняется.
Алгоритм ID3
Рассмотрим критерий выбора независимой переменной, от которой будет строиться дерево. Полный набор вариантов разбиения |X| - количество независимых переменных. Рассмотрим проверку переменой xh, которая принимает m значений ch1,ch2,...,chm. Тогда разбиение множества всех объектов обучающей выборки N по проверке переменной xh даст подмножества T1,T2,...,Tm.
При разбиении исходного множества, будем получать подмножества с меньшим числом объектом, но более упорядоченные так, чтобы в каждом из них были по возможности объекты одного класса. Эта мера упорядоченности (неопределенности) характеризуется информацией - это количество информации, необходимое для того, чтобы отнести объект к тому или иному классу.
При разделении исходного множества на более мелкие подмножества, неопределённость принадлежности объектов конкретным классам будет уменьшаться. Задача состоит в том, чтобы выбрать такие независимые переменные, чтобы максимально уменьшить эту неопределенность и в конечном итоге получить подмножества, содержащие объекты только одного класса. В последнем случае неопределенность равна нулю.
Единственная доступная информация - каким образом классы распределены в множестве T и его подмножествах, получаемых при разбиении. Именно она и используется при выборе переменной.
Пример - требуется построить дерево решений относительно того, состоится ли игра при заданных погодных условиях. Исходя из прошлых наблюдений (накопленных исторических данных), возможны четыре варианта разбиения дерева (рис.4.3).
Критерий для выбора атрибута (зависимой переменной) - Gain.
Критерий Gain рассчитывается для всех независимых переменных, затем выбирается переменная с максимальным значением Gain. Необходимо выбрать такую переменную, чтобы при разбиении по ней один из классов имел наибольшую вероятность появления. Это возможно в том случае, когда критерий Gain(X) достигает своего максимума.
Рис.
4.3. Варианты разбиения дерева
Критерий Gain рассчитывается для всех независимых переменных, затем выбирается переменная с максимальным значением Gain. Необходимо выбрать такую переменную, чтобы при разбиении по ней один из классов имел наибольшую вероятность появления. Это возможно в том случае, когда критерий Gain(X) достигает своего максимума.
В примере значение Gain для независимой переменной "Наблюдение" (перспектива) будет равно:
Gain (перспектива) = Info(I) – Info(перспектива) = 0,94-0,693=0,247 бит.
Аналогичные расчеты можно провести для других независимых переменных. В результате получаем:
Gain (наблюдение) =0,247 бит.
Gain (температура) =0,029 бит.
Gain (влажность) =0,152 бит.
Gain (ветер) =0,048 бит.
Таким образом, для первоначального разбиения лучше всего выбрать независимую переменную "Наблюдение". Далее требуется выбрать следующую переменную для разбиения. Варианты разбиения представлены на рисунке 4.4.
Аналогичным образом можно посчитать значение Gain для каждого разбиения:
Gain (температура) =0,571 бит.
Gain (влажность) =0,971 бит.
Gain (ветер) =0,02 бит.
Видно, что следующей переменной, по которой будет разбиваться подмножество T (солнечно) будет "Влажность". Дальнейшее разбиение этой ветви уже не потребуется, т.к. в получившихся подмножествах все объекты относятся только к одному классу.
Рис.4.4.
Варианты 2 разбиения дерева
Если в процессе работы алгоритма получен узел, ассоциированный с пустым множеством (ни один объект не попал в данный узел), то он помечается как лист, и в качестве решения листа выбирается наиболее часто встречающийся класс у непосредственного предка данного листа.
Алгоритм C4.5 - усовершенствованный вариант алгоритма ID3.
Улучшения:
возможность работать с числовыми атрибутами;
после построения дерева происходит усечение его ветвей. Если получившееся дерево слишком велико, выполняется либо группировка нескольких узлов в один лист, либо замещение узла дерева нижележащим поддеревом.
Недостаток алгоритма ID3 - он некорректно работает с атрибутами, имеющими уникальные значения для всех объектов из обучающей выборки. Алгоритм C4.5 решает эту проблему путём введения нормализации. Оценивается не количество объектов того или иного класса после разбиения, а число подмножеств и их мощность (число элементов).
Алгоритм покрытия - заключается в построении отдельной ветки дерева решений для каждого класса. Задача построения полного дерева при помощи этого алгоритма обычно не решается. На каждом этапе генерируется проверка узла дерева, который покрывает несколько объектов обучающей выборки. На каждом шаге алгоритма выбирается значение переменной, которое разделяет множество на два подмножества. Разделение должно выполняться так, чтобы все объекты класса, для которого строится дерево, принадлежали одному подмножеству. Такое разбиение производится до тех пор, пока не будет построено подмножество, содержащее только объекты одного класса. Таким же образом строятся деревья для других классов.
Разработка новых масштабируемых алгоритмов. Наиболее серьезное требование, которое предъявляется к алгоритмам конструирования деревьев решений - это масштабируемость, т.е. алгоритм должен обладать масштабируемым методом доступа к данным. Разработан ряд новых масштабируемых алгоритмов, один из них - алгоритм Sprint - масштабируемый вариант алгоритма CART, предъявляет минимальные требования к объему оперативной памяти.
Ни один алгоритм построения дерева нельзя априори считать наилучшим или совершенным, подтверждение целесообразности использования конкретного алгоритма должно быть проверено и подтверждено экспериментом.
Области применения деревьев решений
Деревья решений – отличный инструмент в системах поддержки принятия решений, интеллектуального анализа данных (data mining). В состав многих пакетов, предназначенных для интеллектуального анализа данных, уже включены методы построения деревьев решений.
Деревья решений успешно применяются для решения практических задач в областях:
Банковское дело. Оценка кредитоспособности клиентов банка при выдаче кредитов.
Промышленность. Контроль за качеством продукции (выявление дефектов), испытания без разрушений (например, проверка качества сварки) и т.д.
Медицина. Диагностика различных заболеваний.
Молекулярная биология. Анализ строения аминокислот.
