Основные параметры оценки на хакатоне в консалтинговой фирме первого уровня
Несколько лет назад я оценивал материалы хакатона в консалтинговой фирме 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 - Используйте функции и классы для организации кода. Это обеспечивает чистую структуру кодирования с ограниченным количеством циклов и избыточности.
Бонусные очки
Одним из ключевых навыков, необходимых исследователю данных, является креативность. Вот почему бонусные баллы всегда должны быть в приоритете на хакатонах.
Настало ваше время проявить себя и продемонстрировать экстраординарные навыки и креативность. Я выделяю два способа показать это, но существует гораздо больше.
Представить внешние данные
Открытый источник или общедоступные данные — это бесплатные данные, доступные каждому в Интернете. Включение внешних данных может привести к серьезным улучшениям модели при оптимальном выборе. Поищите в Интернете, чтобы узнать, существуют ли общедоступные данные, которые помогут вам повысить точность модели.
Найдите несколько отличных ресурсов для общедоступных источников данных ниже:
- Открытые данные Всемирного банка
- ВОЗ (Всемирная организация здравоохранения) — общедоступное хранилище данных
- Проводник общедоступных данных Google
Внедрение новейших технологий
Область науки о данных постоянно развивается. Покажите любую современную технологию, чтобы произвести впечатление на оценщиков. Существует множество способов сделать это, и наиболее подходящий из них сильно зависит от проблемы, которую вы пытаетесь решить. Найдите пару примеров ниже:
- Контейнеризация с помощью Docker
- Облачные сервисы, такие как Amazon Web Services (AWS)
Оценка и обратная связь
В представленном здесь хакатоне каждое измерение оценивается по шкале от 0 до 5. Окончательный балл рассчитывается путем сложения баллов по каждому параметру, в результате чего максимальное количество баллов составляет 25.
Чтобы отметить выступление на хакатоне, каждый участник получил обратную связь. Участник получил обратную связь, в которой были отмечены как высокие показатели, так и области развития.
Заключительные мысли
Целью этого поста было повысить прозрачность того, как рассматриваются заявки на хакатон. Знание всех критериев оценки может повысить результативность в будущих соревнованиях.
Показатели оценки были сосредоточены вокруг пяти подпараметров:
- Стиль кодирования
- Документация
- Технологии
- Состав
- Бонусные очки
Давайте стремиться к прозрачности во всех аспектах нашей профессиональной жизни! Открытость в отношении ожиданий и показателей оценки облегчит работу.
Что вы думаете? Чувствуете ли вы воодушевление присоединиться к нам в следующем году? Не стесняйтесь оставлять свои мысли в разделе комментариев.
Спасибо за прочтение!