code-review-101-RomashkaHH

0
README.md

Кузнеченко Роман РИ-150911

📊 Assignment 7: Exploratory Data Analysis — German Credit Dataset

Общая информация

Задание: Assignment 7 — Exploratory Data Analysis (EDA)
Датасет: German Credit Data
Источник: HuggingFace (

AiresPucrs/german-credit-data
)
Задача: Анализ кредитного риска (бинарная классификация)

Цель работы — провести разведочный анализ данных (EDA), изучить структуру датасета, целевую переменную, числовые и категориальные признаки, а также подготовить данные к дальнейшему машинному обучению.


1. Загрузка и подготовка данных

Данные были загружены с помощью библиотеки

datasets
из HuggingFace. Использовалась обучающая часть датасета (
train
).

В ходе подготовки данных:

  • датасет был преобразован в
    pandas.DataFrame
  • строки с пропущенными значениями были удалены
  • целевая переменная
    Risk
    была перемещена в последнюю колонку

Размер итогового датасета:

  • Количество объектов: 522
  • Количество признаков: 10

2. Первичный обзор данных

Первые 5 строк датасета:

AgeSexJobHousingSaving accountsChecking accountCredit amountDurationPurposeRisk
22female2ownlittlemoderate595148radio/TVbad
45male2freelittlelittle788242furniture/equipmentgood
53male2freelittlelittle487024carbad
35male3rentlittlemoderate694836cargood
28male3ownlittlemoderate523430carbad

3. Анализ целевой переменной

Целевая переменная —

Risk
, принимает два значения:

  • good
    — хороший кредитный риск
  • bad
    — плохой кредитный риск

Распределение классов

КлассКоличествоДоля (%)
good29155.75%
bad23144.25%

Выводы:

  • Датасет умеренно несбалансирован
  • Класс
    good
    встречается чаще, но перекос не критичный
  • Данные подходят для обучения бинарного классификатора

Визуализация сохранена в файл:

07_german_credit_target_distribution.png


4. Статистика числовых признаков

Числовые признаки в датасете:

  • Age
  • Job
  • Credit amount
  • Duration

Описательная статистика

ПризнакСреднееМедианаStd
Age34.8931.511.79
Job1.882.00.68
Credit amount3278.752326.52929.16
Duration21.3418.012.47

Интерпретация:

  • Средний возраст заёмщика — около 35 лет
  • Сумма кредита имеет большую дисперсию, что указывает на широкий диапазон займов
  • Длительность кредита в среднем — около 21 месяца

5. Анализ признаков

Числовые признаки

Для числовых признаков были построены гистограммы распределений. Это позволило выявить:

  • асимметрию распределений
  • наличие длинных хвостов (особенно у
    Credit amount
    )
  • потенциальную необходимость масштабирования при обучении моделей

Визуализация сохранена в файл:

07_german_credit_numeric_distribution.png

Категориальные признаки

Для категориальных признаков были построены столбчатые диаграммы (отображались топ-5 наиболее частых значений).

Категориальные признаки:

  • Sex
  • Housing
  • Saving accounts
  • Checking account
  • Purpose

Визуализация сохранена в файл:

07_german_credit_categorical_distribution.png


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