Гибель «Титаника» — одно из самых печально известных кораблекрушений в истории. 15 апреля 1912 года «Титаник» затонул после столкновения с айсбергом, в результате чего погибли 1502 из 2224 пассажиров и членов экипажа. Эта сенсационная трагедия потрясла международное сообщество и привела к улучшению правил безопасности для судов.

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

"Моя цель — применить инструменты машинного обучения, чтобы предсказать, какие пассажиры выжили после трагедии. И какие факторы повысили вероятность того, что пассажиры выжили во время крушения "Титаника""

Ниже приведены шаги, которые необходимо выполнить.

  1. Обзор набора данных
  2. Импорт набора данных
  3. Исследовательский анализ данных
  4. Предварительная обработка данных
  5. моделирование
  6. прогноз
  7. Обзор набора данных

Источник: https://www.kaggle.com/c/titanic/data

Набор данных состоит из 891 строки и 12 столбцов.

  1. идентификатор пассажира
  2. Выжил
  3. Pкласс
  4. Имя
  5. Секс
  6. возраст
  7. Сиб Сп
  8. парч
  9. Билет
  10. Транспортные расходы
  11. Салон самолета
  12. Отправился

2. Импорт набора данных

Давайте импортируем кучу библиотек перед импортом набора данных. Pandas используется для загрузки данных, библиотеки mat-plot и морской визуализации для визуализации.

импортировать pandas как pd
импортировать matplotlib.pyplot как plt
импортировать seaborn как sns #library для статистического построения графиков
импортировать numpy как np
%matplotlib inline
импортировать math

Pandas используется для загрузки данных, библиотека mat-plot и seaborn используются для построения графиков и визуализации.

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

мы импортируем набор данных и сохраняем его в кадре данных pandas под названием data .

Давайте получим базовую информацию о данных. Метод .shape сообщает нам количество строк и столбцов в кадре данных.

В приведенном выше примере мы видим, что наш набор данных содержит 891 строку и 12 столбцов.

Мы можем узнать больше информации о данных, используя .head(), .info() и .describe().

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

Исследовательский анализ данных

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

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

Из приведенного выше графика подсчета мы видим, что показатель выживаемости женщин выше, чем у мужчин.

Из приведенной выше диаграммы мы понимаем, что пассажиры 3-го класса имеют более низкую выживаемость по сравнению с 1-м и 2-м классами.

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

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

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

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

Чтобы удалить столбец, мы просто используем функцию .drop(). На приведенной выше диаграмме видно, что столбца Cabin нет.

Поскольку в некоторых столбцах есть текстовые данные, мы преобразуем текстовые данные в числовые данные.

На приведенной выше диаграмме мы видим, что текстовый столбец «Пол» заменен на «мужской». Значение 0 в столбце «Мужской» представляет «Женщина», а 1 — «Мужской». Таким же образом мы заменим столбец «Принято» и Pclass.

Теперь мы объединим новые столбцы в набор данных.

теперь удалите столбцы, имя, пол, билет, класс P, потому что они больше не нужны.

Обучение и тестирование данных

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

Моделирование

Логистическая регрессия

Теперь мы будем обучать модель на данных поезда.

Предсказания

мы делаем прогнозы по модели, используя X_test. Чтобы измерить производительность модели, мы будем использовать показатели производительности, такие как точность, матрица путаницы, отчет о классификации. Для измерения производительности мы используем тестовые данные, называемые y-test.

Мы видим, что точность модели составляет почти 78%.

Давайте посмотрим, как K-NN работает для этого набора данных.

Из приведенной выше диаграммы мы видим, что точность k-NN составляет 0,629.

мы можем наблюдать, что логистическая регрессия работает хорошо по сравнению с алгоритмом K-NN.

Вывод

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