Skip to content

Проект по визуализации данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly.

License

Notifications You must be signed in to change notification settings

MindlessMuse666/titanic-data-visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Визуализация данных о пассажирах Титаника MIT-License image

Проект по дисциплине: МДК 13.01 Основы применения методов искусственного интеллекта в программировании

Практическое занятие №2: Визуализация данных, графики Matplotlib. Библиотеки Seaborn, Plotly.

1. Введение

В рамках данного практического занятия была выполнена визуализация данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly. Целью работы являлось получение навыков визуализации данных для их анализа и представления.

2. Методика и подходы

2.1. Методы

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

  • Столбчатые диаграммы: для сравнения количества выживших/погибших, выживаемости по классам и портам посадки.
  • Гистограммы: для анализа распределения возрастов пассажиров.
  • Круговые диаграммы: для отображения доли мужчин и женщин на борту.
  • Ящики с усами: для визуализации распределения стоимости билетов по классам.
  • Тепловые карты: для анализа корреляции между числовыми признаками.
  • Диаграммы рассеяния: для отображения зависимости возраста от стоимости билета.
  • Интерактивные диаграммы рассеяния: для интерактивного исследования данных с помощью Plotly.

2.2. Алгоритмы

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

  • Подсчет количества элементов по категориям.
  • Вычисление статистических показателей (среднее, медиана).
  • Расчет корреляции между признаками.

2.3. Подходы

  • Объектно-ориентированное программирование (ООП): Использована объектно-ориентированная парадигма для организации кода, разделение ответственности между классами DataLoader (загрузка данных) и PlotGenerator (генерация графиков).
  • Принципы SOLID, KISS и DRY: Применен подход, обеспечивающий гибкость, простоту и отсутствие дублирования кода.

2.4. Допущения и ограничения

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

2.5. Инструменты, библиотеки и технологии

  • Python: основной язык программирования.
  • Pandas: для загрузки и обработки данных.
  • Matplotlib: для создания статических графиков.
  • Seaborn: для улучшения визуализации графиков.
  • Plotly: для создания интерактивных графиков.

3. Результаты

3.1. Краткое описание данных

Данные были взяты из открытого репозитория Seaborn по ссылке: https://github.com/mwaskom/seaborn-data/blob/master/titanic.csv?raw=true. Формат данных - CSV. Набор данных содержит информацию о пассажирах Титаника, включая их возраст, пол, класс билета, стоимость, выживаемость и другие параметры.

3.2. Предварительная обработка данных

Удалены пропущенные значения из столбца age для корректного построения гистограммы.

3.3. Графики и диаграммы

3.3.1. Выжившие и погибшие пассажиры

Выжившие и погибшие пассажиры

Столбчатая диаграмма показывает количество выживших и погибших пассажиров.

3.3.2. Распределение возрастов

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

Гистограмма показывает распределение возрастов пассажиров. Средний возраст пассажиров: 29.70. Медианный возраст пассажиров: 28.00. Распределение возрастов на борту Титаника показывает, что большинство пассажиров были в возрасте от 20 до 40 лет, при этом медианный возраст около 28 лет.

3.3.3. Выживаемость по классам

Выживаемость по классам

Выживаемость по классам (вывод консоли)

Столбчатая диаграмма демонстрирует выживаемость по каждому классу. Выживаемость по классам: Класс 1: 62.96% Класс 2: 47.28% Класс 3: 24.24%

Самая высокая выживаемость (62.96%) была в классе 1.

3.3.4. Половое распределение

Половое распределение

Круговая диаграмма отображает долю мужчин и женщин на борту Титаника.

3.3.5. Распределение стоимости билетов по классам

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

Ящик с усами показывает распределение стоимости билетов в зависимости от класса.

3.3.6. Корреляция между числовыми признаками

Корреляция между числовыми признаками

Тепловая карта отображает корреляцию между всеми числовыми признаками.

3.3.7. Возраст и стоимость билета

Возраст и стоимость билета

Диаграмма рассеяния представляет возраст пассажиров по отношению к стоимости их билетов.

3.3.8. Интерактивная карта выживаемости по классам

Интерактивная карта не сохраняется в статическом отчёте, но ее можно запустить при выполнении кода.

Интерактивная карта выживаемости по классам

Интерактивная диаграмма рассеяния, где цвет и размер точек отображают класс и выживаемость пассажиров.

3.3.9. Влияние наличия семьи на выживаемость

Влияние наличия семьи на выживаемость

Два подграфика отображают выживаемость в зависимости от наличия родственников (SibSp и Parch).

3.3.10. Выживаемость по портам посадки

Выживаемость по портам посадки

Столбчатая диаграмма сравнивает выживаемость пассажиров в зависимости от порта посадки.

4. Анализ результатов

4.1. Выводы

  • Большинство пассажиров на Титанике были в возрасте от 20 до 40 лет, со средним возрастом около 30 лет.
  • Выживаемость значительно выше у пассажиров первого класса по сравнению с пассажирами других классов.
  • Интерактивная диаграмма Plotly позволила более детально изучить взаимосвязи между возрастом, стоимостью билета, классом и выживаемостью.
  • Семьи (SibSp и Parch) оказывали некоторое влияние на выживаемость пассажиров.
  • Место посадки также играло роль в выживаемости пассажиров.

4.2. Обсуждение возможных улучшений

  • Можно рассмотреть более сложные методы предварительной обработки данных, такие как заполнение пропущенных значений с использованием машинного обучения.
  • Можно добавить новые типы графиков, например, violin plot для сравнения распределения данных.
  • Можно использовать интерактивные элементы Plotly для более глубокого анализа данных, например, добавление фильтров.

5. Заключение

В ходе данного проекта были получены навыки визуализации данных с использованием библиотек Matplotlib, Seaborn и Plotly. Это позволило эффективно проанализировать данные о пассажирах Титаника и выявить интересные закономерности.

6. Лицензия

Этот проект распространяется под лицензией MIT - смотрите файл LICENSE для деталей.

7. Автор

Бедин Владислав (MindlessMuse666)

About

Проект по визуализации данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages