- •Интеллектуальный анализ данных Лабораторный практикум
- •5.05010101 «Обслуживание программных систем и комплексов»
- •Касилов о.В., Компаниец в.А.
- •Содержание
- •Вступление
- •Лабораторная работа № 1
- •Начало работы с системой Deductor Studio 5 .2
- •Мастер импорта;
- •Сценарии
- •Базовые визуализаторы
- •Построение многомерной диаграммы
- •Работа с визуализатором Таблица
- •Очистка данных
- •Парциальная предобработка
- •Редактирование аномальных значений
- •Спектральная обработка (сглаживание)
- •Факторный анализ
- •Корреляционный анализ
- •Дубликаты и противоречия
- •Лабораторная работа № 2 трансформация данных
- •Разбиение даты
- •Преобразование данных к скользящему окну
- •Группировка данных
- •Слияние данных
- •Квантование
- •Настройка набора данных
- •Фильтрация данных
- •Сортировка, замена значений
- •Замена значений
- •Кросс-таблица
- •Свёртка столбцов
- •Вопросы для проверки
- •Лабораторная работа № 3 работа с хранилищем данных
- •Рассмотрим пример проектирования структуры хд
- •Создание нового хранилища данных
- •Настройка подключения хранилища данных
- •Проектирование структуры хранилища данных
- •Наполнение хранилища данных
- •Извлечение информации из хранилища данных Импорт из процесса
- •Импорт из измерения
- •Кубы в Deductor Warehouse
- •Самостоятельная работа по созданию хранилища данных
- •Вопросы для проверки
- •Лабораторная работа № 4
- •Многомерный анализ данных при помощи встроенного в Deductor olap модуля.
- •Добавление новых данных в хд
- •Получение olap-отчетов
- •Формирование отчета по объемам продаж за последние четыре месяца по товарным группам
- •Манипуляции с измерениями
- •Формирование отчета по каждой аптеке за каждый месяц
- •Фильтрация
- •Построение аналитической отчетности
- •Самостоятельная работа по созданию кросс-таблицы и кросс- диаграммы
- •Вопросы для проверки
- •Лабораторная работа № 5
- •Узел Калькулятор
- •Задание
- •Проведение abc-анализа
- •Суть метода
- •Алгоритм авс-анализа
- •Выполнение abc-анализа
- •Stat("ИмяСтолбца";"Тип")
- •CumulativeSum("ИмяПоля"; ["ИмяПоляГруппы"])
- •Проведение xyz-анализа
- •Суть метода
- •Алгоритм xyz-анализа
- •Выполнение xyz-анализа
- •Проведение abc-xyz-анализ
- •Суть метода
- •Выполнение abc-xyz -анализа
- •Вопросы для проверки
- •Лабораторная работа № 6
- •1. Логистическая регрессия и roc-анализ
- •Деревья решений
- •Прогнозирование с помощью линейной регрессии
- •Прогнозирование с помощью построения пользовательских моделей
- •Лабораторная работа № 7 искусственные нейронные сети
- •1. Искусственные нейронные сети
- •Пример работы многослойного персептрона
- •Аппроксимация многомерных функций
- •Лабораторная работа № 8
- •Кластеризация с помощью алгоритма k-means
- •2. Сегментация клиентов телекоммуникационой компании с использованием карт Кохонена
- •Кластеризация при равном весе входных атрибутов
- •Кластеризация при различных весах входных атрибутов. Акцент на выделении кластера Активная молодеж ь
- •Кластеризация при ограничении набора входных атрибутов. Акцент на выделении кластера Активная молодеж ь
- •Лабораторная работа № 9 ассоциативные правила
- •Алгоритм поиска ассоциативных правил
- •Создание ассоциативных правил для анализа покупательских корзин для стимулирования спроса
- •Интерпретация ассоциативных правил
- •Полезные советы:
- •4. Визуализатор Что-если в ассоциативных правилах
- •Список литературы
- •Інтелектуальний аналіз даних Лабораторний практикум
Аппроксимация многомерных функций
При решении самых разнообразных задач (инженерных, экономических, научных) нередко возникает потребность подобрать непрерывную функцию,
наиболее точно выражающую фактически наблюдаемые взаимосвязи между параметрами.
Предположим, что имеется набор пар данных типа вход-выход {(x1,y1), (x2,y2),..., (xn,yn)}, которые генерируются неизвестной функцией, искаженной шумом. Задача аппроксимации состоит в нахождении неизвестной функции у = F(x), которая в точках x1, x2, xn принимает значения, как можно более близкие к y1, y2,..., yn.
На практике вид искомой функции чаще всего определяют с помощью точечного графика, позволяющего наглядно проследить характер зависимости между входными и выходными параметрами.
Так, на рисунке видно, что на графике слева взаимосвязь переменных близка к линейной; поэтому фактические значения лучше всего аппроксими- руются прямой линией. Отклонения от этой линии можно интерпретировать как случайные колебания. Напротив, на графике справа реальная взаимосвязь величин х и у явно имеет нелинейный характер: какую бы прямую линию мы ни провели, отклонения точек от нее будут слишком большими, чтобы считаться случайными. В данном случае необходимо использовать параболу второго или третьего порядка, и тогда можно получить достаточно хорошее приближение (рис. 7.12).
Рисунок 7.12 – Взаимосвязь переменных
Ситуация заметно осложняется, когда необходимо проанализировать зависимость выходной переменной у не от одной, а от нескольких входных переменных сразу. В этом случае аппроксимация осуществляется с помощью многомерной функции у = F(x), где х = [x1, x2, xn] – вектор с n компонентами. Естественно, графический метод, позволяющий использовать для решения
задачи геометрическую интуицию, здесь не подходит. Модели на основе ис- кусственных нейронных сетей снимают эту проблемы, поскольку:
доказано, что нейронные сети – универсальные аппроксиматоры, и позволяют имитировать любую непрерывную функцию с заданной точностью;
исследователь избавлен от необходимости самостоятельно выдвигать гипотезы о виде приближающей функции;
существуют быстрые алгоритмы обучения соответствующих нейронных сетей.
В силу указанных причин нейронные сети стали широко использоваться при решении сложных задач, требующих построения аппроксимирующих зависимостей.
Задание
Для многомерной нелинейной функции 𝑓𝑓 = 𝑥𝑥1+𝑥𝑥2 +𝑥𝑥 𝑥𝑥
постройте
𝑥𝑥3 4 5
нейронную сеть, позволяющую аппроксимировать ее значение
(предполагается 1≤ xi ≤3; i = 1,...,5).
Задание необходимо выполнять в следующем порядке.
Подготовить обучающую выборку средствами приложения Microsoft Excel и оформить ее в виде файла *.txt.
Чтобы создать набор случайных чисел, нужно использовать функцию
Excel СЛУЧМЕЖДУ() (рис. 7.13).
Рисунок 7.13 – Создание обучающей выборки
Рассчитать значение заданной функции в соседнем столбце.
Провести обучение нескольких нейронных сетей (как минимум, двух).
Проверить качество каждой обученной сети с помощью диаграммы рассеяния, отражающей близость обученной модели к исходной. Выбрать наилучшую модель и оценить точность аппроксимации.
Провести исследования для функции 𝑓𝑓 = 𝑥𝑥 − 20 sin(𝑥𝑥 ) + 5𝑥𝑥 + 𝑥𝑥4 .
1 2 3 𝑥𝑥
𝑒𝑒 5Сохраните проект в файле L7_1.ded.
Аппроксимация многомерных функций
Рассмотрим пример построения системы оценки кредитоспособности физического лица.
Предположим, что эксперты определили основные факторы, определяющие кредитоспособность. Ими оказались: возраст, образование, площадь квартиры, наличие автомобиля и т.д. В организации была накоплена статистика возвратов или невозвратов взятых кредитов. Эта статистика представлена таблицей (файл CreditSample.txt).
Необходимо обучить нейросеть для принятия решения о выдаче кредита физическому лицу.
Импортировать данные в проект L7_2.ded из файла CreditSample.txt.
При импорте настроить поля следующим образом (рис. 7.14).
В Мастере обработки выбрать Нейросеть.
Задать входные и выходные данные следующим образом (рис. 7.15).
Рисунок 7.14 – Настройка полей |
Рисунок 7.15 – Задание входных и выходных параметров |
Провести нормализацию полей:
непрерывные (числовые) поля привести в диапазоне [–1, 1];
поля Наличие недвижимости, Наличие автотранспорта, Наличие банковского счета, Наличие страховки, Пол, Семейное положение – уникальные значения;
поле Цель ссуды – битовая маска;
поля Обеспеченность займа и Давать кредит – уникальные значения (поменять местами Ложь и Истина) (рис. 7.16).
Рисунок 7.16 – Настройка нормализации даннных
На этом нормализация закончена.
Обучающую выборку разобьем на обучающее и тестовое множества так, как программа предлагает это сделать по умолчанию, т.е. в обучающее множество попадут случайные 95 % записей, а остальные 5 % – в тестовое.
Конфигурация сети будет такой: во входном слое – 17 нейронов, то есть по одному нейрону на один вход.
Сделаем один скрытый слой с двумя нейронами. В выходном слое будет один нейрон, на выходе которого будет решение о выдаче кредита.
Выберем алгоритм обучения сети Resilient Propagation с настройками по умолчанию. Условие окончания обучения оставим без изменения.
Обученную таким образом нейросеть можно использовать для принятия решения о выдаче кредита физическому лицу. Это можно сделать, применяя анализ Что-если.
После изменения в этой таблице входных полей система сама принимает решение о выдаче кредита и в поле Давать кредит проставляет либо Истина, либо Ложь.
Кроме такой таблицы анализ Что-если содержит диаграмму, на которой отображается зависимость выходного поля от одного из входных полей при фиксированных значениях остальных полей.
Например, требуется узнать, на какой срок ссуды кредита может рассчитывать человек, обладающий определенными характеристиками. Это можно определить по диаграмме (рис. 7.17).
Рисунок 7.17 – Диаграмма анализа Что-если
Видно, что если срок ссуды увеличится до 36 месяцев, то параметр
Давать ссуду изменится на Истина (рис. 7.18).
Рисунок 7.18 – Диаграмма анализа Что-если
В Таблице сопряженности можно увидеть точность классификации на обучающей и тестовой выборке (рис. 7.19).
Рисунок 7.19 – Таблица сопряженности
На Графе нейросети можно представить нейронную сеть графически, со всеми нейронами и синоптическими связями (рис. 7.20).
Рисунок 7.20 – Граф нейронной сети
Сохраните проект в файле L7_2.ded.
Вопросы для проверки
Какие типы узлов существуют?
Что лежит в основе обработчика Нейросеть?
Можно ли пропустить этап нормализации значений полей?
Какой метод использует алгоритм обучение по эпохам?
Как выбрать алгоритм обучения многослойного пер¬септрона?
На каком этапе происходит остановка обучения Нейросети?
Как проверить качество каждой обученной сети?
Какой визуализатор представляет нейронную сеть со всеми нейронами и синоптическими связями?
