- •Интеллектуальный анализ данных Лабораторный практикум
- •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. Визуализатор Что-если в ассоциативных правилах
- •Список литературы
- •Інтелектуальний аналіз даних Лабораторний практикум
Проектирование структуры хранилища данных
После создания хранилища необходимо спроектировать его структуру, т.к. в пустом хранилище нет ни одного объекта (процессов, измерений, фактов). Для этого предназначен Редактор метаданных, который вызывается кнопкой
на
вкладке
Подключения.
Проделаем следующие действия в редакторе метаданных для того чтобы
отразить структуру хранилища в семантическом слое.
Для перехода в режим внесения изменений в структуру хранилища нажмем кнопку
Разрешить
редактировать.
Появится
диалоговое
окно
с предупреждением (рис.
3.8).
Рисунок 3.8 – Предупреждение о переходе в режим редактирования
В открывшемся окне редактора метаданных, остановившись на узле
Измерения,
при помощи кнопки Добавить
укажем
в метаданные
первое
измерение Код группы со следующими параметрами: Имя – GR_ID; Метка –
Группа.Код; Тип данных – Целый.
Проделаем аналогичные действия для создания всех остальных измерений, взяв параметры из таблицы 3.5.
Таблица 3.5. Параметры измерений
В результате структура метаданных нашего хранилища будет содержать пять измерений (рис. 3.9).
Рисунок 3.9 – Структура метаданных хранилища
К каждому измерению, кроме Дата и Час, теперь добавим по текстовому атрибуту (рис. 3.10). Для измерения Группа.Код это будет Группа.Наименование, для измерения Товар.Код – Товар.Наименование, для измерения Отдел.Код – Отдел.Наименование.
Размер поля в строковых атрибутах предлагается равным 100, оставим это без изменений.
Рисунок 3.10 – Изменения в структуре хранилища
Каждое измерение может ссылаться на другое измерение, реализуя тем самым иерархию измерений.
В нашем случае измерение
Товар.Код ссылается
на
Группа.Код (рис.
3.11).
Эту
ссылку
и
установим
путем
простого
добавления
объекта
к измерению (ссылка
на измерение отображается иконкой
),
а имя
ссылки
зададим
GR_ID_1.
Рисунок 3.11 – Реализация иерархии измерений
После того как все измерения и ссылки на измерения созданы, приступаем к формированию процесса (рис. 3.12).
Рисунок 3.12 – Формирование процесса Продажи
Назовем его Продажи и «соберем» его из 4 существующих измерений:
Дата, Отдел.Код, Товар.Код, Час (кнопка для каждого измерения).
Кроме них в нашем процессе присутствуют два факта: Количество (F_COUNT) и Сумма (F_SUM), причем первый – целочисленный, второй – вещественный.
На этом проектирование структуры и метаданных ХД закончено. Для того чтобы принять все изменения, нужно нажать кнопку Принять изменения
.
Нажатие
кнопки Откатить
изменения
вернет
структуру
хранилища в состояние, которое было до момента входа в режим редактирования. После этого можно закрыть окно редактора.
Сохранить результаты работы в файле L3_1_создание_ХД.ded.
Наполнение хранилища данных
После создания структуры хранилища данных оно представляет с собой
«пустое» ХД Deductor Warehouse 6 с настроенным семантическим слоем.
В таком виде оно готово к загрузке данных из внешних структурированных источников. Для этого необходимо написать соответствующий сценарий в Deductor Studio.
Сценарий загрузки должен выполнять следующие функции.
Импорт данных в Deductor Studio из базы данных, учетной системы или предопределенных файлов.
Опциональная предобработка данных, например, очистка или преобразование формата.
Загрузка данных в измерения и процессы хранилища Deductor Warehouse.
В нашем демонстрационном примере исходными данными для ХД служат 4 текстовых файла: groups.txt (товарные группы), produces.txt (товары), stores.txt (отделы), sales.txt (продажи по дням). Поэтому сценарий загрузки должен быть настроен на использование в качестве источников данных на эти файлы (рис. 3.13).
Рисунок 3.13 – Результат сценария загрузки из четырех узлов
При создании сценария необходимо строго придерживаться следующих правил.
Первыми загружаются все измерения, имеющие атрибуты. Только после загрузки всех измерений загружаются данные в процесс(ы).
Среди измерений также имеется правило на порядок загрузки: загружать измерения нужно, начиная с самого верхнего уровня иерархии и спускаться по иерархии ниже. Это крайне важно, в противном случае иерархия не будет создана.
Допускается не загружать отдельно измерения, не имеющие атрибутов и не состоящие в иерархии измерений. Значения таких измерений можно при использовании специальной опции создавать во время загрузки в процесс.
Последовательно импортируем все четыре текстовых файла в Deductor в следующей последовательности: groups.txt, produces.txt, stores.txt, sales.txt.
При подключении файла sales.txt необходимо исправить следующие ошибки:
разделители целой и дробной части – точка;
тип поля Сумма – вещественный;
тип поля Количество – целый.
Внимательно установите в файлах groups.txt, produces.txt, stores.txt, sales.txt. типы данных у полей Группа.Код, Товар.Код, Отдел.Код, Час.Код – они должны быть целыми.
В результате получим сценарий, состоящий из четырех узлов импорта.
После импорта можно приступим к загрузке данных в ХД (рис. 3.14).
Рисунок 3.14 – Мастер экспорта данных в ХД
Первыми следуют таблицы измерений, и только в конце – таблица процесса sales.txt. Менять порядок веток сценария можно при помощи кнопок CTRL+↑ и CTRL+↓.
Представим последовательность загрузки данных в измерение снова на примере первого измерения Группа.Код. Встав для этого на первом узле, вызовем Мастер экспорта. Из списка типа приемников выберем Deductor Warehouse.
На следующей вкладке из списка доступных хранилищ укажем нужное нам ХД под названием Иванов.Фармация. Далее требуется указать, в какое именно измерение будет загружаться информация.
Это – Группа.Код.
Последнее, что осталось, – это установить соответствие элементов объекта в хранилище данных с полями входного источника данных (т.е. таблицы groups.txt). В случае, когда имена полей и метки в семантическом слое хранилища данных совпадают, делать ничего не нужно (либо выбрать в Поле из источника данных нужное поле).
Нажатие кнопки Пуск на следующем шаге загрузить в измерение данные. При этом «старые» данные, если они были, будут обновлены (рис. 3.15).
Рисунок 3.15 – Результирующий сценарий соответствия элементов
Проделав аналогичные действия еще для двух измерений –
Отдел.Код, Товар.Код, получим следующий сценарий.
Загрузка измерений на этом заканчивается, несмотря на то что еще остались два измерения Дата и Час. Но они без атрибутов и не участвуют в иерархии, поэтому их значения можно загрузить на этапе экспорта в процесс.
Теперь, когда все измерения загружены (т.е. определены все координаты в многомерном пространстве), можно загружать данные в процесс Продажи (рис. 3.16). В отличие от загрузки измерений в Мастере экспорта появляются два специфических шага.
На одном из них нужно задать параметры контроля непротиворечивости данных в хранилище – указать измерения, по которым следует удалять данные из хранилища.
Рисунок 3.16 – Задание параметров контроля непротиворечивости
Здесь указываем выполняемое действие в ситуации, когда в процесс загружается информация, которая совпадает по значениям из нескольких измерений. Вариантов может быть два:
удалить «старые» данные и загрузить «новые»;
запретить удаление и оставить то, что уже было загружено ранее. Подобный способ загрузки удобен тем, что позволяет избежать коллизий, например, когда в хранилище имеются некорректные данные за какой-то период. В таком случае лучше все данные за этот период удалить, а после загрузить новые корректные сведения.
На последней странице настроек лучше оставить настройки по умолчанию (рис. 3.17).
Загрузка с поднятой опцией Обновить кубы «пересчитает» все кубы, построенные в хранилище на основе данного процесса.
Включенный флажок Отключить ограничения и индексы полезен в случае экспорта в процесс больших объемов данных (например, при первичной загрузке). Тогда во время выполнения этого действия каждый раз при добавлении строки данных будет тратиться время на дополнительные процедуры, связанные с перестройкой индексов и проверкой ограничений. С ростом числа записей выигрыш от отключения этих процедур может составлять ощутимую величину (в 3–5 и более раз).
Рисунок 3.17 – Настройки по умолчанию
Флажок Автоматически добавлять значения измерений как раз и позволяет «на лету» добавлять новые значения в существующие измерения. Однако пользоваться данный опцией нужно с осторожностью. В случае бездумного ее применения можно очень быстро «замусорить» хранилище данных, т.к. любое, даже неверное значение измерения будет занесено как реально существующее.
Активный флажок Группировать данные перед загрузкой в хранилище полезен в следующей ситуации: вы до конца не уверены, что совокупность измерений процесса обеспечит уникальность точки в многомерном пространстве и, одновременно, такой уровень детализации вас устраивает. В нашем примере, если в таблице продаж встретятся две записи с одинаковыми значениями измерений (таблица 3.6), то при отсутствии установленного флажка Группировать данные… в хранилище попадет только вторая запись (т.е. последняя встретившаяся). Получится, что одна запись фактически потеряется, а, по-хорошему, нужно просуммировать значения полей Количество и Сумма.
Таблица 3.6. Две записи с одинаковыми значениями измерений
В Мастере экспорта можно задать и любой другой вариант агрегации данных (рис. 3.18). В случае, когда есть уверенность в том, что совокупность измерений процесса обеспечивает уникальность точки в многомерном пространстве, группировку можно не производить – это сэкономит время загрузки.
Рисунок 3.18 – Задание варианта агрегации
Окончательный сценарий загрузки в хранилище Иванов.Фармация
следующий (рис. 3.19).
Рисунок 3.19 – Получение окончательного сценария загрузки в хранилище
Полученный результат сохранить в файле L3_1.ded.
