Проект по дисциплине: МДК 13.01 Основы применения методов искусственного интеллекта в программировании
Практическое занятие №2: Визуализация данных, графики Matplotlib. Библиотеки Seaborn, Plotly.
В рамках данного практического занятия была выполнена визуализация данных о пассажирах Титаника с использованием библиотек Python Matplotlib, Seaborn и Plotly. Целью работы являлось получение навыков визуализации данных для их анализа и представления.
В ходе работы применялись следующие методы визуализации данных:
- Столбчатые диаграммы: для сравнения количества выживших/погибших, выживаемости по классам и портам посадки.
- Гистограммы: для анализа распределения возрастов пассажиров.
- Круговые диаграммы: для отображения доли мужчин и женщин на борту.
- Ящики с усами: для визуализации распределения стоимости билетов по классам.
- Тепловые карты: для анализа корреляции между числовыми признаками.
- Диаграммы рассеяния: для отображения зависимости возраста от стоимости билета.
- Интерактивные диаграммы рассеяния: для интерактивного исследования данных с помощью Plotly.
Для построения графиков использовались следующие алгоритмы, реализованные в соответствующих библиотеках:
- Подсчет количества элементов по категориям.
- Вычисление статистических показателей (среднее, медиана).
- Расчет корреляции между признаками.
- Объектно-ориентированное программирование (ООП): Использована объектно-ориентированная парадигма для организации кода, разделение ответственности между классами
DataLoader
(загрузка данных) иPlotGenerator
(генерация графиков). - Принципы SOLID, KISS и DRY: Применен подход, обеспечивающий гибкость, простоту и отсутствие дублирования кода.
- Предполагается, что данные, загруженные из CSV-файла, корректны и не содержат ошибок.
- Предварительная обработка данных ограничена базовыми операциями (удаление пропущенных значений в столбце
age
).
- Python: основной язык программирования.
- Pandas: для загрузки и обработки данных.
- Matplotlib: для создания статических графиков.
- Seaborn: для улучшения визуализации графиков.
- Plotly: для создания интерактивных графиков.
Данные были взяты из открытого репозитория Seaborn по ссылке: https://github.com/mwaskom/seaborn-data/blob/master/titanic.csv?raw=true. Формат данных - CSV. Набор данных содержит информацию о пассажирах Титаника, включая их возраст, пол, класс билета, стоимость, выживаемость и другие параметры.
Удалены пропущенные значения из столбца age
для корректного построения гистограммы.
Столбчатая диаграмма показывает количество выживших и погибших пассажиров.
Гистограмма показывает распределение возрастов пассажиров. Средний возраст пассажиров: 29.70. Медианный возраст пассажиров: 28.00. Распределение возрастов на борту Титаника показывает, что большинство пассажиров были в возрасте от 20 до 40 лет, при этом медианный возраст около 28 лет.
Столбчатая диаграмма демонстрирует выживаемость по каждому классу. Выживаемость по классам: Класс 1: 62.96% Класс 2: 47.28% Класс 3: 24.24%
Самая высокая выживаемость (62.96%) была в классе 1.
Круговая диаграмма отображает долю мужчин и женщин на борту Титаника.
Ящик с усами показывает распределение стоимости билетов в зависимости от класса.
Тепловая карта отображает корреляцию между всеми числовыми признаками.
Диаграмма рассеяния представляет возраст пассажиров по отношению к стоимости их билетов.
Интерактивная карта не сохраняется в статическом отчёте, но ее можно запустить при выполнении кода.
Интерактивная диаграмма рассеяния, где цвет и размер точек отображают класс и выживаемость пассажиров.
Два подграфика отображают выживаемость в зависимости от наличия родственников (SibSp и Parch).
Столбчатая диаграмма сравнивает выживаемость пассажиров в зависимости от порта посадки.
- Большинство пассажиров на Титанике были в возрасте от 20 до 40 лет, со средним возрастом около 30 лет.
- Выживаемость значительно выше у пассажиров первого класса по сравнению с пассажирами других классов.
- Интерактивная диаграмма Plotly позволила более детально изучить взаимосвязи между возрастом, стоимостью билета, классом и выживаемостью.
- Семьи (SibSp и Parch) оказывали некоторое влияние на выживаемость пассажиров.
- Место посадки также играло роль в выживаемости пассажиров.
- Можно рассмотреть более сложные методы предварительной обработки данных, такие как заполнение пропущенных значений с использованием машинного обучения.
- Можно добавить новые типы графиков, например, violin plot для сравнения распределения данных.
- Можно использовать интерактивные элементы Plotly для более глубокого анализа данных, например, добавление фильтров.
В ходе данного проекта были получены навыки визуализации данных с использованием библиотек Matplotlib, Seaborn и Plotly. Это позволило эффективно проанализировать данные о пассажирах Титаника и выявить интересные закономерности.
Этот проект распространяется под лицензией MIT - смотрите файл LICENSE для деталей.
Бедин Владислав (MindlessMuse666)
- GitHub: MindlessMuse666
- Telegram: @mindless_muse
- Gmail: mindlessmuse.666@gmail.com