Основные параметры оценки на хакатоне в консалтинговой фирме первого уровня

Несколько лет назад я оценивал материалы хакатона в консалтинговой фирме Tier One. Это был отличный опыт обучения. Я часто задавался вопросом, как это делается. Оценка зависит только от производительности модели? Или стандарты кодирования и креативность играют наибольшую роль?

Я рад подчеркнуть, что точность — не единственный фактор оценки.

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

Цель этого поста — повысить прозрачность темы на примере. Вот матрица оценки, использованная на предыдущем хакатоне в консалтинговой фирме первого уровня.

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

  • Стиль кодирования
  • Документация
  • Технологии
  • Состав

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

Теперь давайте углубимся в пять измерений матрицы. По каждому параметру участник оценивается по шкале от 0 до 5. Оценка 5 отражает полное выполнение измерения.

Стиль кодирования

Первое первым. Стиль кодирования и лаконичность имеют большое значение. Это самый большой строительный блок проекта, и он всегда должен быть главным приоритетом. Стандарты кодирования должны соответствовать PEP8 при использовании python. Теперь давайте посмотрим на основные области оценки:

  • Избегайте циклов, если это возможно, чтобы обеспечить прозрачность кода. Всегда используйте соответствующие библиотеки при выполнении общих задач.
  • Избегайте дублирования, чтобы обеспечить чистый и удобный стиль написания кода. Избыточность относится к коду, который больше не нужен, например к временным переменным и проверкам. Это также могут быть реплики кода, не хранящиеся в функции. Всегда удаляйте или оптимизируйте перед отправкой
  • Исключения обрабатываются должным образом путем наложения операторов try, если исключения существуют. Зафиксируйте основную операцию в предложении try и исключения в предложении except.
  • Используйте файл конфигурации для хранения параметров и путей. Это обеспечивает чистоту кода и простую передачу кода. Отличный способ оптимизировать рабочий процесс

Документация

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

  • Строки документации для всех общедоступных модулей, функций, классов и методов формы (Пример из Руководства по стилю PEP8):
"""Return a foobang

Optional plotz says to frobnicate the bizbaz first.
"""
  • Блокировать комментарии, если вы используете записные книжки для руководства читателя. Инициализировать блочный комментарий с помощью #

Кроме того, если вы используете GitHub для контроля версий и совместной работы, включите следующее:

  • README, чтобы представить проект читателю. Включите разделы, объясняющие настройку, рабочий процесс и структуру папок в репозитории.

Технологии

На этом хакатоне участников попросили загрузить свои материалы на GitHub. Учитывая это, оценка этой категории очень сильно связана с использованием платформы. GitHub — предпочтительная платформа для контроля версий и совместной работы для специалистов по данным.

Участники оцениваются по следующим параметрам передовой практики GitHub:

  • Не отправлять файлы данных на GitHub. Данные могут включать конфиденциальную информацию, которая не должна быть доступна для общественности. Если вам нужно сохранить свои данные, воспользуйтесь облачными сервисами, такими как Amazon S3.
  • Используйте временные ветки при разработке нового кода. Нажмите на ветку master с помощью запроса на включение, когда будете удовлетворены новым кодом. Это обеспечивает постоянное наличие полностью функционирующего мастер-кода.
  • Отправьте файл .md (markdown) на GitHub, если используете блокноты. Это обеспечивает удобную для чтения настройку для оценщиков и других зрителей. Jupytext — отличная библиотека для защиты этого

Структура

Сохраняйте строгую структуру рабочего процесса для обеспечения прозрачности. Особенно при работе над крупномасштабными проектами в больших командах. Давайте посмотрим на оцениваемые подпараметры:

  • Используйте соответствующие библиотеки для выполнения анализа. Наиболее простые расчеты и общие показатели анализа существуют в хорошо определенных библиотеках. Всегда стремитесь применять доступные библиотеки, чтобы сохранить простой рабочий процесс.
  • Организуйте код в четкой структуре папок, чтобы обеспечить прозрачность репозитория. Ниже приведены рекомендации.
    1. Храните код в специальной папке src/.
    2. Сохраните требования к библиотеке в файле requirements.txt
    3. Наметьте структуру папок в виде дерева каталогов в README
  • Используйте функции и классы для организации кода. Это обеспечивает чистую структуру кодирования с ограниченным количеством циклов и избыточности.

Бонусные очки

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

Представить внешние данные

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

Найдите несколько отличных ресурсов для общедоступных источников данных ниже:

Внедрение новейших технологий

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

Оценка и обратная связь

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

Чтобы отметить выступление на хакатоне, каждый участник получил обратную связь. Участник получил обратную связь, в которой были отмечены как высокие показатели, так и области развития.

Заключительные мысли

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

Показатели оценки были сосредоточены вокруг пяти подпараметров:

  • Стиль кодирования
  • Документация
  • Технологии
  • Состав
  • Бонусные очки

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

Что вы думаете? Чувствуете ли вы воодушевление присоединиться к нам в следующем году? Не стесняйтесь оставлять свои мысли в разделе комментариев.

Спасибо за прочтение!