ГУАП
КАФЕДРА №41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
В.В. Боженко |
|
|
|
|
|
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №5
ПРОВЕДЕНИЕ A/B ТЕСТИРОВАНИЯ
по курсу: Введение в анализ данных
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. №
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2022
Цель работы
Изучение изучить алгоритмы для проведения A/B тестирования для принятия
решений.
Индивидуальный вариант
Индивидуальный вариант номер 10 в соответствии с таблицей 1.
|
|
|
Таблица 1 – Индивидуальный вариант задания |
|
|
|
|
Название |
|
|
Пояснение |
датафрейма |
|
|
|
|
|
|
|
orders.csv |
|
1. |
transactionId — идентификатор заказа; |
|
|
2. |
visitorId — идентификатор пользователя, совершившего заказ; |
|
|
3. |
date — дата, когда был совершён заказ; |
|
|
4. |
revenue — выручка заказа; |
|
|
5. |
group — группа A/B-теста, в которую попал заказ. |
visitors.csv |
|
1. |
date — дата; |
|
|
2. |
group — группа A/B-теста; |
|
|
3. |
visitors — количество пользователей в указанную дату в |
|
|
указанной группе A/B-теста |
|
logs_exp.csv |
|
Каждая запись в логе — это действие пользователя, или событие. |
|
|
|
1. |
EventName — название события; |
|
|
2. |
DeviceIDHash — уникальный идентификатор пользователя; |
|
|
3. |
EventTimestamp — время события; |
|
|
4. |
ExpId — номер эксперимента: 246 и 247 — контрольные группы, |
|
|
а 248 — экспериментальная. |
|
Вариант номер 4 индивидуального задания для первой части работы в соответствии |
|||
с таблицей 2. |
|
|
|
|
|
|
Таблица 2 – Индивидуальный вариант задания |
|
|
||
Вариант № |
Пояснения |
||
4 |
Изобразить точечный график числа заказов по пользователям. |
||
|
Для этого с помощью groupby получите таблицу ordersByUsers следующего |
||
|
вида |
|
А затем с помощью scatter по оси у – отложите ‘orders’, по оси х - pd.Series(range(0,len(ordersByUsers)))
2
Ход работы
1.Получили у преподавателя наборы данных orders.csv, visitors.csv, logs_exp.csv
всоответствии с индивидуальным вариантом №10 для проведения анализа согласно цели выполняемой работы.
Загрузили датасет с помощью библиотеки pandas в Jupyter-ноутбуке в соответствии с рисунком 1.
Рисунок 1 – Загрузка датаcета в Colab из файла 5gym_churn.csv на Google Диске
3
Вывод: Ознакомившись с данные на первый взгляд с ними все хорошо только названия столбцов нужно привести к единому змеиному регистру, переименовывать не нужно так как названия столбцов соответствуют содержимому.
2.Провели предварительную обработку данных.
Названия столбцов соответствуют содержимому, поэтому необходимо только привести где нужно названия к змеиному регистру для лучшей читаемости в соответствии с рисунком 2.
Рисунок 2 – Устранение проблем названий столбцов Проверили данные на наличие пропусков значений в столбцах в соответствии с
рисунком 3.
Рисунок 3 – Проверка датасетов на наличие пропусков значений
Вывод: Пропусков в дата сете не оказалось, исправлять ничего не нужно – это упрощает нам работу.
4
Проверили данные на наличие явных дубликатов и удалили их в соответствии с рисунком 4.
Рисунок 4 – Проверка дата сета на наличие явных дубликатов
Вывод: Явные дубликаты обнаружены только в датафрейме logs_exp, их мы удалил.
Проверили данные на наличие неявных дубликатов и ошибочных значений групп в соответствии с рисунками 5
Рисунок 5 – Проверка неявных дубликатов и ошибочных значений Ошибок и неявных дубликатов не оказалось.
Вывод: Ошибок и неявных дубликатов не оказалось.
5
Исправили типы данных на соответствующие содержимому в соответствии с рисунком 6.
Рисунок 6 – Исправление типов данных
Вывод: Ошибки стандартные связанные с тем, что среда не может точно определить данные содержащие отметки времени и строковые типы данных.
6
Первая часть
3. Выявили и удалили из датафреймов данные о пересекающихся. Такие данные не пригодны для анализа, потому что нельзя точно определить какая версия тестируемого объекта повлияла на его действия. Код поиска и удаления пересекающихся пользователей в соответствии с рисунком 7 для датафрейма Orders и рисунком 8 для датафрейма Visitors.
Рисунок 7 – Выявление и удаление пересечения пользователей датафрейма Orders
7
Рисунок 8 – Выявление и удаление пересечения пользователей датафрейма Visitors
Вывод: В обоих датафреймах были обнаруженны пересечения пользователей,
которые пришлось удалять для обеспечения корректности последующего анализа.
4. Создали массив уникальных пар значений дат и групп теста в соответствии с рисунком 9.
Рисунок 9 – Получение массива уникальных пар дат и групп теста
8
5. Получили агрегированные кумулятивные данные о заказах по дням в соответствии с рисунком 10.
Рисунок 10 – Получение агрегированных кумулятивных данных о заказах по дням
Вывод: Полученные данные отражают то сколько уникальных пользователей было в определенный день, сколько заказов они сделали, какую выручку принести и самое главное для теста к какой группе они относились.
9
6. Аналогично предыдущему пункту получили агрегированные кумулятивные данные о посетителях по дням в соответствии с рисунком 11.
Рисунок 11 – Получение агрегированных кумулятивных данных о посетителях по дням
Вывод: Полученные данные отражают то сколько пользователей было в определенный день и самое главное для теста к какой группе они относились.
7. Объединили данные в одной таблице cumulativeData в соответствии с рисунком 12.
Рисунок 12 – Объединение данных в одной таблице
10