Предсказать выживание на Титанике с помощью Random Forest

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

Импорт библиотек: мы будем использовать следующие библиотеки

Загрузить данные: давайте загрузим данные, используя pd.read_csv, затем путь к файлу и сохраним их для обучения и тестирования.

Давайте проверим наши данные, используя .info(). В столбцах Embarked, Cabin и Age отсутствуют некоторые значения.

Пришло время сделать некоторую очистку данных. давайте удалим две строки с отсутствующими значениями Embarked в наших данных поезда.

Теперь пришло время проверить нулевые значения в столбцах Age для тестовых и обучающих данных.

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

Поскольку для столбца Cabin так много пропущенных значений, давайте бинаризуем эти столбцы 1, если было значение, и 0, если оно было нулевым.

Давайте еще раз проверим наши данные

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

Давайте фиктивируем столбцы Sex и Embarked и, используя drop_first=True, удаляем исходные столбцы и заменяем их новыми фиктивными столбцами.

Теперь пришло время подготовить наши данные для моделирования, нашими функциями (X) будут все столбцы, а нашей целью (y) будет столбец Survived. Мы можем добавить столько функций, сколько захотим для X, если они важны для предсказания нашего y.

Пришло время для поезда / тестового сплита

Теперь пришло время для создания экземпляра модели.

Пришло время поиска по сетке через RandomForestClassifier.

А теперь давайте проверим наши оценки