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

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

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

Начать

Начнем с:

  1. Скачивание нашего набора данных.
  2. Установка Jupyter notebook. Это помогает нам проверить наш код; строка за строкой, прежде чем продолжить.

В отличие от всего остального анализа, который мы сделали, мы подойдем к этому иначе. Очистка данных для этого набора данных будет выполняться в нашем кодовом процессе. Почему? Суть машинного обучения состоит в том, чтобы проверить, какие параметры полезны при построении прогнозов. По сути, существуют переменные «x» и «y» (независимые и зависимые переменные соответственно).

Затем мы используем данные поезда для создания алгоритма, который мы будем выполнять с тестовыми данными. Если мы посмотрим на данные обучения, то что мы пытаемся предсказать, так это столбец «выжил», следовательно, наша переменная y. Каждый другой столбец может служить переменной x в зависимости от того, хотим ли мы использовать их все в процессе прогнозирования.

Набор данных и ввод кода

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

После считывания данных в Python я приступил к проверке наличия нулевых значений в каких-либо столбцах. Вот результат:

Таким образом, вы можете решить, следует ли полностью удалить весь столбец или удалить строки в определенном столбце, содержащие нулевые значения. Например. столбец «Кабина» содержит 687 строк с нулевыми данными, а весь набор данных - 891 столбец. Это означало бы, что нам не с чем работать. Кроме того, столбец Embarked содержит всего 2 строки с нулевыми данными. В этом случае мы можем легко удалить эти две строки, как показано в IMG4 выше.

Преобразование некоторых данных в числовые значения

Затем переходите к замене всех «текстовых» значений на «числовые». Это потому, что ML может прогнозировать только с помощью чисел, например. 0 за мертвых, 1 за выживших. Следовательно, весь текст или другие значения в очищенном наборе данных необходимо изменить, чтобы подготовить данные для обучения. На этом этапе также важно проверить, сколько типов ответов необходимо для структурирования ваших числовых данных. Например; здесь мы имеем только «мужской» и «женский» пол, поэтому меняем их на «0» и «1» соответственно. Но если в вашем наборе данных более двух полов, это также необходимо учитывать, чтобы набор данных был правильно структурирован.

Мы не очистили набор данных, показывающий различные переменные x, включая: Pclass, sex, Sibsp, Parch и Embarked. Теперь наши столбцы также уменьшились до 711 чистых данных и без значений null / naN.

Обучение данных

Здесь мы должны указать, что такое переменные «x» и «y». Затем мы продолжаем и разделяем набор данных. Здесь я выбрал размер теста 80–20%, который указан в виде дроби. Однако учтите, что размер данных должен определять способ их разделения. Итак, вы можете выбрать 75/25 или 70/30, если хотите.

Переходим к тесту и достигаем прогноза 80%. Как специалист по данным, вы можете продолжать настраивать свой код и тестировать свой алгоритм, чтобы увидеть, сможете ли вы достичь более высокого значения прогноза регрессии.

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

Надеюсь, вам будет намного проще, чем мне.

Перейдем ко многим другим задачам. Помните: ничего хорошего не бывает легко.