ПОЛНОЕ ЗАДАНИЕ В ДЕМО ФАЙЛЕ,
ЧАСТЬ ДЛЯ ПОИСКА ДУБЛИРУЮ НИЖЕ
1
МЕТОДЫ РАСПОЗНАВАНИЯ ОБРАЗОВ
ЛАБОРАТОРНАЯ РАБОТА №1 МЕТОД К-БЛИЖАЙШИХ СОСЕДЕЙ. МЕТОД БЛИЖАЙШИХ СРЕДНИХ
Цель работы: изучение метода k-ближайших соседей и метода ближайших средних для задач классификации.
МЕТОД К-БЛИЖАЙШИХ СОСЕДЕЙ
Самостоятельно см. стр. 108-119 учебник Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976. 511 с.
МЕТОД БЛИЖАЙШИХ СРЕДНИХ (ЦЕНТРОВ)
Отнесение объекта к классу определяется близостью до средних значений признаков объектов классов обучающей выборки. Иногда рассматривается вариант ближайших центров.
2
СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать цель работы, задание, выводы и основную часть.
1. Самостоятельно выбрать массив данных для решения задачи классификации из репозитория UCI.
2. Самостоятельно подготовить массив данных для трехклассовой задачи конфигурации точек на двумерной плоскости.
3. Написать программу на любом языке программирования для оценивания качества классификации и сравнения методов k-ближайших соседей и ближайших средних. Сравнить результаты при различных значениях параметра k и различных видах функции расстояния.
4. Предложить и реализовать метод сокращения выборки (отбор эталонных объектов), с целью повышения вычислительной эффективности метода.
_
1
МЕТОДЫ РАСПОЗНАВАНИЯ ОБРАЗОВ
ЛАБОРАТОРНАЯ РАБОТА №2
ПОСТРОЕНИЕ ЛОГИСТИЧЕСКОЙ РЕГРЕСИИ
Цель работы: изучение метода логистической регрессии для двухклассового
распознавания образов.
РАСПОЗНВАНИЕ ОБРАЗОВ МЕТОДОМ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ
Самостоятельно ознакомиться с теоретическими положениями см.
Andrew Ng. Stanford CS229 Lecture Notes.
Построить логистическую регрессию для решения задачи двухклассового
распознавания образов для заданного набора, проведя оптимизацию целевого
критерия методом градиентного спуска.
Для нечетных вариантов целевой критерий:
2
1 1
1
1
( , ,..., , ,..., ) min.
1
T
i
N
N N i
i
J y y y
e−
=
= − →
+
a x a
a x x
Для четных вариантов целевой критерий:
1 1
1
1 1
( , ,..., , ,... ) ln (1 ) ln 1 min.
1 1
T T
i i
N
N N i i
i
J y y y y
e e − −
=
= − − − − →
+ +
a x a x a
a x x
2
СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать цель работы, задание, выводы и основную часть.
1. Набор данных №1 представлен на рисунке 1.
Рисунок 1 – Набор данных для анализа №1
2. Набор данных №2 представлен на рисунке 2.
Рисунок 2 – Набор данных для анализа №2
3. Набор данных №3 представлен на рисунке 3.
3
Рисунок 3 – Набор данных для анализа №3
_
1
МЕТОДЫ РАСПОЗНАВАНИЯ ОБРАЗОВ
ЛАБОРАТОРНАЯ РАБОТА №3
ОДНОКЛАССОВАЯ КЛАССИФИКАЦИЯ
Цель работы: изучение метода одноклассовой классификации SVDD для
распознавания образов.
ОДНОКЛАССОВОЕ РАСПОЗНАВАНИЕ ОБРАЗОВ МЕТОДОМ SVDD
Классическая постановка задачи обучения распознаванию образов
представляет собой способ построения разделяющей границы для двух
классов объектов реального мира , недоступных для наблюдения,
каждый из которых представлен вектором числовых признаков как точка в
линейном пространстве x( ) n , где n – количество признаков, доступных
для наблюдения. Для определения принадлежности объекта к одному из двух
классов y = 1 обычно используется некоторое решающее правило (decision
rule/function), заданное функцией (x | a, ) a x : T d b = + b n → , знак которой
укажет класс объекта (a x ) T sign + b . Очевидно, что в данном случае функция
d(x | a,b) является математическим описанием гиперплоскости –
разделяющей границы двух классов.
Однако существуют задачи классификации, когда обучающая выборка
представлена только лишь объектами единственного класса, и необходимо
разделить линейное пространство на две непересекающиеся области с не
слишком «сложной» границей, так, чтобы обучающая совокупность, в
основном, содержалась в одной из них. Такая задача получила название
одноклассовой классификации [1]. В таком случае решающее правило
одноклассового распознавания определяет, принадлежит ли объект реального
мира заданному классу или нет и финальное решение представлено
двухклассовым индексом. Данная лабораторная работа посвящена
рассмотрению именно такой задачи.
Самостоятельно ознакомиться с теоретическими положениями метода
описания данных опорными векторами, Support Vectors Data Description
(SVDD) [2], мак же см. метод [3].
Пример применения метода SVDD для простой выборки объектов на
двумерной плоскости показан на рис. 1.
2
Рисунок 1 – Пример применения SVDD классификатора с линейной (слева)
и RBF (справа) потенциальной функцией
Задание.
Построить и визуализовать решающее правило для решения задачи
одноклассового распознавания образов с учетом влияния нетипичных
объектов [4] для заданного набора, проведя оптимизацию целевого критерия
методом полного перебора.
Основной базовый критерий:
( )
, , 1, ,
1
min ,
0
, , 0, 1, , ,
N
N
i
R
i
i i i
R C
C
R i N
=
+ →
+ =
a
x a
.
Его эквивалентная форма:
( ( ) ) ,
1
max 0, , min.
N
R
i
i R C R
=
+ − → a
x a
Провести сравнение с критериями SVDD и One-Class-Classification.
3
СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать цель работы, задание, выводы и основную часть.
1. Набор данных №1 представлен на рисунке 2.
Рисунок 2 – Набор данных для анализа №1
2. Набор данных №2 представлен на рисунке 3.
Рисунок 3 – Набор данных для анализа №2
3. Набор данных №3 представлен на рисунке 4.
Рисунок 4 – Набор данных для анализа №3
4
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
1. Moya M.M., Koch M.W., Hostetler L.D. One-Class Classifier Networks for Target Recognition Applications // Proc. WCNN’93, World Congress on Neural Networks. 1993. Vol. III. P. 797–801.
2. Tax D. M. J., Duin R. P. W. Support vector data description //Machine learning. – 2004. – Т. 54. – №. 1. – С. 45-66.
3. Schölkopf B. et al. Estimating the support of a high-dimensional distribution. // Neural Comput. MIT Press 238 Main St., Suite 500, Cambridge, MA 02142-1046 USA journals-info@mit.edu, 2001. Vol. 13, № 7. P. 1443–1471.
4. Ларин А.О., Середин О.С., Копылов А.В. Модифицированный критерий для описания данных гиперсферой с учетом нетипичных объектов // Известия ТулГУ. Серия Технические науки, №10, 2020 г. стр. 231-239.
_
МИИНСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Тульский государственный университет»
Кафедра «Информационная безопасность»
СБОРНИК МЕТОДИЧЕСКИХ УКАЗАНИЙ
К ПРАКТИЧЕСКИМ РАБОТАМ
по дисциплине
МЕТОДЫ РАСПОЗНАВАНИЯ ОБРАЗОВ
Уровень профессионального образования: высшее образование – магистратура
Направление подготовки: 09.04.01 «Информатика и вычислительная техника»
Профиль подготовки: «Компьютерный анализ и интерпретация данных»
Квалификация выпускника: 69 магистр
Формы обучения: очная
Тула 2021 г.
2
Методические указания к практическим работам составлены доцентом, к.ф.-м.н. Серединым О.С. и обсуждены на заседании кафедры информационной безопасно-сти института прикладной математики и компьютерных наук,
протокол № 6 от " 31 " января 2021 г.
Зав. кафедрой________________А.А. Сычугов
Методические указания к практическим работам пересмотрены и утверждены на заседании кафедры информационной безопасности института прикладной мате-матики и компьютерных наук,
протокол №___ от "___"____________ 20___ г.
Зав. кафедрой________________А.А. Сычугов
3
ВВЕДЕНИЕ
Курс «Методы распознавания образов» является одной из основных дисциплин, на базе которых строится подготовка специалистов в области создания информационных технических систем, программных комплексов, направленных на интеллектуальный анализ данных.
В результате обучения студенты должны знать:
- основные методы теории распознавания образов;
- существующие программные средства для решения задач распознавания образов.
Практические занятия способствуют приобретению навыков практического исполь-зования средств распознавания образов и состоит из 4 практических работ:
Номер и наименование в соответствии с методическими указаниями
количество часов
Ауд.
самост.
1. Распознавание образов без учителя в пакете STATGRAPHICS
4
2
2. Изучение методов распознавания образов с использова-нием программного средства WizWhy
6
2
3. Использование деревьев решений для распознавания образов с использованием программного средства See5/C5
6
3
4. Статистический анализ многомерных данных, с исполь-зованием пакета КЛАСС-МАСТЕР
6
2
Итого
22
9
4
ПРАКТИЧЕСКАЯ РАБОТА № 1 РАСПОЗНАВАНИЕ ОБРАЗОВ БЕЗ УЧИТЕЛЯ В ПАКЕТЕ STATGRAPHICS
Цель и задача работы
Освоить использование статистического пакета STATGRAPHICS для интеллекту-ального анализа данных, научиться применять STATGRAPHICS для решения следую-щих задач: проведение кластерного и факторного анализа.
Теоретические положения
1. Основные сведения
Статистические пакеты (SPSS, STATISTICA, STATGRAPHICS и другие) были за-думаны для реализации классического подхода нахождения средних величин и стати-стических зависимостей, но в последние версии включены и методы интеллектуального анализа данных. Эти программные средства, как правило, очень тяжеловесны и дорого-стоящи, поэтому используются в основном в научной деятельности, а не в финансово-торговой сфере.
Универсальный статистический пакет Manugistics STATGRAPHICS Plus 5.1 пред-назначен для обработки статистической информации, различного рода эксперименталь-ных данных, формирования графиков, зависимостей и схем результатов экспериментов и многого другого. После запуска программы появится окно “StatWizard” в котором пред-лагается помочь с вводом данных и их анализом. Чтобы не использовать его можно нажать кнопку Cancel в окне. Далее появиться главное окно программы, которое изоб-ражено на рисунке 1.
Рисунок 1 - Главное окно STATGRAPHICS
5
Внизу окна располагаются свернутые окна: StatFolio, StatAdvisor, StatGallery и Sta-tReporter. Эти окна можно развернуть сделав двойной щелчок мышью на соответствую-щем окне. В окне StatFolio находятся комментарии к проекту. В окне StatAdvisor распо-лагается интерпретация результатов статистических процедур. Оно дает объяснение ре-зультатов статистических испытаний, предупреждает об ошибках, которые могут воз-никнуть с вводом некорректных данных, и предложить другие процедуры, которые мог-ли бы быть применены. В окне StatGallery отображаются результаты исследований в ви-де графиков. StatReporter предназначен для создания отчета по исследованиям в формате rtf. Также внизу главного окна располагаются окна с производимыми в данный момент исследованиями.
На панели инструментов расположены кнопки часто используемых команд из ме-ню. Так кнопка (соответствующее меню File->Open->Open StatFolio…) открывает проект STATGRAPHICS, а кнопка (File->Save->Save StatFolio) – сохраняет.
2. Таблицы данных. Ввод и сохранение данных
Главным элементом проекта в STATGRAPHICS является таблица с данными. Её можно открыть с помощью кнопки (File-> Open->Open Data File…) и сохранить с помощью кнопки (File->Save->Save Data File). STATGRAPHICS умеет открывать файлы Excel, xml, dbf и некоторые другие. Имеется собственный формат таблицы с дан-ными (*.sf). Кроме того, STATGRAPHICS может получать данные из запросов к базам данных ODBC (File-> Open->Query Database (ODBC)…), из буфера обмена (File-> Open->Read Clipboard…). Открытую таблицу с данными (рисунок 2) можно подкорректиро-вать (в частности, можно не используя других источников данных набрать данные вруч-ную или сформировать методом Generate Data … из контекстного меню для колонки (на рисунке 2 так сформирована колонка Col_3 с формулой для формирования RANDOM(Y))).
Рисунок 2 - Таблица данных
6
Данные могут изменяться в процессе исследования (особенно, если они берутся из рабочих баз данных, из файлов, создаваемых другими приложениями). Для работы с та-кими данными в STATGRAPHICS предусмотрен механизм обращения к источникам данных (подменю File->StatLink). В этом подменю можно задать источник данных (пункт Change Data Source…, рисунок 3) и включить механизм обращения к этому ис-точнику (пункт Start Poling…) с заданием периода между обращениями в секундах, ми-нутах или часах.
Рисунок 3 - Выбор источника данных
После окончания исследований надо отключить механизм обращения к источникам данных (пункт Stop Poling). Можно обращаться к источнику данных в произвольный момент времени (пункт Update Now). Информацию об источнике данных, времени по-следнего обновления данных количестве колонок и строк можно получить из пункта Display Status.
3. Кластерный и факторный анализ
Кластерный анализ (кнопка на панели управления или пункт меню Special->Multivariate Methods->Cluster Analysis…). Окно параметров при запуске данного иссле-дования представлено на рисунке 4.
Рисунок 4 - Параметры Cluster Analysis
7
В этом окне надо ввести в поле Data все колонки, по которым будет производиться исследование. После нажатия на кнопку Ok откроется окно исследования Cluster Analy-sis (рисунок 5). Изначально в нем открыто Dendrogram, но можно открыть и 2D и 3D представление. В настройках исследования Cluster Analysis (рисунок 6) можно задать метод (Method:k-Means – метод k-средних), метрику различия (Distance Metric: Sity Block – блочная метрика) и количество кластеров (Number of Clusters).
Рисунок 5 - Исследование Cluster Analysis
Рисунок 6 - Настройка Cluster Analysis
В контекстном меню для графических представлений имеется пункт Graphics Op-tion…, в котором можно задать параметры отображения осей, меток на них, прорисовки линий, точек и многое другое. Если какое-либо графическое представление результатов
8
исследований распахнуто на весь экран, то становится активным пункт меню File->Save Graph… (для сохранения картинки). Кроме того, можно добавить текстовую надпись (Add Text), организовать смещение данных (Jitter), повернуть 3D-представление (Rotate), найти определенный элемент таблицы данных и многое другое.
Факторный анализ (пункт меню Special->Multivariate Methods->Factor Analysis…) для тех данных которые мы использовали выявил зависимость третей колонки от второй (рисунок 10), что и требовалось доказать.
Рисунок 10 - Исследование Factor Analysis
Порядок выполнения работы
Ознакомьтесь с теоретической справкой к данной лабораторной работе.
1. Проведите кластерный и факторный анализ в пакете STATGRAPHICS на ос-нове данных из UC Irvine Machine Learning Repository (http://archive.ics.uci.edu/ml/).
2. Оформите отчет по лабораторной работе.
Таблица 1 - Варианты заданий
Вариант
Кластеризация
Факторный анализ
1
Iris
Flags
2
Wine
Computer Hardware
3
Breast Cancer
Glass Identification
4
Flags
Glass Identification
5
Breast Cancer
Computer Hardware
6
Iris
Glass Identification
7
Glass Identification
Flags
8
Wine
Flags
9
Flags
Computer Hardware
9
Содержание отчета
1. Титульный лист.
2. Тема и цель работы.
3. Задание (входные наборы данных и их описание).
4. Описание хода работы, листинги программ, таблицы, графики с результатами ис-следований.
5. Содержательные выводы по проделанной работе.
Контрольные вопросы
1. Какие задачи решают статистические пакеты?
2. Для чего предназначен STATGRAPHICS?
3. Для чего используют StatWizard?
4. Что показывают StatFolio, StatAdvisor, StatGallery и StatReporter
5. Какие источники данных можно использовать в STATGRAPHICS?
6. Как использовать механизм обращения к источникам данных?
7. Как провести кластерный анализ?
8. Какие настройки у алгоритмов у кластерного анализа?
9. Как провести факторный анализ?
10
ПРАКТИЧЕСКАЯ РАБОТА № 2 РАСПОЗНАВАНИЕ ОБРАЗОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО СРЕДСТВА WIZWHY
Цель и задача работы
Ознакомиться c методами анализа данных с использованием алгоритмов ограни-ченного перебора. Приобрести практические навыки анализа массивов данных с исполь-зованием программного средства WizWhy.
Теоретические положения
1. О программе WizWhy
Алгоритмы ограниченного перебора были предложены в середине 60-х годов М.М. Бонгардом для поиска логических закономерностей в данных. С тех пор они продемон-стрировали свою эффективность при решении множества задач из самых различных об-ластей.
Эти алгоритмы вычисляют частоты комбинаций простых логических событий в подгруппах данных. Примеры простых логических событий: X = C1; X < C2; X > C3; C4 < X < C5 и др., где X – какой либо параметр (поле), Ci – константы. Ограничением служит длина комбинации простых логических событий (у М. Бонгарда она была равна 3). На основании анализа вычисленных частот делается заключение о полезности той или иной комбинации для установления ассоциации в данных, для классификации, прогнозирова-ния и пр.
Наиболее ярким современным представителем этого подхода является система WizWhy предприятия WizSoft. Хотя автор системы Абрахам Мейдан не раскрывает спе-цифику алгоритма, положенного в основу работы WizWhy, по результатам тщательного тестирования системы были сделаны выводы о наличии здесь ограниченного перебора (изучались результаты, зависимости времени их получения от числа анализируемых па-раметров и др.).
Автор WizWhy утверждает, что его система обнаруживает ВСЕ логические if-then правила в данных. На самом деле это, конечно, не так. Во-первых, максимальная длина комбинации в if-then правиле в системе WizWhy равна 6, и, во-вторых, с самого начала работы алгоритма производится эвристический поиск простых логических событий, на которых потом строится весь дальнейший анализ. Поняв эти особенности WizWhy, не-трудно было предложить простейшую тестовую задачу, которую система не смогла во-обще решить. Другой момент — система выдает решение за приемлемое время только для сравнительно небольшой размерности данных.
Кроме того, автор WizWhy акцентирует внимание на следующих общих свойствах системы:
11
Вычисление вероятности ошибки для каждого правила
Определение наилучшей сегментации числовых переменных
Вычисление прогностической силы каждого признака
Выявление необычных феноменов в данных
Использование обнаруженных правил для прогнозирования
Выражение прогноза в виде списка релевантных правил
Вычисление ошибки прогноза
Прогноз с учетом стоимости ошибок
В качестве достоинств WizWhy дополнительно отмечают такие:
На прогнозы системы не влияют субъективные причины
Пользователям системы не требуется специальных знаний в прикладной статистике
Более точные и быстрые вычисления, чем у других методов Data Mining
Для убедительности, автор WizWhy противопоставляет свою систему нейросете-вому подходу и алгоритмам построения деревьев решений и утверждает, что WizWhy, обладая более высокими характеристиками, вытесняет другие программные продукты с рынка Data Mining.
Система WizWhy является на сегодняшний день одним из лидеров на рынке про-дуктов Data Mining. Это не лишено оснований. Система постоянно демонстрирует более высокие показатели при решении практических задач, чем все остальные алгоритмы. Не-смотря на высокую стоимость ($4000) имеет более 30000 пользователей по всему миру.
2. Возможности WizWhy
Для использования WizWhy, нужно иметь набор данных, который необходимо про-анализировать. WizWhy определит, как значения одних полей набора данных зависят от значения других полей.
Например, предположим, что Вы обслуживаете базу данных о клиентах, где каждая запись содержит несколько полей, касающихся клиента. Например: Имя Клиента, Адрес, Город, Государство, Область Бизнеса, Продажи на Человека, Купленное Количество, % прироста начиная с Прошлого Года. Одно из этих полей, скажем, % прироста, должна быть определена как зависимая переменная, в то время как другие поля - независимые переменные.
В этом примере, целью мог бы быть анализ задержек клиента, то есть поиск тех клиентов, у которых % прироста отрицателен. % прироста начиная с Прошлого Года мог бы тогда быть проанализирован или как логическое значение, или как непрерывное. При логическом анализе цель могла бы быть в поиске клиентов, где прирост, начиная с Про-шлого Года, меньше чем, скажем, 1 % (или не ниже этого). Непрерывный анализ более детален: он вычисляет определенный рост % каждого клиента как функцию других по-лей.
При анализе данных, WizWhy исполняет следующие действия:
12
1. Он сначала считывает данные. Пользователь выбирает зависимую переменную (% прироста с прошлого года), и может, определяя параметры вроде минимальной веро-ятности правил, минимальное число случаев в каждом правиле, и стоимости ошибок против стоимости ложного правила. WizWhy следует за этими "инструкциями" при со-здании правил.
2. За короткое время, WizWhy вносит в список правила, которые отражают зависи-мость между зависимой переменной и другими полями. Правила сформулированы как "если то" (“if-then”) и предложения "если и только если" (“if-and-only-if”). На основе об-наруженных правил WizWhy также указывает главное правило, неожиданные явления и исключения.
3. WizWhy также может делать предсказания для новых случаев; например, учиты-вая данные нового клиента, WizWhy может вычислить ожидаемый % прироста. Эти предсказания могут быть любыми - логическими (например, действительно ли % приро-ста является вышеупомянутым 1%) или непрерывным (например, % прироста между 5% и 7%).
2.1. Правило «если то» (if-then)
Анализируя данные, WizWhy показывая все, «если-то» правила, которые отобра-жают зависимость между Зависимой Переменной и другими полями. Пример, «если-то» правило:
Если
Город - Нью-Йорк
и Купленное Количество - 200 … 300 (среднее число = 250)
и Продавец - Дейв
То
Прирост начиная с Прошлого Года - меньше чем 1 %
Вероятность правила: 0.70
Правило существует в 370 записях
Уровень Значения: вероятность Ошибки <0.001
Это правило говорит, что для 70% клиентов, живущих в Нью-Йорке, и совершив-ших 200-300 покупок у продавца по имени Дейв, имеют прирост за Прошлый Год - меньше чем 1 %.
Термин "вероятность" определяет то, что другие системы анализа данных называют «Уровнем доверия». “Вероятность ошибки” указывает степень, в которой на правило можно положиться как на основание для предсказаний. Принимая во внимание, что дан-ные при анализе являются, ограниченным образцом бесконечного набора данных, веро-ятность ошибки определяет возможность того, что правило не выполняется для всех данных и может является случайно представленным в данной выборке.
13
Числовые поля, например «Количество покупок» и % прироста, автоматически группируются по интервалам, и эти интервалы - оцениваются в правиле «если-то».
Обнаружение всех правил «если-то» известно как метод правил ассоциации. Одна из главных целей применения такого метода - поиск возможных отношений, в разумном промежутке. Например, данные могли бы содержать:
10 000 записей
20 полей в каждой записи
в среднем около 10 возможных значений для каждого поля
Использование обычных методов означает необходимость проверки всех возмож-ных отношение в таких данных, потребовало бы тысяч лет. WizWhy использует сложный алгоритм, который показывает все правила за короткое время. В предыдущем примере, WizWhy требуется только несколько минут, чтобы обнаружить все «если-то» правила при исследовании.
2.2. Правило "если-и-только-если" (if-and-only-if)
В процессе поиска правил «если-то» WizWhy ищет все правила "если и только ес-ли". Например:
Следующие условия объясняют, когда прирост, начиная с Прошлого Года - меньше чем 1 %:
Если, по крайней мере, одно из этих условий исполняется, вероятность того, что прирост, за прошлый год - меньше чем 1 % - 0.9
Если ни одно из этих условий не выполняется, вероятность что прирост за прошлый год - не меньше чем 1 % - 0.95
Условия
Количество покупок - между 0 … 199 (среднее число = 100)
Продавец – Дэн
то Город является Бостоном
Другими словами, прирост, начиная с прошлого года - меньше чем 1 %, если и только если, Количество покупок - между 0 … 199 или продавец - Дэн, и Город - Бостон.
Правила «если-то» представляют достаточные условия (если условие "если" - до-статочное для результата). Правила "если и только если" идут на один шаг далее. Они представляют необходимые и достаточные условия. В предыдущем примере, эти два условия (1) и (2), являются необходимыми и достаточными условиями для прироста меньше чем 1 %.
Очевидно, что такое отношение не может быть случайным, и поэтому на него мож-но было бы положиться при предсказании. Действительно, когда WizWhy показывает правила "если и только если" они принимаются во внимание их при предсказывании случаев.
Раскрытие правил "если и только если" также помогает в определении главных об-разцов в данных. Одна общая проблема правил «если-то» то, что они являются слишком
14
многочисленными. Действительно, во многих данных устанавливает WizWhy, может об-наружить тысячи правил «если-то». Все из них действительны и могут использоваться для предсказания, но не могут быть рассмотрены вручную на практике. Раскрытие пра-вил " если и только если " решает эту проблему.
2.3. Суммирование данных
Как уже упомянуто выше, некоторые пользователи интересуются извлечением дан-ных, чтобы выпустить суммарные данные.
WizWhy выполняет эту задачу, внося в список отношения между всеми значениями в каждом поле и зависимой переменной. Рассмотрим поле «количество покупок» в вы-шеупомянутом примере. WizWhy сегментирует поля по интервалам и показывает отно-шения между каждым интервалом и анализируемым значением (прирост за прошлый год - меньше чем 1 %).
Например, при анализе поля «количество покупок», WizWhy может показать сле-дующие отношения:
ЕСЛИ Купленное Количество – между
ТОГДА вероятность, что прирост начиная с Прошлого Года - меньше чем 1 %:
0 – 199
50 %
200 – 300
40 %
301 – 480
30 %
481 – 791
15 %
Каждая строка – правило «если-то». Некоторые или даже все эти «если-то» утвер-ждения не могут быть правилами, так как они не могут выполнить требование, что веро-ятность правила должна быть значительно выше или ниже чем первичная частота. Одна-ко все они представляют основные тенденции в данных.
WizWhy также вычисляет мощность влияния каждого поля. Т.е. определяет, до ка-кой степени поле влияет на зависимую переменную. При сортировке полей по этому па-раметру можно обнаружить поля, внесенные в список согласно "важности".
2.4. Феномены
Обнаружение феноменов происходит при условии, что феномены представляют ин-терес. Например, случай, который является противоречивым с принятой теорией - фено-мен. Теперь, каждое правило может рассматриваться как случай, и тенденции.
Феномен имеет, по крайней мере, два условия. Основные правила имеют меньше условий (во многих случаях, они имеют только одно условие), и основные тенденции, по определению, также имеют одно только условие. Каждое из условий феномена появля-ется в основных правилах и тенденциях. Феномен - маловероятный случай относительно основных правил и тенденций.
Уровень неправдоподобности вычислен в следующей манере: рассмотрим набор данных из 1000 записей, где каждая запись относится к одному пациенту, и содержит информацию относительно того, показывает ли пациент или симптом A или B и диагноз
15
(действительно ли пациент страдает от болезни D). Предположим также, что 30 % паци-ентов имеют болезнь D, и были обнаружены следующие три правила:
1. если пациент показывает симптом A, вероятность, что он или она страдают от бо-лезни D - 60 %.
2. если пациент показывает симптом B, вероятность, что он или она страдают от бо-лезни D - 60 %.
3. если пациент показывает, оба симптома, вероятность болезни D – 20% .
В этом примере, правила 1 и 2 - основные, а 3 - феномен.
WizWhy вычисляет, что должно было быть вероятностью наличия болезни D среди пациентов, показывающих оба симптома, на основе правил 1 и 2, вопреки фактической вероятности в правиле 3. Это - ожидаемая вероятность. Вычислив ожидаемую вероят-ность WizWhy измеряет зависимость между признаком А и B. Различие между ожидае-мой вероятностью и фактической вероятностью имеет значение, как маловероятное пра-вило 3 в отношении правил 1 и 2.
WizWhy измеряет эту неправдоподобность дополнительным способом. WizWhy вычисляет условную вероятность случая, описанного в правиле 3, учитывая условия, описанные в правилах 1 и 2. В рассматриваемом примере условная вероятность – почти равна нулю, и поэтому, уровень неправдоподобности, равный 1 минус условная вероят-ность почти 1. Обратите внимание, что вероятность феномена может быть намного выше или намного ниже чем ожидаемая вероятность. Любое существенное отклонение неожи-данно.
2.5. Предсказания данных
WizWhy использует правила, обнаруженные в данных, чтобы генерировать пред-сказания для новых случаев. Когда вводится новая запись, WizWhy применяет правила для значений этой записи и вычисляет ожидаемое значение зависимой переменной. Например, можно использовать WizWhy на финансовых данных, где зависимая пере-менная - поле, показывающая, обанкротилась ли компания. WizWhy покажет правила, которые имеют отношение к банкротству. Когда данные новой компании будут введены, WizWhy применит уместные правила, и вычислит вероятность того, что эта компания обанкротилась. При генерации предсказаний WizWhy может внести в список правила, которые влекут за собой каждое предсказание. Эти правила служат объяснениями пред-сказаний.
Предсказания могут быть или логические (например, обанкротится ли компания или нет), многозначимыми (например, симптомы пациента) или непрерывной (например, финансовые данные).
3. Считывание данных
WizWhy может читать данные или непосредственно, или через ODBC и OLE DB:
16
• WizWhy непосредственно читает Текст (ASCII), *.dbf (dBase, FoxPro, и т.д.), Microsoft Access, Microsoft SQL и Oracle.
• WizWhy также читает любые базы, для которых имеется ODBC или OLE DB драйвер.
WizWhy может присоединить несколько таблиц к одному набору данных.
4. Описание интерфейса пользователя
4.1. Меню
Меню WizWhy содержит следующие пункты:
File – для управления файлами и для открытия наборов данных.
Edit – для выполнения общих функция редактирования.
View – для отображения/скрытия панелей инстументов.
Issue – для выбора выдачи правил и команд предсказания.
Settings – для установки шрифтов и свойств.
Windows – для выбора активного окна.
4.2. Панель действий
Вы можете использовать эти четыре кнопки для указания WizWhy, что необходимо выдать.
Нажмите Issue Trends для выдачи отчета отклонений (без выдачи правил).
Нажмите Issue Rules для обнаружения правил и выдачи отчетов (включая отчет от-клонений).
Нажмите Predict to File для обновления предсказаний в другом файле.
Нажмите Predict online для создания предсказания для нового набора данных, вве-денного вручную.
4.3. Панель отчетов
Вы можете использовать эти семь кнопок для переключения между главным окном и окнами отчетов.
Нажмите левую кнопку для перехода к главному окну.
Нажмите кнопку с символом R для перехода к окну Rule report
Нажмите кнопку с символом T для перехода к окну Trend report.
17
Нажмите кнопку с символом U для перехода к окну Unexpected rules report.
Нажмите кнопку с символом C для перехода к окну Comprehensive rules report (пра-вила if-and-only-if).
Нажмите кнопку с символом S для перехода к окну Unexpected Cases report.
Нажмите кнопку с символом B для перехода к окну Prediction report.
4.4. Панель окон
Вы можете использовать эту панель для переключения между главным окном и ок-нами отчетов, как панель отчетов.
Нажмите на + и выберите нужное окно.
5. Последовательность действий при работе с программой
Сначала нужно открыть данные для анализа.
После открытия данных, необходимо выбрать зависимую переменную и определить параметры, которые будут использоваться в анализе.
Затем вы можете выбрать один из следующих вариантов:
Нажмите кнопку Issue Trends если хотите посмотреть только отчет отклонений.
Нажмите кнопку the Issue Rules если хотите посмотреть все отчеты (включая отчет отклонений) вывода предсказаний.
После вывода правил вы можете создать предсказания.
Нажмите кнопку Predict to File для обновления предсказаний в другом файле. Если вы выберите эту команду до того, как правила были выведены, WizWhy будет выводить все ответы (как при нажатии на Issue Rules) и обновлять предсказания.
Нажмите кнопку Predict on-line если интересен вывод предсказания на экран для новых данных введенных вручную.
Порядок выполнения работы
Ознакомьтесь с теоретической справкой к данной лабораторной работе.
Выберите задание в соответствие с номером своего варианта. Данные прилагаются в файле WizWhy-tabl.xls. На каждый набор данных (таблицу)существует два варианта задания. Нечетным вариантам необходимо проанализировать параметры, отмеченные красным цветом, а четным - синим. Таким образом, варианты распределяются следую-щим образом: 1лист – (1, 2), 2 лист – (3, 4), 3 лист – (5, 6), 4 лист – (7, 8), 5лист – (9, 10), и 6 лист – (11, 12).
Запустите WizWhy через меню Старт/Программы или при помощи ярлыка на рабо-чем столе.
Откройте свой набор данных (закладка Basic Data).
Задайте параметры анализа (закладка Rule Parameters).
Сформируйте правила (кнопка Issue Rules).
18
Составьте отчет и сделайте выводы.
Содержание отчета
1. Номер и название лабораторной работы.
2. Цель и задания на лабораторную работу.
3. Исходный набор данных.
4. Результаты экспериментов: отчет с найденными правилами «if-then» (Rule Report) и график суммирования данных по анализируемому параметру (Trend Report).
5. Обоснованный вывод.
Контрольные вопросы
1. Для чего используются алгоритмы ограниченного перебора и на чем основа-на их работа?
2. Что такое зависимые и независимые переменные?
3. Чем различаются логический и непрерывный анализ?
4. Что представляют собой правила «if-then»?
5. Что представляют собой правила «if-and-only-if»?
6. Что показывает вероятность ошибки?
7. Что показывает суммирование данных?
8. Что такое феномен и из чего он состоит?
9. Для чего применяют предсказание данных?
19
ПРАКТИЧЕСКАЯ РАБОТА № 3 ИСПОЛЬЗОВАНИЕ ДЕРЕВЬЕВ РЕШЕНИЙ ДЛЯ РАСПОЗНАВАНИЯ ОБРАЗОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО СРЕДСТВА SEE5/C5
Цель и задача работы
Изучить деревья решений, метод для решения задач интеллектуального анализа данных. Получить практические навыки работы с программой See5/C5.
Теоретические положения
Стремительное развитие информационных технологий, в частности, прогресс в ме-тодах сбора, хранения и обработки данных позволил многим организациям собирать огромные массивы данных, которые необходимо анализировать. Объемы этих данных настолько велики, что возможностей экспертов уже не хватает, что породило спрос на методы автоматического исследования (анализа) данных, который с каждым годом по-стоянно увеличивается.
Деревья решений – один из таких методов автоматического анализа данных. Пер-вые идеи создания деревьев решений восходят к работам Ховленда (Hoveland) и Хан-та(Hunt) конца 50-х годов XX века. Однако, основополагающей работой, давшей им-пульс для развития этого направления, явилась книга Ханта (Hunt, E.B.), Мэрина (Marin J.) и Стоуна (Stone, P.J) «Experiments in Induction», увидевшая свет в 1966 г.
1. Терминология
Введем основные понятия из теории деревьев решений, которые будут использо-ваться:
Объект - пример, шаблон, наблюдение;
Атрибут - признак, независимая переменная, свойство;
Метка класса - зависимая переменная, целевая переменная, признак определяющий класс объекта;
Узел - внутренний узел дерева, узел проверки;
Лист - конечный узел дерева, узел решения;
Проверка (test) - условие в узле;
2. Что такое дерево решений и типы решаемых задач
Деревья решений – это способ представления правил в иерархической, последова-тельной структуре, где каждому объекту соответствует единственный узел, дающий ре-шение.
20
Под правилом понимается логическая конструкция, представленная в виде «если … то …».
Рисунок 1 - Пример дерева решений
Область применения деревья решений в настоящее время широка, но все задачи, решаемые этим аппаратом могут быть объединены в следующие три класса:
− Описание данных: Деревья решений позволяют хранить информацию о данных в компактной форме, вместо них мы можем хранить дерево решений, которое содер-жит точное описание объектов.
− Классификация: Деревья решений отлично справляются с задачами классификации, т.е. отнесения объектов к одному из заранее известных классов. Целевая переменная должна иметь дискретные значения.
− Регрессия: Если целевая переменная имеет непрерывные значения, деревья решений позволяют установить зависимость целевой переменной от независимых(входных) переменных. Например, к этому классу относятся задачи численного прогнозирова-ния(предсказания значений целевой переменной).
3. Как построить дерево решений?
Пусть нам задано некоторое обучающее множество T, содержащее объекты (при-меры), каждый из которых характеризуется m атрибутами (атрибутами), причем один из них указывает на принадлежность объекта к определенному классу.
Идею построения деревьев решений из множества T, впервые высказанную Хантом, приведем по Р. Куинлену (R. Quinlan).
Пусть через {C1, C2, … Ck} обозначены классы(значения метки класса), тогда суще-ствуют 3 ситуации:
1. множество T содержит один или более примеров, относящихся к одному классу Ck. Тогда дерево решений для Т – это лист, определяющий класс Ck;
21
2. множество T не содержит ни одного примера, т.е. пустое множество. Тогда это сно-ва лист, и класс, ассоциированный с листом, выбирается из другого множества от-личного от T, скажем, из множества, ассоциированного с родителем;
3. множество T содержит примеры, относящиеся к разным классам. В этом случае следует разбить множество T на некоторые подмножества. Для этого выбирается один из признаков, имеющий два и более отличных друг от друга значений O1, O2, … On. T разбивается на подмножества T1, T2, … Tn, где каждое подмножество Ti со-держит все примеры, имеющие значение Oi для выбранного признака. Это процеду-ра будет рекурсивно продолжаться до тех пор, пока конечное множество не будет состоять из примеров, относящихся к одному и тому же классу.
Вышеописанная процедура лежит в основе многих современных алгоритмов по-строения деревьев решений, этот метод известен еще под названием разделения и захва-та (divide and conquer). Очевидно, что при использовании данной методики, построение дерева решений будет происходит сверху вниз.
Поскольку все объекты были заранее отнесены к известным нам классам, такой процесс построения дерева решений называется обучением с учителем (supervised learning). Процесс обучения также называют индуктивным обучением или индукцией деревьев (tree induction).
На сегодняшний день существует значительное число алгоритмов, реализующих деревья решений CART, C4.5, NewId, ITrule, CHAID, CN2 и т.д. Но наибольшее распро-странение и популярность получили следующие два:
− CART (Classification and Regression Tree) – это алгоритм построения бинарного дерева решений – дихотомической классификационной модели. Каждый узел дере-ва при разбиении имеет только двух потомков. Как видно из названия алгоритма, решает задачи классификации и регрессии.
− C4.5 – алгоритм построения дерева решений, количество потомков у узла не огра-ничено. Не умеет работать с непрерывным целевым полем, поэтому решает только задачи классификации.
Большинство из известных алгоритмов являются «жадными алгоритмами». Если один раз был выбран атрибут, и по нему было произведено разбиение на подмножества, то алгоритм не может вернуться назад и выбрать другой атрибут, который дал бы луч-шее разбиение. И поэтому на этапе построения нельзя сказать даст ли выбранный атри-бут, в конечном итоге, оптимальное разбиение.
4. Этапы построения деревьев решений
При построении деревьев решений особое внимание уделяется следующим вопро-сам: выбору критерия атрибута, по которому пойдет разбиение, остановки обучения и отсечения ветвей. Рассмотрим все эти вопросы по порядку.
22
4.1. Правило разбиения. Каким образом следует выбрать при-знак?
Для построения дерева на каждом внутреннем узле необходимо найти такое усло-вие (проверку), которое бы разбивало множество, ассоциированное с этим узлом на под-множества. В качестве такой проверки должен быть выбран один из атрибутов. Общее правило для выбора атрибута можно сформулировать следующим образом: выбранный атрибут должен разбить множество так, чтобы получаемые в итоге подмножества состо-яли из объектов, принадлежащих к одному классу, или были максимально приближены к этому, т.е. количество объектов из других классов («примесей») в каждом из этих мно-жеств было как можно меньше. Были разработаны различные критерии, но мы рассмот-рим только два из них.
4.1.1. Теоретико-информационный критерий
Алгоритм C4.5, усовершенствованная версия алгоритма ID3 (Iterative Dichotomizer), использует теоретико-информационный подход. Для выбора наиболее подходящего ат-рибута, предлагается следующий критерий:
(1)
где, Info(T) – энтропия множества T, а
(2)
Множества T1, T2, … Tn получены при разбиении исходного множества T по про-верке X. Выбирается атрибут, дающий максимальное значение по критерию (6.1). Впер-вые эта мера была предложена Р. Куинленом в разработанном им алгоритме ID3. Кроме вышеупомянутого алгоритма C4.5, есть еще целый класс алгоритмов, которые исполь-зуют этот критерий выбора атрибута.
4.1.2. Статистический критерий
Алгоритм CART использует так называемый индекс Gini (в честь итальянского экономиста Corrado Gini), который оценивает «расстояние» между распределениями классов.
(3)
где c – текущий узел, а pj – вероятность класса j в узле c.
CART был предложен Л.Брейманом (L.Breiman) и др.
23
4.2. Правило остановки. Разбивать дальше узел или отметить его как лист?
В дополнение к основному методу построения деревьев решений были предложены следующие правила:
− Ограничить глубину дерева. Остановить дальнейшее построение, если разбиение ведет к дереву с глубиной превышающей заданное значение.
− Разбиение должно быть нетривиальным, т.е. получившиеся в результате узлы должны содержать не менее заданного количества примеров.
− Этот список эвристических правил можно продолжить, но на сегодняшний день не существует такого, которое бы имело большую практическую ценность. К это-му вопросу следует подходить осторожно, так как многие из них применимы в ка-ких-то частных случаях.
Использование статистических методов для оценки целесообразности дальнейшего разбиения, так называемая «ранняя остановка» (prepruning). В конечном счете «ранняя остановка» процесса построения привлекательна в плане экономии времени обучения, но здесь уместно сделать одно важное предостережение: этот подход строит менее точ-ные классификационные модели и поэтому ранняя остановка крайне нежелательна. При-знанные авторитеты в этой области Л.Брейман и Р. Куинлен советуют буквально следу-ющее: «Вместо остановки используйте отсечение».
4.3. Правило отсечения
Очень часто алгоритмы построения деревьев решений дают сложные деревья, кото-рые «переполнены данными», имеют много узлов и ветвей. Такие «ветвистые» деревья очень трудно понять. К тому же ветвистое дерево, имеющее много узлов, разбивает обу-чающее множество на все большее количество подмножеств, состоящих из все меньшего количества объектов. Ценность правила, справедливого скажем для 2-3 объектов, крайне низка, и в целях анализа данных такое правило практически непригодно. Гораздо пред-почтительнее иметь дерево, состоящее из малого количества узлов, которым бы соответ-ствовало большое количество объектов из обучающей выборки. И тут возникает вопрос: а не построить ли все возможные варианты деревьев, соответствующие обучающему множеству, и из них выбрать дерево с наименьшей глубиной? К сожалению, это задача является NP-полной, это было показано Л. Хайфилем (L. Hyafill) и Р. Ривестом (R. Rivest), и, как известно, этот класс задач не имеет эффективных методов решения.
Для решения вышеописанной проблемы часто применяется так называемое отсече-ние ветвей (pruning).
Пусть под точностью (распознавания) дерева решений понимается отношение пра-вильно классифицированных объектов при обучении к общему количеству объектов из обучающего множества, а под ошибкой – количество неправильно классифицированных.
24
Предположим, что нам известен способ оценки ошибки дерева, ветвей и листьев. Тогда, возможно использовать следующее простое правило:
− построить дерево;
− отсечь или заменить поддеревом те ветви, которые не приведут к возрастанию ошибки.
В отличие от процесса построения, отсечение ветвей происходит снизу вверх, дви-гаясь с листьев дерева, отмечая узлы как листья, либо заменяя их поддеревом. Хотя от-сечение не является панацеей, но в большинстве практических задач дает хорошие ре-зультаты, что позволяет говорить о правомерности использования подобной методики.
5. Правила
Иногда даже усеченные деревья могут быть все еще сложны для восприятия. В та-ком случае, можно прибегнуть к методике извлечения правил из дерева с последующим созданием наборов правил, описывающих классы.
Для извлечения правил необходимо исследовать все пути от корня до каждого ли-ста дерева. Каждый такой путь даст правило, где условиями будут являться проверки из узлов встретившихся на пути.
6. Преимущества использования деревьев решений
Рассмотрев основные проблемы, возникающие при построении деревьев, было бы несправедливо не упомянуть об их достоинствах:
− быстрый процесс обучения;
− генерация правил в областях, где эксперту трудно формализовать свои знания;
− извлечение правил на естественном языке;
− интуитивно понятная классификационная модель;
− высокая точность прогноза, сопоставимая с другими методами (статистика, нейронные сети);
− построение непараметрических моделей.
В силу этих и многих других причин, методология деревьев решений является важ-ным инструментом в работе каждого специалиста, занимающегося анализом данных, вне зависимости от того практик он или теоретик.
7. Области применения деревьев решений
Деревья решений являются прекрасным инструментом в системах поддержки при-нятия решений, интеллектуального анализа данных (data mining). В состав многих паке-тов, предназначенных для интеллектуального анализа данных, уже включены методы построения деревьев решений. В областях, где высока цена ошибки, они послужат от-личным подспорьем аналитика или руководителя.
25
8. Анализ данных методом деревьев решений в программе See5/С5
В процесс анализа данных С5 строит деревья решения и/или набор правил, которые связывают
Для работы с С5 в первую очередь надо подготовить данные для С5. Данные для С5 это несколько текстовых файлов, которые определяют классы и признаки, содержат обу-чающую выборку для анализа, содержат объекты, не участвующие в обучающей выбор-ке, для проверки правильности разбиения на, произведенное See5
Название каждого файла, содержащего данные для С5 состоит из filestem.extension, где filestem определяет оьщее название, а extension определяет тип файла и его функцию. Регистр букв в filestem и extension не учитывается, в частности в extension должны ис-пользоваться только строчные буквы.
Подготовленные данные для See5 содержаться в двух обязательных файлах и двух дополнительных:
− Файл с расширением .names (обязательный). В этом файле определены признаки и классы, для анализируемых данных.
− Файл с расширением .data (обязательный). В этом файле содержится обучающая выборка, на основе которой See5 осуществляет классификацию.
− Файл с расширением .test (дополнительный). Этот файл содержит объекты, которые используются, оценить точность классификатора построенного С5.
− Файл с расширением .costs (дополнительный). Этот файл определяет эти штрафы за допущенные ошибки классификации для определенных объектов.
Результатов работы See5 являются два основных файла:
− Файл результатов с расширением .out. Этот файл содержит продукцию для нового классификатора, построенного для этого заявления.
− Служебные файлы С5 с расширением *.tree, *.rules и *.set.
8.1. Описание структуры файла с расширением .names
Файл с расширением .names содержит классы, атрибуты и значения, которые может принимать атрибут. Первая строка не комментарий в этом файле определяет классы, как список названий класса, отделенных запятыми. Далее следует перечисление. Признаки двух видов: явно-определенные признаки (определенный типом, областью значений и т.д.) и неявно-определенные признаки (определенный формулами).
Определение явно-определенного признака начинается с названия признака, после которого стоит двоеточие (‘:’), и затем указывается тип признака, одним из следующих способов:
− Ставиться ключевое слово 'ignore', указывая, что этот признак не должен использо-ваться в построении классификатора.
− Ставиться ключевое слово 'label', указывая, что значение этого признака использу-ется только, чтобы идентифицировать специфические случаи. Признак label может
26
быть полезен для того, чтобы легко определять специфические случаи, особенно. Если больше чем один признак имеет тип label, используется ярлыка только по-следний.
− Ставиться ключевое слово 'continuous', для признаков принимающих значения из множества действительных чисел.
− Ставиться ключевое слово 'date', для признаков, которые принимают значения в форме YYYY-MM-DD или YYYY/MM/DD.
− Ставиться ключевое слово 'time', для признаков, которые принимают значения в форме HH:MM:SS.
− Ставиться ключевое слово ‘timestamp’, которые принимают значения в форме YYYY-MM-DD HH:MM:SS или YYYY/MM/DD HH:MM:SS.
− Ставиться ключевое слово 'discrete' сопровождаемый целым числом N, инструкти-руя See5 собирать список до ценностей N, которые появляются в учебных случаях.
− Список допустимых значений признака, отделенного запятыми.
После определения типа признака должна стоять точка. Пример файла:
| это комментарий.
+, -.| какие классы имеются | ниже перечислены атрибуты и их значения
A1: b,a.| это список значений признака
A2: continuous.
A3: continuous.
A4: u, y, l, t.
A5: g, p, gg.
A6: c, d, cc, i, j, k, m, r, q, w, x, e, aa, ff.
A7: v, h, bb, j, n, z, dd, ff, o.
A8: continuous.
A9: t,f.
A10: t,f.
A11: continuous.
A12: t,f.
A13: g, p, s.
A14: continuous.
A15: continuous.
Неявно-определенный признак - тот, значение которого рассчитывается по формуле от значений предварительно-определенных признаков. Определение неявно-определенного признака имеет форму:
имя: признака = формула.
Формула записывается обычным способом, и может обратиться к любому призна-ку, определенному выше. Константы в формуле могут быть числами, дискретными зна-
27
чениями признака, записанными в кавычках (например, "small"), и датами. В формулах могут использоваться следующие операторы и функции:
− and, or
− +, -, *, /, % (модуль), ^ (степень)
− >, >=, <, <=, =, !=, <>
− log, exp, sin, cos , tan, int (взять целую часть)
Признаки, определенные таким образом имеют значения, которые являются или числами или принимают значения true/false, в зависимости от формулы. Например, x: = + b. даст число, но x: = a> b. вернет логическое значение.
Date YYYY/MM/DD или YYYY-MM-DD представлены как число дней с основной даты, и так могут представляться в некоторых формулах. Например, вычитание ранней даты из более поздней даст число дней между ними. Кроме того, если D - признак даты, то
день недели: = (D + 1) % 7 + 1.
определяет новый признак ‘день недели’, значение которого - день недели, в преде-лах от 1 (понедельник) к 7 (воскресенье).
Time сохранено как число секунд с полуночи (00:00:00). Вычитание времени с бо-лее позднего времени дает число секунд между ними.
Timestamps хранит значения в минутах и вычитание более раннего timestamp из бо-лее позднего timestamp дает число минут между ними.
8.2. Описание структуры файла с расширением .data
Файл данных с расширением .data содержит обучающую выборку, чтобы произве-сти классификацию. Каждый объект выборки представлен отдельной строкой в файле; порядок следования объектов не важен.
Описание объекта состоит из значений явно-определенных признаков (в той же по-следовательности, в какой они появляются в файле описания классов и атрибутов). Все значения отделены запятыми. Признаки, значения которых неизвестны отмечены во-просительным знаком (‘?’).
Следует отметить, что неявно-определенные признаки вообще не указываются, так как они будут вычислены на основе значений других признаков. Если для одного или не-скольких предварительно-определенных признаков значение не определено, то и значе-ние неявно-определенного признака, использующего в их формуле также неизвестно.
Символ комментария такой же - «|» вертикальный слеш, а многократные пробелы рассматриваются как один.
8.3. Описание структуры файла с расширением .test
Необязательный файл с расширением .test содержит значения атрибутов объектов в том же самом формате как и файл с обучающей выборкой. После того, как объекты из
28
обучающей выборки были проанализированы, точность классификации, может быть оценена, посредством определения класса для новых объектов. Это выполняется автома-тически всякий раз, когда тестовый файл присутствует.
8.4. Загрузка подготовленных для анализа данных и сохране-ние результата
Все перечисленные выше файлы должны храниться вместе в одной папке, хотя та же самая папка может содержать несколько наборов данных.
Крайняя левая кнопка на панели инструментов открывает стандартный диалог вы-бора файла, чтобы открыть файл, с расширением *.data содержащий нужные данные. После открытия этого файла See5 ищет в папке другие файлов данных для этого набора данных.
После того, как данные были загружены, меню “EDIT” позволит редактировать *.names и *.costs файл для этого набора данных, с помощью Wordpad. Если файл *.costs не существует, то он будет создан.
После того как классификатор построен, See5 открывает новое окно, с представле-нием классификатора (или классификаторов) и связанных результатов. Результат сохра-няется в файле, названном *.out.
8.5. Опции программы С5
Как только данные были загружены, See5 может построить классификатор. Не-сколько вариантов, которые могут использоваться, чтобы влиять на этот процесс имеется несколько опций, определенных в следующем диалоговом окне:
Рисунок 2 - Опции программы See5
Опция Rulesets используется если не дерево решений, а наборы правил(rulesets). Правила могут быть распределены по классам важности для точности классификации.
Опция Boost позволяет строить более одного классификатора и когда приходит объект для классификации, то перед принятием решения опрашиваются все построенные классификаторы. Такой прием часто дает более высокую точность прогноза
29
Опция Subsets of values позволяет сгруппировать значения признаков в подмноже-ства.
Опция Use sample of позволяет использовать определенный процент от обучающей выборки (полезно при многочисленных данных) при построении классификатора, остальные данные будут использоваться для тестирования построенного классификато-ра.
Опция Cross-validate позволяет оценить точность классификатора, построенного See5, даже когда нет отдельных тестовых объектов, т.е. применить процедуру скользя-щего контроля. Данные разделены на блоки (количество объектов в блоке - folds, по умолчанию 10). Для каждого блока в свою очередь, See5 строит классификатор, исполь-зуя объекты всех других блоков, и затем оценивает его точность на объектах текущего блока. Таким образом, каждый объект обучающей выборки используется как тестовый. Коэффициент ошибки классификатора, оценивается как отношение общего количества ошибок на тестовых объектах к общему количеству объектов.
Опция Ignore costs file предписывает See5 строить классификатор, не учитывая штрафы за допущенные ошибки классификации.
8.6. Определение класса нового объекта с помощью постро-енного классификатора
Построенный классификатор может использоваться чтобы определить класс нового объекта. Чтобы определить класс нового объекта нужно нажать кнопку “Use Classifier” на панели инструментов.
Далее See5 последовательно запросит значения признаков, которые необходимы для определения класса объекта. Признаки, значения которых требуются зависят от кон-кретного классификатора.
Когда See5 запрашивает значение действительного признака, нужно ввести дей-ствительное число, ‘?’ (значение не известно), или ‘N/A’ (значение не используется). Точно так же дата должна быть введена как ‘?’ или YYYY-MM-DD или YYYY/MM/DD. Для признака заданного списком значений , See5 покажет возможные значения этого признака и ‘?’; нужно выбрать одно из них, двойным кликом.
После того, как все необходимые значения признаков введены, See5 показывает класс, к которому, как предполагается, принадлежит объект. Если существуют два или больше вероятных класса, то See5 покажет наиболее вероятные два или три и укажет для каждого вероятность.
30
8.7. Просмотр связей объектов и дерева решений
Кнопка “Cross-Reference” открывает окно, показывая вид классификатора и его связь с объектами в обучающей выборке, тестовой выборке или новых объектов. (С5 попросит выбрать соответствующий файл).
После выбора файла появится окно, разделенное на две секции, с классификатором слева и списком объектов справа. Каждый объект помечен признаком [?] (он красного цвета, если объект не классифицирован), далее следует значение признака “Label” или порядковый номер объекта, и его фактический класс. Клик по Label или порядковому номеру объекта показывает часть классификатора, соответствующую данному объекту. Это могло бы быть единственным правилом или единственным листом, но при опреде-ленных условиях это могли бы быть несколько листьев или правил.
Клик на лист или правило в левой секции окна показывает все объекты, которым соответствует данный лист.
Чтобы посмотреть значения признаков конкретного объекта, надо кликнуть на «[?]» слева от Label или порядкового номера объекта.
Кнопка “save” вызывает диалоговое окно сохранения информации, содержащейся в окне в файл
Нажатие на кнопку “reset” показывает полный вид дерева решений и все объекты выборки.
Порядок выполнения работы
Ознакомьтесь с теоретической справкой к данной лабораторной работе.
Задание 1.
1. С помощью программы See5 постройте дерево решения для определения пола чело-века. В качестве обучающей выборки возьмите данные студентов вашей группы, при этом количество классов будет два (муж \ жен), а атрибуты объекта могут быть сле-дующими:
− рост,
− вес,
− длина волос,
− размер ноги,
− любимый цвет,
− тембр голоса,
− индекс массы тела.
Не использовать собственные данные в обучающей выборке.
2. Подготовить данные для обработки программной See5/С5 (описать классы и атрибу-ты класса в файле *.names и значения атрибутов для каждого объекта в файле *.data).
Постройте дерево решений с помощью программы See5, с настройками по умолча-нию (не используя в качестве тестовой выборки часть обучающей и не используя проце-
31
дуру скользящего контроля), затем простройте дерево решений, используя часть обуча-ющей выборки для тестирования построенного классификатора (опция Use sample of) и построить дерево решений используя процедуру скользящего контроля (опция Cross-validate). Сравните оценки ошибок классификации построенных классификаторов. Про-верьте правильность каждого классификатора используя собственные данные.
Задание 2.
Проведите классификацию в пакете See5 на основе данных из UC Irvine Machine Learning Repository (http://archive.ics.uci.edu/ml/), согласно варианту.
Таблица 1 - Варианты заданий
Вариант
Данные
1
Iris
2
Wine Quality
3
Breast Cancer
4
Flags
5
Heart Disease
6
Abalone
7
Glass Identification
8
Credit Approval
9
Student Performance
Составьте отчет о проделанной работе и сделайте выводы.
Содержание отчета
1. Номер и название лабораторной работы.
2. Цель и задания на лабораторную работу.
3. Исходный набор данных.
4. Вид деревьев решений и оценка ошибок классификации.
5. Обоснованный вывод.
Контрольные вопросы
1. Что такое деревья решений?
2. При решении каких задач используются деревья решений?
3. Назовите несколько алгоритмов, реализующих деревья решений
4. Какие преимущества у деревьев решений?
5. Какие программные продукты используют метод построения деревьев решений для анализа данных?
6. Какой тип алгоритма построения деревьев решений использует программа See5?
7. Каким образом следует подготовить данные для анализа программой See5?
32
8. В чем разница между объектами хранящимися в файле с расширением *.data и объ-ектами файле с расширением *.test?
9. Как и для чего используется уже построенное дерево решений?
10. На какие два основных типа делятся атрибуты объектов в данных для программы See5? В чем их различие?
33
ПРАКТИЧЕСКАЯ РАБОТА № 4 СТАТИСТИЧЕСКИЙ АНАЛИЗ МНОГОМЕРНЫХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПАКЕТА КЛАСС-МАСТЕР
Цель и задача работы
Познакомиться с концепциями анализа многомерных данных. Получить практиче-ские навыки статистического анализа многомерных данных с использованием програм-мы КЛАСС-МАСТЕР.
Теоретические положения
1. Основные понятия, используемые в пакете КЛАСС-МАСТЕР
КЛАСС-МАСТЕР - это пакет для статистического анализа многомерных данных, т.е. данных, представленных как таблица объект-признак.
Таблица объект-признак - это прямоугольная таблица (матрица) в которой строки означают объекты, а столбцы - переменные. Клетки этой таблицы - значения перемен-ных, измеренных на объектах. В клетках могут быть пропущенные значения.
Важной характеристикой идентифицирующей объект является его имя, т.к. все ссылки на объект происходят по его имени.
Для переменной важно ее имя, вес и шкала в которой задана переменная. Вес это относительная важность переменной в некоторых процедурах анализа данных. Значение веса задается десятичной дробью и по умолчанию устанавливается равным 1.00.
Количественная переменная - переменная, чьи значения позволяют произвести количественное сравнение в терминах "на сколько больше" или во сколько раз больше. Количественная переменная характеризуется дополнительными признаками, с которы-ми можно познакомиться во встроенной справочной системе.
Номинальная переменная - качественная переменная с фиксированным числом возможных значений, или градаций, позволяющая произвести сравнение только в тер-минах "Быть равным или не равным". Поэтому, номинальная переменная дополнительно характеризуется Списком градаций. Каждая градация имеет имя, при этом все имена градаций должны быть различны.
Булевская переменная - это качественная переменная, имеющая только два значе-ния: истина и ложь. Вообще говоря, вместо булевской переменной, можно создать номи-нальную переменную, имеющую значения да или нет.
2. Методы работы с таблицей объект-признак
Таблица объект-переменная похожа на обычную электронную таблицу. Объекты расположены в строках, а переменные - в колонках. Текущая клетка выделена цветом.
34
Объект, к которому относится текущая клетка, называется текущим объектом. Перемен-ная, к которой относится текущая клетка, называется текущей переменной.
Объекты, неактивные в текущей выборке объектов, и переменные, неактивные в те-кущей группе переменных, изображаются серым цветом.
В верхней части окна находится заглавие таблицы. Если на нем щелкнуть мышью, появится диалоговое окно «Заглавие файла».
Под заглавием таблицы находятся текущие имя выборки объектов (слева) и имя группы переменных (справа). Щелчок на имени выборки объектов вызывает диалоговое окно «Выборка объектов». Щелчок на имени группы переменных вызывает диалоговое окно «Группы переменных».
В нижней части окна изображается информация о текущей клетке в двух строках: номер, имя и комментарий текущего объекта и текущей переменной. Щелчок на строке объекта вызывает диалоговое окно «Параметры объекта». Щелчок на строке переменной вызывает диалоговое окно «Параметры переменной».
Выбор пользователем имени объекта переключает состояние объекта актив-ный/неактивный в текущей выборке объектов. Щелчок на имени переменной переклю-чает состояние переменной активная/неактивная в текущей группе переменных.
3. Процедуры статистического анализа
Процедуры статистического анализа включают множество методов, которые можно классифицировать несколькими способами. Можно разбить их на группы по назначе-нию.
3.1. Анализ зависимости между переменными
3.1.1. Таблица сопряженности
Под таблицей сопряженности (рис. 7.1) приводятся различные коэффициенты, по-казывающие зависимость между двумя переменными. Строки таблицы сопряженности - градации одной переменной, а колонки - градации другой переменной. Значения клеток таблицы зависят от параметров работы, и показывает взаимосвязи градаций двух пере-менных. Большинство коэффициентов, также называемых коэффициентами сопряжен-ности, находится в диапазоне от 0 до 1, где «0» означает отсутствие зависимости между двумя переменными, а «1» - максимальную зависимость.
35
Рисунок 1 - Анализ данных с помощью таблицы сопряжённости
3.1.2. Факторная таблица
Факторная таблица (рис. 7.2) строится для двух переменных, первая из которых может быть любой, в то время как вторая обязательно количественной. Эта операция строит распределение второй (целевой) переменной для каждой градации первой (базо-вой) переменной, что позволяет проанализировать зависимость между целевой количе-ственной переменной и градациями другой переменной. Изображается объединенное распределение двух количественных переменных на плоскости.
Рисунок 2 - Анализ данных с помощью факторной таблицы
36
3.2. Пр е д с к а з а н и е к о л и ч е с т в е н но й п е р ем е н н о й
3.2.1. Ли н е й н а я р е г р е с с и я
Эта процедура (рис 7.3) предсказывает целевую количественную переменную пу-
тем построения линейной формулы (формулы линейной регрессии) по всем активным
переменным окна таблицы. Формула (7.1) линейной регрессии это линейная комбинация
исходных переменных, предсказывающая целевую переменную. Пользуясь такой фор-
мулой можно рассчитывать значение целевой переменной, имея значения других пере-
менных для любого подходящего объекта.
=
=
n
k
k k f x a x
1
( )
(7.1)
Рисунок 3 - Линейная регрессия
3.2.2. Ли н е й н о - о д н о р о д ные к л а с т е ры
Эта процедура находит центры объектов в пространстве переменных для каждой
градации целевой переменной. Градации целевой переменной предсказываются по бли-
жайшему центру, к которому находится объект.
Тот же результат может быть получен с помощью процедуры «Четкие кластеры» с
заданной начальной классификацией.
37
3.3. Предсказание номинальной переменной
3.3.1. Дискриминантный анализ на основе многомерного нормального распределения
Эта процедура (рис 7.4) рассчитывает параметры многомерного нормального рас-пределения для каждой градации целевой переменной. Многомерное нормальное рас-пределение описывается вектором средних и матрицей ковариации переменных для каждой градации. Таким образом, вероятность принадлежать к каждой градации может быть рассчитана для каждого объекта. Априорные вероятности каждой градации счита-ются равными их частотам в текущей выборке объектов.
Градации целевой переменной предсказываются по максимальной вероятности принадлежности объектов.
Рисунок 4 - Дискриминантный анализ на основе многомерного нормального распределения
3.3.2. Логистическая регрессия
Эта процедура (рис. 7.5) строит луч, выходящий из точки 0, для объектов каждой градации целевой переменной, так чтобы объекты располагались максимально близко к нему. Градации целевой переменной предсказываются по минимальному расстоянию объектов к одному из этих лучей.
38
Рисунок 5 - Логистическая регрессия
3.3.3. Логическое описание
Эта процедура (рис. 7.6) строит логическую формулу для каждой градации целевой переменной, описывающую объекты, принадлежащие к градации. Логическая формула, описывающая градацию, - это список Категорий. Категория - это булевское выражение от одной переменной. Логическая формула определяет множество объектов, для которых все категории истинны.
Рисунок 6 - Логическое описание
39
3.3.4. Дерево решений
Процедура строит дерево решений (рис. 7.7) для предсказания градаций целе-вой переменной. Дерево решений строится последовательно, на каждом шаге в дерево вводится та переменная, которая минимизирует энтропию целевой пере-менной. Этот метод может работать при отсутствии некоторых значений в таблице объект-переменная.
Рисунок 7 - Дерево решений
3.4. Конструирование латентных (скрытых) переменных, объясняющих данные
3.4.1. Классификация
Эта процедура (рис. 7.8) строит классификацию активных объектов такую, что объ-екты каждого класса оказываются сконцентрированными вокруг их центра. Результат классификации сохраняется как новая номинальная переменная. Таким образом, эта процедура строит новую номинальную переменную. Градации этой номинальной пере-менной называются 1, 2 и т.д, причем если число классов задано как не 0 (не автоматиче-ский выбор), последняя градация будет называться Остаток.
Нечеткие кластеры отличаются от четких тем, что определяют не принадлежность объекта кластеру, а степень этой принадлежности. Например, принадлежность 0.9 озна-чать, что очень объект близок к кластеру.
40
Рисунок 8 - Классификация с помощью чётких кластеров
3.4.2. Расщепление смеси многомерных нормальных рас-пределений
Эта процедура (рис 7.9) строит классификацию активных объектов такую, что предполагается, что объекты каждого класса имеют многомерное нормальное распреде-ление, определяемое средними переменных и матрицей их ковариации.
Результат классификации сохраняется как новая номинальная переменная. Таким образом, эта процедура строит латентную номинальную переменную. Градации этой но-минальной переменной называются 1, 2 и т.д.
41
Рисунок 9 - Расщепление смеси многомерных нормальных распределений
3.4.3. Дендрограмма
Под построением дендрограммы (рис 7.10) понимается построение бинарного дере-ва особым способом, зависящим от алгоритма (Варда или Колмогорова). Листья дерева попарно объединяются, пока не останется один узел. Расстояние от листьев до узла соот-ветствует значению критерия объединения.
Рисунок 10 - Дендрограмма
Порядок выполнения работы
Ознакомьтесь с теоретической справкой к данной лабораторной работе.
1. Установите программный пакет Класс-Мастер на свой компьютер.
Для установки программы Класс-Мастер необходимо извлечь из архива файлы установ-ки и поместить их в папку, путь к которой не содержит длинных имен (например C:\CMINST). Если это условие не будет выполнено, то при установке могут возникнуть ошибки.
Для установки программы запустите файл INSTALL.EXE. Укажите диск и каталог уста-новки и проследите, чтобы флаг “Установить примеры” был выбран.
2. Запустите Класс-Мастер. Для этого перейдите в ту директорию, куда вы установили Класс-Мастер и запустите файл CM.EXE
42
В соответствии с вариантом (табл. 7.1) произведите статистический анализ много-мерных данных, используя программу Класс-Мастер. Примеры данных указанные в за-даниях хранятся в папке EXAMPLES корневой папки программы.
Составьте отчет и сделайте выводы.
Таблица 7.1 – Варианты заданий
№ ва-рианта
Задание
1.
Качество жизни в городах мира - cities.cm. Анализировать зависи-мость между переменными ОбеспЖильем / КачествЖилья. Добавить но-вый объект с переменными (2;5;4;6;3;6;7;7;4;5;46) и предсказать значение количественной переменной ОбщаяОценка для этого объекта, используя Линйено-однородные кластеры. Выделить группы городов, используя не-четкие кластеры.
2.
Смесь двух эллипсоидальных pаспpеделений ellipses.cm. Анализиро-вать зависимость между переменными x /x2, пользуясь таблицей сопря-женности. Добавить новый объект. Задать значение переменной x1 рав-ным 30.45. Предсказать значение количественной переменной x2 для это-го объекта, используя линейную регрессию. Выявить принадлежность объектов к трем четким кластерам.
3.
Цифры для записи индексов – index.cm. Анализировать зависимости между переменными Лин1, Лин4 используя таблицу сопряженности. Воспользовавшись логическим предсказанием выявить логическую фор-мулу для всех градаций переменной Цифра. Значение макс сумма вкладов задать равным 80 и затем 100.
Указать применение получившейся логической формулы.
4.
Цветы ирис (по Р.Фишеру) – iris.cm. Анализировать зависимости между переменными ДлЧашел, ШирЧашел используя факторную табли-цу. В настройках вида выбрать диаграмму рассеяния и сделать вывод по полученному рисунку. Задав значения переменных(6.1;2.6;5.1;2,4) опре-делить принадлежность к одному из видов используя централизацию и многомерное нормальное. Составить дерево решений по которому уче-ный – ботаник смог бы отнести ирисы к одному из видов
5.
2 прямые – lines.cm. Анализировать зависимости между переменны-ми Target, X1 используя таблицу сопряженности. Построить логическую формулу отношения к классам А и В (Логическое описание)
6.
Шедевры русской литературы 19 века – mastrpc.cm. Предсказать значение переменной Автор1 всеми доступными в Класс-Мастер спосо-бами. Сделать вывод о наиболее точном методе для этой задачи. Подо-брать параметры выделения четких кластеров так, чтобы произведения одного писателя попадали в один кластер
43
7.
Смесь 2-х нормальных распределений – mixture.cm. Построить ги-стограмму переменной V. Используя конструктор латентных переменных – расщепление смеси определить математическое ожидание и дисперсию каждой из смесей. Результаты работы процедуры и гистограмму отобра-зить в отчете
8.
Иллюстpация "выбpоса" – outlier.cm. Воспользоваться методом предсказания количественной переменной – линейная регрессия для пе-ременной var5. Объяснить смысл метода, пользуясь построенным графи-ком. Используя полученную ранее формулу рассчитать значение пере-менной var5 для var1=1,var2=2,var3=3,var4=4
9.
2 плоскости – planes.cm. Анализировать зависимости между пере-менными Target и X1 а также Target и X2 используя таблицу сопряжен-ности. Построить логическую формулу отношения к классам А и В (Ло-гическое описание)
10.
Архетипические психиатрические пациенты (по Мецих и Соломон, 1980) – psycho.cm. Построить логическое описание для определения бо-лезни пациента. Используя полученное описание оценить свое здоровье и некоторого выдуманного больного. Количественные переменные задать произвольно. Построить дерево решений для определения болезни и оце-нить здоровье того же пациента. Результаты сравнить
11.
Смесь из 5 многомерных нормальных распределений – star.cm. По-строить гистограммы переменных V1 и V2. Используя конструктор ла-тентных переменных – расщепление смеси определить количество клас-сов, переменные которых имеют многомерное нормальное распределе-ние. Результаты работы процедуры и гистограммы отобразить в отчете
12.
Дрожжи (Barnett, Payne & Yarrow, 1983) – yeasts.cm. Используя де-рево решений определить неизвестные значения переменной Lactose. За-нести значения из новой переменной Lactose_DT в Lactose. Удалить но-вую переменную. Определить таким образом все неизвестные значения переменных. Промежуточные деревья решений и результат отобразить в отчете
Содержание отчета
Номер и название лабораторной работы.
Цель и задания на лабораторную работу.
Исходный набор данных.
Результаты исследования данных.
Обоснованный вывод.
44
Контрольные вопросы
1. Каково основное назначение программного средства КЛАСС-МАСТЕР?
2. Каковы основные методы предсказания значений количественной переменной в про-граммном средстве КЛАСС-МАСТЕР?
3. Каковы основные методы предсказания значений неколичественной переменной в программном средстве КЛАСС-МАСТЕР?
45
ЛИТЕРАТУРА
1. Основы обработки данных: Учебное пособие / С.Д. Двоенко, В.В. Моттль; Туль-ский государственный университет. Тула. 1997. 154 с.
2. Браверман Э.М., Мучник И.Б. Структурные методы обработки эмпирических дан-ных. М.: Наука, 1983. 464 с.
3. Дэйвидсон М. Многомерное шкалирование. М.: Финансы и статистика, 1988. 254 с.
4. Крамер Г. Математические методы статистики. М.: Мир, 1975. 648 с.
5. Миркин Б.Г. Анализ качественных признаков и структур. М.: Статистика, 1980. 319 с.
6. Мостселлер Ф., Тьюки Дж. Анализ данных и регрессия. М.: Финансы и статистика , 1982, т.1 317 с., т.2 239 с.
7. Терехина А.Ю. Анализ данных методами многомерного шкалирования. М.: Наука, 1986. 168 с.
8. Окунь Я. Факторный анализ. М.: Статистика, 1974. 200 с.
9. Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д. Прикладная стати-стика. Классификация и снижение размерности. М.: Финансы и статистика, 1989. 607 с.
10. Ту Дж., Гонсалес Р. Принципы распознавания образов. М.: Мир, 1978. 412 с.
Разработал О.С. Середин, к.ф.-м.н., доцент каф. ИБ
Рассмотрено на заседании
кафедры ИБ
Протокол № _____ от _____________
Зав. кафедрой
_________________ А.А. Сычугов