https://github.com/mindlessmuse666/titanic-data-visualization
Проект по визуализации данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly.
https://github.com/mindlessmuse666/titanic-data-visualization
data-analysis data-visualization matplotlib pandas plotly python seaborn titanic
Last synced: 17 days ago
JSON representation
Проект по визуализации данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly.
- Host: GitHub
- URL: https://github.com/mindlessmuse666/titanic-data-visualization
- Owner: MindlessMuse666
- License: mit
- Created: 2025-01-29T20:13:06.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2025-01-29T20:47:25.000Z (23 days ago)
- Last Synced: 2025-01-29T21:22:51.286Z (23 days ago)
- Topics: data-analysis, data-visualization, matplotlib, pandas, plotly, python, seaborn, titanic
- Language: Python
- Homepage:
- Size: 200 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Визуализация данных о пассажирах Титаника
**Проект по дисциплине:** МДК 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](LICENSE) для деталей.
## 7. Автор
Бедин Владислав ([MindlessMuse666](https://github.com/MindlessMuse666))
- GitHub: [MindlessMuse666](https://github.com/MindlessMuse666 "Владислав: https://github.com/MindlessMuse666")
- Telegram: [@mindless_muse](t.me/mindless_muse)
- Gmail: [[email protected]]([email protected])