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

ЛР / ЛР2 / ВАД ЛР2

.pdf
Скачиваний:
14
Добавлен:
25.06.2023
Размер:
1.01 Mб
Скачать

ГУАП

КАФЕДРА №41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

 

 

 

В.В. Боженко

 

 

 

 

 

 

 

 

 

должность, уч. степень, звание

 

подпись, дата

 

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2

АНАЛИЗ СВЯЗЕЙ МЕЖДУ ПРИЗНАКАМИ ДВУМЕРНОГО НАБОРА ДАННЫХ

по курсу: Введение в анализ данных

РАБОТУ ВЫПОЛНИЛ

 

 

 

 

 

СТУДЕНТ ГР. №

4918

 

 

 

Е.С. Плеханов

 

 

 

 

 

 

 

 

 

 

 

подпись, дата

 

инициалы, фамилия

Санкт-Петербург 2022

Цель работы

Изучение связи между признаками двумерного набора данных.

Индивидуальный вариант

Индивидуальный вариант номер 10 в соответствии с таблицей 1.

Таблица 1 – Индивидуальный вариант задания

Название

 

Пояснение

датафрейма

 

 

 

8и10credit.csv

Информация о заемщиках:

 

1.

Количество детей в семье

 

2.

Общий трудовой стаж в днях

 

3.

Возраст клиента в годах

 

4.

Уровень образования клиента

 

5.

Идентификатор уровня образования

 

6.

Семейное положение

 

7.

Идентификатор семейного положения

 

8.

Пол клиента

 

9.

Тип занятости

 

10.

Имел ли задолженность по возврату кредитов

 

11.

Ежемесячный доход

 

12.

Цель получения кредита

2

Ход работы

1)Получили у преподавателя набор данных 8и10credit.csv в соответствии с индивидуальным вариантом №10 для проведения анализа согласно цели выполняемой работы.

2)Загрузить датасет с помощью библиотеки pandas в Jupyter-ноутбуке в соответствии с рисунком 1.

Рисунок 1 – Загрузка датаcета в Colab из файла 8и10credit.csv на Google Диске

Вывод: Изучив данные выявили следующие проблемы с колонками данных:

Колонка daysEmployed содержит нужно переименовать в змеином регистре; формат данных должен быть целочисленным, потому что столбец хранит кол-во дней, что передусматривает целое число и дробная часть не имеет особого значения в нащем случае; числа не должны быть оттрицательными так как значение должно отражать сколько человек отработал дней; значений привышающих возраст человека быть не может.

Столбец dob_years необходимо переименовть в full_years чтобы конкретизировать содержащуюся в нем информацию.

Столбец children переименуем в children_count так как это количественный а не

3

бинарный признак

Столбец education переименуем в education_level с тойже целью что и столбец

dob_years; регистр данных различен, из-за этого произойдет замножения однотипных категорий по данному признаку

Столбец total_income можно привести к целому числу что бы отбросить не значащие копецки.

3)Провели предварительную обработку данных.

Выявили и устранили проблемы с названиями столбцов таблицы в соответствии с рисунком 2.

Рисунок 2 – Устранение проблем названий столбцов

4

Выяснили что категориальные значения в столбцах отличаются регистром написания что увеличивает кол-во категорий. Исправили эту проблему приведением значений столбцов к регистру одного вида в соответствии с рисунком 3.

Рисунок 3 – Устранение проблем регистра

Обработали пропуски в строках.

Выяснили в каких столбцах присутствуют пропуски и изучили остальные данные в них в соответствии с рисунком 4.

Рисунок 4 – Выявление проблем пропусков

5

Устранили пропуски столбца «total_income» (ежемесячный доход) заполнив их медианным значениям для клиентов с таким же уровнем образования и родом деятельности в соответствии с рисунком 5.

Рисунок 5 – Устранили пропуски в столбце «total_income»

Столбец «days_employed», который должен содержать трудовой стаж, так же имеет проблему пропусков, но эта не самая большая проблема этих данных. Данный столбик

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

Рисунок 6 – Удаление столбика «days_employed»

6

Вывод:

Пропущенные значения дохода мы заменили на медианное значение для категории, в которую попадает человек. Это позволит получить более точную информацию

иснизить возможную статистическую погрешность;

Столбец days_employed мы удалили т.к. он содержит слищко много противоречащий информации;

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

Привели тип данных столбца «total_income» к целому числу чтобы отбросить дробную часть числа, которая погоды нам не сделает, а найти дубликаты может помешать в соответствии с рисунком 7.

Рисунок 7 – Приведение типа данных столбца «» к целому числу

Вывод: Точность дохода до копеек для нас не имеет смысла, к тому же дробная часть превышала два знака после запятой, а также целые значения позволят проще категорировать группы людей.

7

Выявили и удалили явные дубликаты в таблице в соответствии с рисунком 8.

Рисунок 8 – Удаление явных дубликатов

Обработка других ошибок данных.

Вывод: Дубликатов оказалось не так много, их мы просто удалили. Возможно, в базу попало по две-три заявки от одних и тех же клиентов, чтобы такого не происходило необходимо делать проверки при сборе данных.

Выявили проблемы с данными выведя уникальные значения для столбцов дата фрейма в соответствии с рисунком 9.

Рисунок 9 – Выявление проблем с данными

8

Дополнительно изучив данные в соответствии с рисунком 10, выявили следующие проблемы:

children_count содержит значение 20 и -1, хотя отрицательного числа быть не может,

а 20 сильно выделяется на фоне остальной выборки; full_years содержит нулевой возраст;

gender содержит пол XNA;

purpose содержит опечатку - ремонт жильЮ.

Рисунок 10 – Выявление проблем с данными Про возможные причины и решения:

1.Значение 20 в количестве детей скорее всего опечатка, при наборе 2, случайно задели ноль;

2.Значение -1 могло означать раннее отсутствие детей либо их наличие, но почему-

то выгруженное, как отрицательное число. Т.к. по df[df['children_count'] == -

1]['family_status'].value_counts() можно убедиться, что большая часть этих людей находится или находилась в браке, предположим что у них 1 ребенок;

3.Нулевой возраст быть не может, скорее всего он нам просто неизвестен. Т.к. в

нашем случае значение возраста не так уж критично, оставим эти значения без изменений;

4.Поскольку пол XNA только один, а в наших данных большинство женщины -

заменим значением по умолчанию - F.

9

Устранили проблемы данных в соответствии с рисунком 11.

Рисунок 11 – Устранили проблемы данных

Вывод: В данных встречаются артефакты, тем кто делал сбор данных стоит позаботиться о более тщательной проверке данных перед их загрузкой в БД. Однако их количество вряд ли отразится на статических результатах исследования.

10

Соседние файлы в папке ЛР2