RMS Титаник

Титаник - британский пассажирский лайнер, затонувший в северной части Атлантического океана рано утром 15 апреля 1912 года после столкновения с айсбергом во время своего первого рейса из Саутгемптона в Нью-Йорк. По оценкам, на борту корабля находилось 2224 пассажира и экипаж, и более 1500 погибло, что сделало это одним из самых смертоносных коммерческих морских бедствий мирного времени в современной истории. RMS Titanic был самым большим судном на плаву на момент ввода в эксплуатацию и вторым из трех океанских лайнеров олимпийского класса, эксплуатируемых White Star Line. Титаник был построен на верфи Harland and Wolff в Белфасте. Томас Эндрюс, ее архитектор, погиб в результате катастрофы.

Мы собираемся сделать некоторые прогнозы относительно этого трагического События. Давайте начнем, сначала найдите набор данных, вы можете найти данные в Kaggle или в упомянутой ниже ссылке Github, которая также включает исходный код.

Ссылка на репозиторий GitHub → https: //github.com/yash-hash/Project

Начнем с импорта / добавления некоторых библиотек. Pandas отлично подходит для обработки наборов данных, с другой стороны, matplotlib и seaborn - библиотеки для графики.

Загрузка наборов данных / исследование

с помощью train.info () и других различных команд вы можете визуализировать данные в презентабельном виде.

Давайте также проверим статистический анализ данных.

Исследование данных

Обучающий набор содержит 891 пример и 11 функций + целевая переменная (сохранившаяся). 2 функции являются числами с плавающей запятой, 5 - целыми числами, 5 - объектами. Для некоторых столбцов есть значения Null, позже мы используем собираюсь разобраться с этим. Посмотрим, сколько там было мужчин и женщин:

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

Если вы хотите найти конкретного человека и проверить, выжил ли он или нет, выполните определенные шаги.

поезд [поезд [«Имя»]. Ул. Содержит («Коричневый»)]

Вы получите как мудрый подробный анализ. К счастью, Браун выжил

Посмотрим, сколько человек выжило По классам:

Сколько людей выжило из-за пола:

Мы можем сделать вывод, что, как и Браун, если бы вы были женщиной и относились к классу 1, вероятно, вы бы выжили. С другой стороны, если вы учились в классе 3, у вас не было бы хороших шансов выжить.

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

Давайте приписываем значения нулевым значениям возраста.

Здесь мы называем функцию таким образом

train [«Возраст»] = train [[«Возраст», «Pclass»]]. apply (add_age, axis = 1)

У нас есть много значений Null для столбца Cabin, поэтому мы просто удалим его.

Теперь мы закончили с очисткой данных. Мы собираемся преобразовать некоторые категориальные данные в числовые. Например, колонка "Секс".

Давайте воспользуемся функцией панд get_dummies. Это создаст две колонки, одну для мужчин, одну для женщин.

- ›pd.get_dummies (train [« Секс »])

что мы можем сделать, так это удалить первый столбец, потому что в столбце указано значение другого столбца. Например-

Если у мужчины 1, у женщины будет 0 и наоборот.

То же самое будет и с Embarked & Pclass.

мы также добавляем эти переменные в набор данных.

train = pd.concat ([поезд, pclass, sex, встал], axis = 1)

Таким образом мы удаляем некоторые столбцы, которые не собираемся использовать в нашей модели.

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

Теперь наш набор данных готов для построения модели.

→ X = train.drop («Выжившие», ось = 1)
→ y = train [«Выжившие»]

x будет содержать все функции, а y будет содержать целевую переменную.

Мы будем использовать train_test_split из linear_model, чтобы разделить наши данные. 70% данных будут данными обучения, а 30% - данными тестирования.

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

Давайте посмотрим, насколько точны прогнозы нашей модели: по Classification_report ()

Давайте проверим точность_score и confusion_matrix, чтобы иметь четкое представление:

мы получили точность 82% неплохо, давайте посмотрим на матрицу путаницы.

Истинно положительный результат: 149 (Мы предсказали положительный результат, и он оказался положительным)
Истинно отрицательный: 71 (Мы предсказали отрицательный результат, и он был отрицательным)
Ложно положительный результат: 14 (Мы предсказали положительный результат, и он был отрицательным)
Ложноотрицательный: 33 (Мы предсказали отрицательный результат, и он оказался положительным

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

Спасибо!

Яш Гайквад.