code-review-101-RomashkaHH
Кузнеченко Роман РИ-150911
📊 Assignment 7: Exploratory Data Analysis — German Credit Dataset
Общая информация
Задание: Assignment 7 — Exploratory Data Analysis (EDA)
Датасет: German Credit Data
Источник: HuggingFace ()
Задача: Анализ кредитного риска (бинарная классификация)
Цель работы — провести разведочный анализ данных (EDA), изучить структуру датасета, целевую переменную, числовые и категориальные признаки, а также подготовить данные к дальнейшему машинному обучению.
1. Загрузка и подготовка данных
Данные были загружены с помощью библиотеки из HuggingFace.
Использовалась обучающая часть датасета ().
В ходе подготовки данных:
- датасет был преобразован в pandas.DataFrame
- строки с пропущенными значениями были удалены
- целевая переменная
была перемещена в последнюю колонкуRisk
Размер итогового датасета:
- Количество объектов: 522
- Количество признаков: 10
2. Первичный обзор данных
Первые 5 строк датасета:
| Age | Sex | Job | Housing | Saving accounts | Checking account | Credit amount | Duration | Purpose | Risk |
|---|---|---|---|---|---|---|---|---|---|
| 22 | female | 2 | own | little | moderate | 5951 | 48 | radio/TV | bad |
| 45 | male | 2 | free | little | little | 7882 | 42 | furniture/equipment | good |
| 53 | male | 2 | free | little | little | 4870 | 24 | car | bad |
| 35 | male | 3 | rent | little | moderate | 6948 | 36 | car | good |
| 28 | male | 3 | own | little | moderate | 5234 | 30 | car | bad |
3. Анализ целевой переменной
Целевая переменная — , принимает два значения:
— хороший кредитный рискgood— плохой кредитный рискbad
Распределение классов
| Класс | Количество | Доля (%) |
|---|---|---|
| good | 291 | 55.75% |
| bad | 231 | 44.25% |
Выводы:
- Датасет умеренно несбалансирован
- Класс
встречается чаще, но перекос не критичныйgood - Данные подходят для обучения бинарного классификатора
Визуализация сохранена в файл:
4. Статистика числовых признаков
Числовые признаки в датасете:
- Age
- Job
- Credit amount
- Duration
Описательная статистика
| Признак | Среднее | Медиана | Std |
|---|---|---|---|
| Age | 34.89 | 31.5 | 11.79 |
| Job | 1.88 | 2.0 | 0.68 |
| Credit amount | 3278.75 | 2326.5 | 2929.16 |
| Duration | 21.34 | 18.0 | 12.47 |
Интерпретация:
- Средний возраст заёмщика — около 35 лет
- Сумма кредита имеет большую дисперсию, что указывает на широкий диапазон займов
- Длительность кредита в среднем — около 21 месяца
5. Анализ признаков
Числовые признаки
Для числовых признаков были построены гистограммы распределений. Это позволило выявить:
- асимметрию распределений
- наличие длинных хвостов (особенно у
)Credit amount - потенциальную необходимость масштабирования при обучении моделей
Визуализация сохранена в файл:
Категориальные признаки
Для категориальных признаков были построены столбчатые диаграммы (отображались топ-5 наиболее частых значений).
Категориальные признаки:
- Sex
- Housing
- Saving accounts
- Checking account
- Purpose
Визуализация сохранена в файл:
6. Пропущенные значения
После очистки данных:
- пропущенные значения отсутствуют
- датасет готов к дальнейшему анализу и моделированию
7. Итоговые выводы
В ходе EDA было установлено, что:
- датасет имеет адекватный размер и структуру
- целевая переменная умеренно несбалансирована
- присутствуют как числовые, так и категориальные признаки
- данные очищены от пропусков
- датасет готов к:
- кодированию категориальных признаков
- масштабированию числовых признаков
- обучению моделей машинного обучения
8. Используемые библиотеки
- pandas
- numpy
- matplotlib
- seaborn
- datasets
9. Файлы визуализаций
- 07_german_credit_target_distribution.png
- 07_german_credit_numeric_distribution.png
- 07_german_credit_categorical_distribution.png
10. Удалённые файлы
- CONTRIBUTING.md
- FILE_UPDATE_REPORT.md