code-review-101-Farid

0
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
README.md

🔍 Задание 6: Exploratory Data Analysis — Датасет Titanic

Цель: Провести разведочный анализ данных (EDA) датасета пассажиров «Титаника» для понимания факторов, влияющих на выживаемость.


GitVerse профили Студент: Farid Репозиторий: /urfu_itis_limits/code-review-101-Farid

📁 Источник данных

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

datasets
:

Структура датасета:

  • 891 запись (пассажиров)
  • 12 признаков
ПризнакТипОписание
PassengerId
intУникальный ID
Survived
intЦелевая переменная:
0
= погиб,
1
= выжил
Pclass
intКласс билета (1 = высший, 2 = средний, 3 = низший)
Name
strИмя
Sex
strПол (
male
/
female
)
Age
floatВозраст (с пропусками)
SibSp
intКоличество братьев/сестёр или супругов на борту
Parch
intКоличество родителей/детей на борту
Ticket
strНомер билета
Fare
floatСтоимость билета
Cabin
strНомер каюты (много пропусков)
Embarked
strПорт посадки (
C
= Cherbourg,
Q
= Queenstown,
S
= Southampton)

🧹 Этап 1: Анализ пропущенных значений

ПризнакПропущеноПроцент
Age
17719.87%
Cabin
68777.10%
Embarked
20.22%

💡 Вывод:

  • Cabin
    почти полностью отсутствует — его нецелесообразно использовать без импутации.
  • Age
    имеет умеренное количество пропусков — возможна замена медианой.
  • Embarked
    — всего 2 пропуска, можно удалить или заполнить модой (
    'S'
    ).

🎯 Этап 2: Анализ целевой переменной (
Survived
)

СтатусКоличествоПроцент
Умер54961.62%
Выжил34238.38%

💡 Вывод:
Датасет слегка несбалансирован, но пригоден для анализа. Базовая точность (всегда предсказывать «погиб») — ~62%.


📊 Этап 3: Статистика числовых признаков

ПризнакСреднееМедианаСтдМинМакс
Age
29.7028.014.530.4280.0
SibSp
0.520.01.1008
Parch
0.380.00.8106
Fare
32.2014.4549.690.0512.33

💡 Наблюдения:

  • Возраст варьируется от младенца (0.42 года) до 80 лет.
  • Высокий разброс по
    Fare
    — есть выбросы (очень дорогие билеты).
  • Большинство пассажиров путешествовали без родственников (
    SibSp = Parch = 0
    ).

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

Пол (
Sex
)

  • Мужчины: 577 (64.8%)
  • Женщины: 314 (35.2%)

Класс билета (
Pclass
)

  • 1-й класс: 216 (24.2%)
  • 2-й класс: 184 (20.7%)
  • 3-й класс: 491 (55.1%)

Порт посадки (
Embarked
)

  • Southampton (
    S
    ): 644 (72.3%)
  • Cherbourg (
    C
    ): 168 (18.9%)
  • Queenstown (
    Q
    ): 77 (8.7%)

🔑 Ключевые зависимости выживаемости

Анализ через визуализации и агрегатные метрики показал:

ФакторДоля выживших
Пол
Женщины74.2%
Мужчины18.9%
Класс
1-й класс62.9%
2-й класс47.3%
3-й класс24.2%

💡 Вывод:

  • Пол и класс билета — сильнейшие предикторы выживаемости.
  • Женщины и пассажиры 1-го класса имели существенно выше шансы на спасение.
  • Это согласуется с историческим принципом «спасать женщин и детей первыми» и приоритетом для богатых пассажиров.

🖼️ Сгенерированные визуализации

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

  1. 06_titanic_target_distribution.png

    — Распределение выживших и погибших.

  2. 06_titanic_numeric_distribution.png

    — Гистограммы числовых признаков (
    Age
    ,
    Fare
    ,
    SibSp
    ,
    Parch
    ).

  3. 06_titanic_categorical_distribution.png

    — Распределение
    Sex
    ,
    Pclass
    ,
    Embarked
    .

  4. 06_titanic_survival_by_features.png

    — Доля выживших по полу и классу билета.

Все графики сохранены в корневой директории проекта с разрешением 300 DPI для чёткости.


🛠️ Как запустить анализ

  1. Установите зависимости:

  2. Запустите скрипт:

  3. В папке появятся:

    • Консольный отчёт с полной статистикой
    • 4 PNG-файла с визуализациями

Удалённые файлы: CONTRIBUTING.md - удален FILE_UPDATE_REPORT.md - удален README.md - создан Figure_1.png - добавлен Figure_2.png - добавлен Figure_3.png - добавлен Figure_4.png - добавлен


✅ Вывод

Проведённый EDA подтвердил известные исторические закономерности:
женщины, дети и пассажиры высших классов имели значительно выше шансы выжить.
Датасет готов к дальнейшему использованию в задачах машинного обучения (например, классификации выживаемости). Рекомендуется:

  • Заполнить пропуски в
    Age
    медианой по
    Pclass
    и
    Sex
  • Закодировать категориальные признаки (
    Sex
    ,
    Embarked
    )
  • Удалить или игнорировать
    Cabin
    из-за большого числа пропусков

📌 Farid: студент УрФУ
Группа: РИ-150942/3 Номер задания: 9 📅 Дата: 20 ноября 2025 г.