Учебник по организации проектов в области науки о данных

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

4 причины, по которым важно организовать свой проект

  1. Организация увеличивает продуктивность. Если проект хорошо организован и все размещено в одном каталоге, проще не тратить время на поиск файлов проекта, таких как наборы данных, коды, выходные файлы и т. Д.
  2. Хорошо организованный проект помогает вам вести учет текущих и завершенных проектов в области науки о данных.
  3. Завершенные проекты в области науки о данных можно использовать для построения будущих моделей. Если вам в будущем придется решать аналогичную проблему, вы можете использовать тот же код с небольшими изменениями.
  4. Хорошо организованный проект может быть легко понят другим специалистам в области науки о данных, если он будет опубликован на таких платформах, как Github.

В иллюстративных целях мы будем использовать набор данных круизного лайнера. Мы предполагаем, что мы хотели бы построить модель машинного обучения, чтобы рекомендовать размер экипажа круизного лайнера на основе таких прогнозирующих переменных, как возраст, тоннаж, пассажиры, длина, каюты и т. Д. В разделе I мы описываем, как проект должен быть организован на местном уровне. Затем в разделе I мы описываем, как создать репозиторий Github для проекта. Всегда рекомендуется поддерживать две версии вашего проекта: одну локально, а другую на Github. Преимущество этого заключается в том, что вы можете получить доступ к версии своего проекта на Github из любой точки мира и в любое время, если у вас есть подключение к Интернету. Еще одно преимущество заключается в том, что если на вашем локальном компьютере произойдет что-то, что может негативно повлиять на ваш компьютер, например вирусы на компьютере, вы всегда можете быть уверены, что у вас все еще есть файлы вашего проекта на Github, которые могут служить в качестве резервной копии.

I. Каталог местных проектов

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

а) Имя каталога

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

б) Содержимое каталога

Каталог вашего проекта должен содержать следующее:

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

(i) Что такое переменные-предикторы?

(ii) Какая целевая переменная? Моя целевая переменная дискретная или непрерывная?

(iii) Что следует использовать: классификационный или регрессионный анализ?

(iv) Как мне обрабатывать отсутствующие значения в моем наборе данных?

(v) Следует ли мне использовать нормализацию или стандартизацию при приведении переменных к одной шкале?

(vi) Стоит мне использовать анализ главных компонентов или нет?

(vii) Как настроить гиперпараметры в моей модели?

(viii) Как оценить мою модель, чтобы выявить систематические ошибки в наборе данных?

(ix) Следует ли мне использовать методы ансамбля, когда я тренируюсь с использованием разных моделей, а затем выполняю усреднение по ансамблю, например используя классификаторы, такие как SVM, KNN, логистическая регрессия, а затем усреднять по 3 моделям?

(x) Как выбрать окончательную модель?

2. Наборы данных проекта: вы должны включить файлы значений, разделенных запятыми (csv), для всех наборов данных, которые будут использоваться в проекте. В этом примере есть только один CSV-файл: cruise_ship_info.csv.

3. Коды проекта. После того, как вы выяснили, каковы планы и цели вашего проекта, пора начинать писать код. В зависимости от типа решаемой проблемы вы можете решить использовать записную книжку jupyter или сценарий R для написания кода. Предположим, мы собираемся использовать блокнот jupyter.

В записной книжке jupyter начните с добавления заголовка или заголовка проекта, например:

Machine Learning Model for Predicting a Ship’s Crew Size

Затем вы можете предоставить краткое описание своего проекта, за которым следует имя автора и дата, например:

We build a simple model using the cruise_ship_info.csv data set for predicting a ship’s crew size. This project is organized as follows: (a) data proprocessing and variable selection; (b) basic regression model; (c) hyper-parameters tuning; and (d) techniques for dimensionality reduction.
Author: Benjamin O. Tayo
Date: 4/8/2019

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

Importation of necessary python libraries
Importation of dataset
Exploratory data analysis
Feature selection and dimensionality reduction
Feature scaling and data partitioning into train and test sets
Model building, testing, and evaluation

Образцы записной книжки jupyter для проекта и файлы сценария R можно найти по следующим ссылкам:





4. Результаты проекта: вы также можете сохранить ключевые результаты проекта в своем локальном каталоге. Некоторыми ключевыми результатами проекта могут быть визуализации данных, графики, иллюстрирующие ошибку модели в зависимости от различных параметров, или таблицы, содержащие ключевые результаты, такие как значения R2, ​​среднеквадратичные ошибки или коэффициенты регрессии. Результаты проектов очень удобны, потому что их можно использовать для подготовки отчетов по проектам или слайдов презентации PowerPoint для представления вашей команде по анализу данных или бизнес-администраторам в вашей компании.

5. Отчет о проекте. В некоторых случаях вам может потребоваться составить отчет о проекте, чтобы описать достижения проекта и указать действия, которые необходимо предпринять на основе результатов и идей, полученных на основе вашей модели. В этом случае вам необходимо составить отчет по проекту с использованием MS Word. При написании отчета по проекту вы можете эффективно использовать некоторые визуализации, созданные из вашего основного кода. Вы хотите добавить их в отчет. Ваш основной код может быть добавлен в качестве приложения к отчету по проекту.

Пример файла отчета по проекту можно найти здесь:



II. Каталог проектов Github

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

Советы по созданию репозитория Github. Убедитесь, что вы выбрали подходящий заголовок для своего репозитория. Например:

Repository Name: bot13956/ML_Model_for_Predicting_Ships_Crew_Size

Затем включите файл README, чтобы дать краткое описание того, о чем весь ваш проект.

Author: Benjamin O. Tayo
Date: 4/8/2019
We build a simple model using the cruise_ship_info.csv data set for predicting a ship's crew size. This project is organized as follows: (a) data proprocessing and variable selection; (b) basic regression model; (c) hyper-parameters tuning; and (d) techniques for dimensionality reduction.
cruise_ship_info.csv: dataset used for model building.
Ship_Crew_Size_ML_Model.ipynb: the jupyter notebook containing code.

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

Вот пример репозитория Github для проекта машинного обучения:

URL репозитория: https://github.com/bot13956/ML_Model_for_Predicting_Ships_Crew_Size.

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