Original size 1024x1434

Titanic Dataset: закономерности выживания

PROTECT STATUS: not protected
4

«Титаник» — крупнейший пассажирский лайнер начала XX века, который в ночь с 14 на 15 апреля 1912 года столкнулся с айсбергом и затонул в Северной Атлантике, унеся жизни более 1500 человек.

Введение

Тема Титаника — это не просто исторический факт или сюжет известного фильма. Для меня этот корабль и его трагедия имеют особое значение. Первый раз фильм «Титаник» я посмотрела уже в осознанном возрасте, когда могла не только воспринимать эмоции, но и задумываться над происходящим. И, хотя многие ожидают, что после просмотра вызовут слёзы, меня он тронул скорее глубиной размышлений.

История Титаника — это история о человеческих судьбах, социальных различиях, выборе и случайности. Анализ данных о пассажирах позволяет взглянуть на трагедию с другой стороны — через призму цифр и фактов, понять, какие факторы действительно влияли на выживаемость, и сделать выводы, которые выходят за рамки эмоций.

Этот проект — попытка соединить личное впечатление с объективным исследованием, используя современные инструменты анализа данных. Важно не только помнить о трагедии, но и учиться на её уроках, видеть закономерности и понимать, как социальные и демографические факторы влияют на исходы в экстремальных ситуациях.

big
Original size 1920x1080

Изображение сгенерировано с помощью нейросети leonardo.ai Промпт: A realistic scene inside the passenger liner Titanic at the moment of iceberg collision at night: people in panic, fear and confusio

Для меня этот анализ важен не только с точки зрения технической работы с данными, но и как возможность глубже понять человеческие истории, стоящие за цифрами. Это помогает осознать, как разные обстоятельства влияли на судьбы людей, и учит ценить значимость анализа данных для понимания сложных исторических событий и принятия решений в будущем.

Именно поэтому для анализа данных я выбрала датасет о пассажирах Титаника с сайта https://www.kaggle.com/c/titanic/data. Он включает информацию о возрасте, поле, социальном классе, стоимости билетов, количестве родственников на борту и факте выживания.

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

Этапы работы

Загрузка данных

Для начала я импортировала необходимые библиотеки: pandas для анализа, matplotlib и seaborn для визуализации. Затем загрузила датасет train.csv и сразу перевела значения в столбце пола на русский язык для удобства восприятия графиков.

Original size 1920x1080

Визуализация данных

В блоке «настройка визуализации» я создаю единый стиль для всех графиков проекта, чтобы визуализации выглядели современно, были легко читаемыми и гармонично сочетались между собой. Для этого я использую несколько специальных команд:

plt.style.use ('dark_background') — эта команда задаёт тёмный фон для всех графиков, благодаря чему цвета выглядят более насыщенно, а данные — более контрастно и выразительно.

plt.rcParams['font.family'] = 'DejaVu Sans' — здесь я выбираю шрифт DejaVu Sans для всех подписей и заголовков на графиках. Этот шрифт современный, хорошо читается и поддерживает кириллицу, что важно для русскоязычных подписей.

sns.set_palette ('bright') — эта команда устанавливает яркую цветовую палитру для всех элементов графиков, создаваемых с помощью библиотеки seaborn. Яркие цвета делают визуализации более привлекательными и позволяют легко различать разные категории данных на графиках.

Таким образом, с помощью этих команд я заранее задаю стиль, шрифт и цветовую палитру, чтобы все визуализации в проекте были выполнены в единой эстетике, выглядели аккуратно, современно и были удобны для восприятия.

Original size 1920x1080

Анализ данных

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

В блоке «выживаемость по полу» я анализирую, как различается доля выживших среди мужчин и женщин на Титанике.

Сначала я группирую данные по признаку пола (Sex) и для каждой группы вычисляю среднее значение в столбце Survived — это и есть доля выживших среди мужчин и женщин. Затем строю столбчатую диаграмму с помощью команды sns.barplot (x='Sex', y='Survived', data=df): по оси X откладывается пол, а по оси Y — доля выживших. Я добавляю заголовок графика (plt.title ('Выживаемость по полу')) и подписи осей (plt.xlabel ('Пол'), plt.ylabel ('Доля выживших')), чтобы график был информативным и легко читаемым. Команда plt.show () выводит готовую визуализацию.

Этот график позволяет быстро увидеть, что женщины имели значительно больше шансов на спасение по сравнению с мужчинами, что отражает социальные особенности эвакуации на Титанике.

Original size 1920x1080

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

В блоке «распределение возраста» я исследую, как распределён возраст пассажиров Титаника, чтобы понять, какие возрастные группы были наиболее представлены на борту и могли ли они влиять на шансы выжить. Для этого я использую гистограмму — график, который показывает, сколько пассажиров приходится на каждый возрастной интервал.

Сначала я выбираю столбец Age из датасета, который содержит возраст всех пассажиров.

Этот график позволяет увидеть, в каких возрастных группах было больше всего пассажиров, а также выявить, были ли на борту дети, молодёжь или пожилые люди. Анализ распределения возраста помогает выявить потенциальные группы риска и понять, как возраст мог влиять на вероятность выживания на Титанике.

Original size 1920x1080

Доля выживших и погибших

В блоке «доля выживших и погибших» я анализирую общее распределение пассажиров Титаника по факту выживания.

Я подсчитываю количество выживших и погибших с помощью команды df['Survived'].value_counts ().

Становится очевидно, что выжила лишь небольшая часть пассажиров, а большинство, к сожалению, погибло. Такой способ представления информации сразу даёт зрителю общее представление о трагедии и служит хорошим вступлением к более детальному анализу факторов выживания.

Original size 1920x1080

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

В блоке «выживаемость по классам» я подробно анализирую, как класс билета влиял на шансы пассажиров Титаника выжить. Для этого сначала работаю с таблицей данных: использую столбец Pclass, который обозначает класс билета (1, 2 или 3), и столбец Survived, где указано, выжил пассажир или нет (1 — выжил, 0 — погиб).

Сначала я группирую таблицу по столбцу Pclass с помощью метода groupby, чтобы объединить всех пассажиров одного класса в отдельные группы. Затем для каждой группы рассчитываю среднее значение по столбцу Survived — это и есть доля выживших в каждом классе. Например, если в первом классе 100 пассажиров, из которых 60 выжили, то среднее значение будет 0.6

Original size 1920x1080

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

В блоке «корреляция между признаками» я исследую, как различные числовые характеристики пассажиров Титаника связаны между собой, чтобы выявить факторы, которые могли оказывать влияние на выживаемость. Для этого я работаю с таблицей данных следующим образом:

Сначала из всего датасета выбираются только числовые столбцы, такие как возраст (Age), класс билета (Pclass), стоимость билета (Fare), количество братьев/сестёр и родителей/детей на борту (SibSp, Parch), а также бинарные признаки, например, пол (если он был предварительно закодирован числом) и сам факт выживания (Survived). Это делается автоматически при помощи метода .corr (numeric_only=True), который строит корреляционную матрицу только по числовым данным1.

Original size 1920x1080

Итоговые графики

Столбчатая диаграмма 'Выживаемость по полу'

Этот график показывает, как различается доля выживших среди мужчин и женщин. Для построения диаграммы данные группируются по признаку пола, и для каждой группы считается средняя доля выживших. График наглядно демонстрирует, что среди женщин выживаемость была значительно выше, чем среди мужчин. Это отражает социальные особенности эвакуации на Титанике, когда женщинам отдавали приоритет при спасении.

Original size 600x400

Гистограмма 'Распределение возраста пассажиров'

Этот график показывает, как были распределены пассажиры Титаника по возрасту. Для его построения используется гистограмма, где по оси X откладывается возраст, а по оси Y — количество пассажиров в каждом возрастном интервале. Команда sns.histplot (df['Age'], bins=30, kde=True, color='#5A9BD4') строит гистограмму с 30 интервалами и добавляет линию плотности для лучшей наглядности. Такой график позволяет увидеть, какие возрастные группы были наиболее многочисленными на борту, а также определить, были ли среди пассажиров дети, молодёжь или пожилые люди. Анализ распределения возраста помогает выявить потенциальные группы риска и понять, как возраст мог влиять на вероятность выживания на Титанике.

Original size 800x500

Столбчатая диаграмма 'Выживаемость по классу'

На этом графике отображается, как класс билета влиял на шансы пассажира выжить. Данные группируются по классу (Pclass), для каждого класса вычисляется средняя доля выживших. Диаграмма показывает, что пассажиры первого класса имели наибольшие шансы на спасение, а у пассажиров второго и особенно третьего класса вероятность выжить была значительно ниже. Это подчёркивает влияние социального статуса на исход катастрофы.

Original size 600x400

Круговая диаграмма 'Доля выживших и погибших'

Круговая диаграмма иллюстрирует общее процентное соотношение выживших и погибших пассажиров. Сектора диаграммы показывают, какая часть людей спаслась, а какая — погибла. Благодаря этой визуализации становится очевидно, что выжила лишь меньшая часть пассажиров, а большинство, к сожалению, погибло. Такой график даёт быстрый и наглядный обзор масштабов трагедии.

Original size 500x500

Тепловая карта 'Корреляция признаков'

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

Original size 1000x800

Заключение

В ходе работы над проектом я провела комплексный анализ данных о пассажирах Титаника, чтобы выявить ключевые факторы, влияющие на выживаемость во время катастрофы. На всех этапах я уделяла внимание как технической стороне обработки и визуализации данных, так и смысловой интерпретации полученных результатов.

Анализ выживаемости по полу показал, что женщины имели значительно больше шансов на спасение по сравнению с мужчинами. Это ярко проявилось на столбчатой диаграмме: доля выживших среди женщин была существенно выше, что отражает принципы эвакуации, действовавшие на Титанике.

Рассматривая выживаемость по классам, я обнаружила, что пассажиры первого класса спасались гораздо чаще, чем пассажиры второго и особенно третьего классов. Такой результат подчёркивает влияние социального статуса и доступности ресурсов на исход событий.

Гистограмма распределения возраста позволила увидеть, что большинство пассажиров находились в возрасте от 20 до 40 лет, но на борту были и дети, и пожилые люди. Это распределение важно для понимания, какие возрастные группы были представлены и могли ли они влиять на шансы выжить.

Круговая диаграмма, иллюстрирующая долю выживших и погибших, наглядно показала масштаб трагедии: только меньшая часть пассажиров смогла спастись, а большинство погибло.

Тепловая карта корреляций между признаками выявила, что наибольшая связь с выживаемостью наблюдается у пола и класса билета. Другие признаки, такие как возраст и стоимость билета, оказались менее значимыми, но всё же могут играть определённую роль в комплексных моделях.

В целом, проведённый анализ подтвердил, что социальные и демографические факторы — пол, класс билета, а также возраст — были определяющими для шансов на спасение во время катастрофы. Визуализации позволили не только выявить эти закономерности, но и сделать их максимально понятными и наглядными для аудитории. Такой подход помогает глубже понять исторические события и может быть полезен для дальнейших исследований или построения прогностических моделей.

Titanic Dataset: закономерности выживания
4
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more