Добавил:
Я и кто? Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №3

.docx
Скачиваний:
63
Добавлен:
10.09.2023
Размер:
843.1 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации Ордена Трудового Красного Знамени

федеральное государственное бюджетное образовательное

учреждение высшего образования

Московский технический университет связи и информатики

Кафедра «Математическая кибернетика и информационные технологии»

Лабораторная работа №3

по дисциплине

«Управление данными»

Москва 2023

Оглавление

Цель работы 2

Ход лабораторной работы 3

Вывод 20

Цель работы

Ознакомиться с методами частотного анализа из библиотеки MLxtend

Ход лабораторной работы

Создадим Python скрипт и загрузим данные в датафрейм.

Рисунок 1 – Загрузка данных

Далее мы получим список всех id покупателей, которые есть в файле

Рисунок 2 – Список id

Получим список всех товаров, которые есть в файле.

Рисунок 3 – Список товаров

Далее необходимо сформировать датасет подходящий для частотного анализа. Для этого надо слить все товары одного покупателя в один список. Для дальнейшего частотного анализа id покупателя будет не нужен

Рисунок 3 – Формирование датасета

Так как полученные датасет не пригоден для анализа напрямую, так как каждый список пользователя может содержать разное количество товаров. Поэтому данные надо закодировать так, чтобы их можно было представить в виде матрицы. Для кодированния данных используем TransactionEncoder

Рисунок 4 – Полученный результат

Применим алгоритм apriori с минимальным уровнем поддержки 0.3

Рисунок 5 - Алгоритм apriori с минимальным уровнем поддержки 0.3

Рисунок 6 – Полученный результат

Рисунок 7 – Полученный результат

Благодаря алгоритму "apriori" можно выделить часто встречающиеся сочетания (наборы) продуктов, которые покупают люди, в том числе наборы из одного продукта. Частоту задали параметром min_support.

Частота = количество строк с всеми "True" для набора / общее количество строк.

Применим алгоритм apriori с тем же уровнем поддержки, но ограничим максимальный размер набора единицей

Рисунок 8 - Алгоритм apriori

Рисунок 9 – Полученный результат

Применим алгоритм apriori и выведем только те наборы, которые имеют размер 2, а также количество таких наборов

Рисунок 10 – Полученный результат

Далее посчитаем количество наборов при различных уровнях поддержки. Начальное значение поддержки 0.05, шаг 0.01. Постройте график зависимости количества наборов от уровня поддержки

Рисунок 11 – Полученный результат

Определим значения уровня поддержки при котором перестают генерироваться наборы размера 1,2,3, и.т.д. Отметим полученные уровни поддержки на графике построенном выше.

Рисунок 12 – Код

Рисунок 13 – Полученный результат

Построим датасет только из тех элементов, которые попадают в наборы размером 1 при уровне поддержки 0.38

Рисунок 14 – Код

Приведём полученный датасет к формату, который можно обработать

Рисунок 15 – Код

Рисунок 16 – Полученный результат

Проведём ассоциативный анализ при уровне поддержки 0.3 для нового датасета.

Рисунок 17 – Полученный результат

Проведём ассоциативный анализ при уровне поддержки 0.15 для нового датасета.

Рисунок 18 – Полученный результат

Выведем все наборы размер которых больше 1 и в котором есть 'yogurt' или 'waffles'

Рисунок 19 – Полученный результат

Построим датасет, из тех элементов, которые не попали в датасет в п. 6 и приведём его к удобному для анализа виду.

Рисунок 20 – Полученный результат

Проведём анализ "apriori" для полученного датасета для уровней поддержки 0.3 и 0.15

Рисунок 21 – Полученный результат

Рисунок 22 – Полученный результат

Напишем правило, для вывода всех наборов, в которых хотя бы два элемента начинаются на 's'

Рисунок 23 – Код

Рисунок 24 – Полученный результат

Напишем правило, для вывода всех наборов, для которых уровень поддержки изменяется от 0.1 до 0.25

Рисунок 25 – Полученный результат

Вывод

Ознакомился с методами частотного анализа из библиотеки MLxtend