ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 196
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Федеральное агентство связи
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования
Поволжский государственный университет телекоммуникаций и информатики
Кафедра «Информационные системы и технологии»
Пальмов С.В.
ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ
И ТЕХНОЛОГИИ методические указания к лабораторным работам по дисциплине для студентов очной формы обучения направления
«Информационные системы и технологии»
Самара, ИУНЛ ПГУТИ, 2014
2
Пальмов С.В. Методические указания к лабораторным работам по дисциплине «Интеллектуальные системы и технологии» для студентов очной формы обучения направления «Информационные системы и технологии».– Самара: ПГУТИ, 2014. – 122 с., ил.
Методические указания предназначены для студентов очного от- деления направления 09.03.02 (Информационные системы и техноло- гии) по дисциплине «Интеллектуальные системы и технологии». Ла- бораторный цикл включает в себя двенадцать лабораторных работ, выполнение которых поможет студентам изучить основные возможно- сти интеллектуальных информационных систем.
Методические указания подготовлены на кафедре «Информацион- ные системы и технологии».
Методические указания рекомен- дованы к изданию методическим
Советом ПГУТИ (заседание № 12 от 11.11.2014)
© ФГОБУ ВПО ПГУТИ
© ПАЛЬМОВ С.В.
2014
3
Оглавление
ЛАБОРАТОРНАЯ РАБОТА №1. ЗНАКОМСТВО С СИСТЕМОЙ
WIZWHY ................................................................................................ 4
ЛАБОРАТОРНАЯ РАБОТА №2. ПРОВЕРКА АНАЛИТИЧЕСКИХ
ВОЗМОЖНОСТЕЙ СИСТЕМЫ WIZWHY ..................................... 29
ЛАБОРАТОРНАЯ РАБОТА №3. ДЕРЕВЬЯ РЕШЕНИЙ............... 34
ЛАБОРАТОРНАЯ РАБОТА №4. АССОЦИАТИВНЫЕ ПРАВИЛА
............................................................................................................... 41
ЛАБОРАТОРНАЯ РАБОТА №5. КЛАСТЕРИЗАЦИЯ
(САМООРГАНИЗУЮЩАЯСЯ КАРТА КОХОНЕНА) ................... 45
ЛАБОРАТОРНАЯ РАБОТА №6. НЕЙРОННЫЕ СЕТИ ................ 50
ЛАБОРАТОРНАЯ РАБОТА №7. АВТОКОРРЕЛЯЦИЯ.
КОРРЕЛЯЦИЯ. ФАКТОРНЫЙ АНАЛИЗ ....................................... 56
ЛАБОРАТОРНАЯ РАБОТА №8. ДУБЛИКАТЫ И
ПРОТИВОРЕЧИЯ. ТРАНСФОРМАЦИЯ ДАННЫХ ..................... 70
ЛАБОРАТОРНАЯ РАБОТА №9. ВЫРАБОТКА
РЕКОМЕНДАЦИЙ ............................................................................. 75
ЛАБОРАТОРНАЯ РАБОТА №10. ГЕНЕТИЧЕСКОЕ
ПРОГРАММИРОВАНИЕ .................................................................. 88
ЛАБОРАТОРНАЯ РАБОТА №11. ИГРА «ЖИЗНЬ» .................... 115
ЛАБОРАТОРНАЯ РАБОТА №12. ПОСТРОЕНИЕ ГРАФА
ЭКСПЕРТНОЙ СИСТЕМЫ ............................................................ 119
4
Лабораторная работа №1. Знакомство с системой WizWhy
Цель работы: Ознакомиться с аналитической системой WizWhy
Введение
Среди систем анализа данных, относящих себя к области Data
Mining, видное место занимают системы для поиска if-then правил. С помощью таких систем решаются задачи прогнозирования, классифи- кации, распознавания образов, сегментации БД, извлечения из данных "скрытых" знаний, интерпретации данных, установления ассоциаций в
БД и др. Методы поиска if-then правил предъявляют минимальные требования к типу данных и применимы для обработки разнородной информации. Их результаты прозрачны для восприятия.
Описание программного обеспечения
Данная лабораторная работа должна выполняться при помощи
ПО WizWhy.
Домашнее задание студентам для подготовки к выполнения лабо- раторной работы
Изучить по лекциям особенности работы алгоритмов поиска ас- социативных правил.
Порядок выполнения лабораторной работы
Задание №1. Обзор системы WizWhy
Загрузка и управление данными.
Первое, что нужно сделать при работе с WizWhy, это загрузить анализируемый файл данных. Здесь имеется несколько возможностей:
-
Вы можете подготавливать и читать файлы ASCII.
-
Вы можете напрямую работать с файлами dBase(*.dbf), MS
Access (*.mdb), Oracle и таблицами MS SQL.
-
Вы можете воспринимать наборы данных посредством ODBC
(Open Database Connectivity).
5
Для начала работы с процедурой загрузки следует, прежде всего, обратиться к закладке «Basic Data» в окне диалога с именем текущего проекта (рис.1). Здесь в поле «Open Data of Type» нужно указать тип загружаемых данных.
Рис.1. Начало работы с системой WizWhy
Для примера возьмём таблицу с данными по ультразвуковой диа- гностике почек в текстовом формате ASCII (разделителями колонок является знак табуляции, в первой строке таблицы данных записаны имена переменных). Укажем требуемый тип данных и в появившемся окне диалога выберем файл USR.txt – на экране выдаётся окно диалога системы WizWhy для редактирования и преобразования текстовых файлов (рис.2).
В поле Record Type (тип записи) устанавливаем переключатель в положение Delimited (данные с разделителем) и ставим флажок в по- зиции First record for fields names, говорящий о том, что имена пере- менных располагаются в первой строке таблицы данных. В поле Field
Delimiters (разделитель) ставим флажок в позиции Tab (знак табуля- ции).
Нажимаем кнопку Parse, после чего система производит автома- тический грамматический разбор данных. Просматриваем результаты этого разбора и при необходимости вносим коррективы – в поле Col- umn (field) предоставляются возможности для изменения имён и типов переменных, а также отказа от импорта каких-либо колонок. Нажима- ем ОК. Система импортирует данные для дальнейшей обработки, что
6 отражается в диалоговом окне для управления данными Basic Data
(рис.3).
Рис.2. Диалоговое окно для чтения данных в текстовом фор- мате
В поле Data Source указываются местоположение и имя файла, из которого были импортированы данные. Кнопка View Data предназна- чена для вызова окна для просмотра загруженных данных (в нём де- монстрируются 100 первых строк таблицы) данных. В поле Field Grid отображаются имена и типы введённых переменных и предоставляют- ся возможности проведения следующих операций:
-
Назначение целевой, или так называемой зависимой (dependent) переменной. Это переменная, значения которой будут связывать- ся с помощью if-then-правил со значениями так называемых неза- висимых (independent) переменных. В нашем случае такой целе- вой переменной является Diagnosis – выставляем флажок в соот- ветствующей позиции колонки Dependent Variable.
-
Модификация переменных. В колонке Field Name можно редак- тировать имена переменных. Для этого нужно щёлкнуть на соот- ветствующей позиции и ввести новое имя. Кроме этого, в позици- ях колонки Field Type можно изменять тип переменной. Напри-
7 мер, заменить тип Category (категориальный) на Number (количе- ственный) или Date (дата) в формате День-Месяц-Год (Год-
Месяц-День) и т.п. Здесь заметим, что в зависимости от выбран- ного типа данных в дальнейшем к переменной применяются раз- личные процедуры обработки.
Рис. 3. Окно диалога для управления данными
В поле Data Source указываются местоположение и имя файла, из которого были импортированы данные. Кнопка View Data предназна- чена для вызова окна для просмотра загруженных данных (в нём де- монстрируются 100 первых строк таблицы) данных. В поле Field Grid отображаются имена и типы введённых переменных и предоставляют- ся возможности проведения следующих операций:
-
Назначение целевой, или так называемой зависимой (dependent) переменной. Это переменная, значения которой будут связывать- ся с помощью if-then-правил со значениями так называемых неза- висимых (independent) переменных. В нашем случае такой целе- вой переменной является Diagnosis – выставляем флажок в соот- ветствующей позиции колонки Dependent Variable.
-
Модификация переменных. В колонке Field Name можно редак- тировать имена переменных. Для этого нужно щёлкнуть на соот- ветствующей позиции и ввести новое имя. Кроме этого, в позици- ях колонки Field Type можно изменять тип переменной. Напри-
8 мер, заменить тип Category (категориальный) на Number (количе- ственный) или Date (дата) в формате День-Месяц-Год (Год-
Месяц-День) и т.п. Здесь заметим, что в зависимости от выбран- ного типа данных в дальнейшем к переменной применяются раз- личные процедуры обработки.
В системе WizWhy предусмотрен также случай, когда пропуски в таблице данных (пустые ячейки) представляют собой самостоятельные информативные события. Для учёта подобных пропусков в значениях какой-либо переменной ставится флажок против неё в колонке Analyze if Empty. В свою очередь, если имеется необходимость исключить пе- ременную из анализа, нужно выставить флажок в колонке Ignore Field.
В нашем примере две переменные имеют категориальный (Cate- gory) формат – целевой признак Diagnosis, признак Sex (пол пациента) и признак LR (левая или правая почка.) Остальные переменные (Age
(возраст), Length (длина почки), Width (ширина почки), Thickness
(толщина почки), Thickpar (толщина паренхемы), Speed (средняя ско- рость кровотока), Index (индекс резистентности) и Accel (ускорение артериального потока в систолу)) - количественные (Number).
Задание параметров процедуры поиска правил
В системе WizWhy целевой признак разделяет всё множество объектов на две части. Это делается следующим образом.
Если целевая переменная является категориальной, WizWhy про- сматривает все объекты (записи) и отбирает те из них, для которых целевая переменная имеет выбранное значение. Отобранные таким образом объекты составляют первую группу. Правила, характерные для данной группы, называются if-then-правила. Оставшиеся объекты составляют вторую группу, и для этой группы характерные правила обозначаются как if-they-NOT-правила.
Если целевой признак является количественным, пользователь должен указать область значений этого признака. Правила if-then бу- дут определяться для этой указанной области. В свою очередь, if-they-
NOT-правила будут описывать объекты, не попавшие в выделенную область.
В рассматриваемом нами практическом примере целевой признак категориальный. Он принимает три значения: 1 – в классе «здоровая почка», 2 – в классе «множественные кисты» и 3 – в классе «гидроне- фроз». Будем искать в данных if-then-правила для объектов с диагно- зом «множественные кисты». Для этого с помощью закладки Rule Pa-
9 rameters (параметры правил) войдём в соответствующее окно диалога и в поле Predicted Value выставим значение «2».
Примечание: Если при попытке выполните вышеуказанный пункт
задания программа WizWhy «вылетает», то следует сменить тип
переменной «Diagnosis» с категориального на количественный и
установить следующие значения полей «More than» и «Less or equal
than» (см. рис. 4).
Последующие действия выполняются вне зависимости от того,
«вылетала» программа или нет.
После задания области значений целевой переменной или, как в нашем случае, её одного значения система WizWhy читает данные и вычисляет простые статистики, которые могут быть использованы в дальнейшем анализе. Так, например, справа от поля Predicted Value система выводит значение частоты, с которой в анализируемых дан- ных встречается значение Diagnosis = 2. Как указывают авторы, чтение больших наборов, данных способно занимать много времени. Пользо- ватель может прекратить процесс чтения, нажав кнопку Cancel на спе- циальной панели. В этом случае дальнейшему исследованию подвер- гается только та информация, которая успела прочитаться. Но при же- лании процесс поиска данных можно повторить.
Следующим шагом является задание собственно параметров пра- вил, которые будут искаться в прочитанных данных. Сюда, прежде всего, относят Minimum probability of if-then rules (минимальная веро- ятность if-then-правил) и Minimum probability of if-then-NOT rules (ми- нимальная вероятность if-then-NOT-правил). Эти параметры есть ни что иное, как точность правила. Поставим в соответствующих полях окна диалога одинаковые значения указанных вероятностей 80% про- центов. Это означает, что системе WizWhy формулируется требование обнаружить правила, которые будут ошибаться не более чем в 20% случаев (имеются в виду ошибки на анализируемой выборке).
В принципе, можно задавать любые значения минимальных веро- ятностей от 0 до 100%. Но следует хорошо представлять, что, задав слишком низкий уровень точности, мы получим большое количество правил, среди которых будет много малоинформативных компонентов.
В свою очередь, выставив требование 100%, мы, скорее всего, не по- лучим вообще ничего.
10
Рис. 4.
Ещё одним важным параметром служит Maximum number of con- ditions in a rule (максимальное число условий в правиле). Это макси- мальное количество элементарных логических событий в одном пра- виле. Хотя авторы ничего не говорят о предельном значении данного параметра, установлено, что оно равно 6.
Следующим параметром, который необходимо задать для работы процедуры поиска правил, является Minimum number of cases in a rule
(минимальное число объектов в правиле). Выставим здесь значение 10, обозначив тем самым наше желание обнаружить в данных правила, которые распространяются не менее чем на 10 объектов. Нижний пре- дел составляет 4 объекта.
Окно Rule Report
Настройки этого окна (см. рис.5) касаются способов выдачи ре- зультатов. Во-первых, нужно ввести параметр Maximum number of rules to be displayed (максимальное количество отображаемых правил).
Этот параметр не влияет на работу процедуры поиска правил. Он предназначен только для ограничения количества правил, выдаваемых в отчёт (Rule Report). Далее следует указать способ сортировки правил в отчёте (по уровню значимости – Significance level, по точности –
Probability, по количеству объектов – Number of cases). В поле Present examples where (представить примеры) можно выразить желание по-
11 смотреть примеры работы выявляемых правил. Если поставить фла- жок в позиции Rule in effect, то система будет формировать в отчёте для каждого правила список номеров объектов, для которых правило не ошибается. Длина списка ограничивается заданным числом. Соот- ветственно, флажок в позиции Rule in not effect запрашивает у системы выдачу списка номеров объектов, на которых какое-либо правило ра- ботает с ошибкой.
Рис.5
Работа с другими окнами диалога
Окно диалога Data Format предназначено для задания и корректи- ровки формата информации, с которой работает WizWhy (рис. 6).
Прежде всего, сюда относится формат данных. В поле number and Cur- rency Format имеется возможность задавать количество цифр и виды разделителей в числовых и денежных данных, а в поле Data Format выбирать формат для записи дат.
Кроме того, в нижней части окна диалога предусмотрены пара- метры, выбор которых определяет место выдачи отчёта о результатах работы системы (на принтер, на экран, в текстовый файл и т.д.). В поле
Subheading заносится подзаголовок отчёта. Нажатием кнопки Font в правом нижнем углу вызывается окно диалога для выбора используе- мых шрифтов.
12
Крайнее диалоговое окно – Prediction Input – предназначено для ввода, просмотра и коррекции внешних данных, на которых требуется проверить действие найденных правил. Оно изображено на рис.7. Ра- бота с этим окном аналогична работе с уже рассмотренным диалого- вым окном Basic Data.
В окне Error Costs (стоимость ошибок) требуется ввести соответ- ствующие значения по отдельности для двух видов ошибок: пропуска объектов (Cost of miss) и ложной тревоги (Cost of false alarm) (рис. 8).
По умолчанию эти значения равны «1». Учёт различной стоимо- сти указанных ошибок может оказаться весьма ценным при решении практических задач.
Рис. 6
Результаты работы системы
После внесения необходимой информации в рассмотренные выше окна диалога можно приступить к поиску правил в загруженных данных. Для этого нужно нажать кнопку Issue Rules (выдача правил) – система WizWhy выдаёт три отчёта:
-
Отчёт о правилах (Rule report), в котором перечисляются обнару- женные правила с указанием их характеристик.
13
-
Отчёт о трендах (Trend report), в котором представлены результа- ты сегментации отдельных признаков.
-
Отчёт о неожиданных правилах.
Рассмотрим указанные отчёты более подробно.
Рис. 7
Рис. 8
Отчёт о правилах
Отчёт о правилах размещён в трёх окнах (рис. 9):
-
Левое окно – список правил (Rule List).
-
Правое верхнее окно – содержание записи в деталях (Record
Details Grid).
-
Правое нижнее окно – индекс признака (Field Index).