Best Practices для Python и Data Science |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-10-30 04:29 С хорошего кода начинается отличное машинное обучение. Пролог Если Вы занимаетесь Data Science, то Вы знакомы с рабочим процессом: любой проект начинается с запуска Jupyter Notebook, затем необходимо писать код на Python, выполнять комплексный анализ данных и обучать модель. По мере того, как файл с кодом увеличивается в размерах вместе со всеми функциями, классами и графиками, Вы обнаруживаете, что перед Вами огромный кусок монолитного кода. И, если повезет, то запуск может пойти гладко. А может не повезти... Однако, Jupyter Notebook скрывает некоторые серьезные подводные камни, которые могут превратить Вашу работу в настоящий ад. Давайте посмотрим, как это происходит, а затем обсудим best practices, чтобы предотвратить это. Проблемы с Jupyter Notebook ?? Довольно часто все может пойти не так, как Вы планировали, если Вы хотите вывести прототип jupyter notebook на новый уровень. Вот несколько ситуаций, с которыми я сам столкнулся при использовании этого инструмента. Скорее всего, они Вам знакомы:
Я искренне люблю jupyter. Вы определенно можете использовать его для запуска небольших проектов или быстрого прототипирования идей. Но чтобы воплотить эти идеи в жизнь в промышленном масштабе, Вы должны следовать принципам разработки программного обеспечения, которые часто теряются при использовании jupyter notebook. Итак, давайте вместе рассмотрим некоторые из них и поймем, почему они важны. Советы, которые сделают код удобным ?
1 - Очистите свой код ?? Один из наиболее важных аспектов качества кода - ясность. Четкий и читаемый код имеет решающее значение для совместной работы и удобства обслуживания. Вот что может помочь получить более чистый код:
2 - Сделайте свой код модульным ? Когда Вы начинаете создавать что-то, что, по Вашему мнению, может быть повторно использовано в том же или других проектах, организуйте свой код в логические функции и отдельные модули. Это помогает улучшить организацию и удобство обслуживания. Например, Вы работаете над проектом NLP и у Вас могут быть разные функции для обработки текстовых данных (токенизация, удаление URL-адресов, лемматизация и другие). Вы можете поместить все эти методы в модуль Python под названием text_processing.py и импортировать их из него. Ваша основная программа станет намного легче! Вот несколько полезных советов о написании модульного кода:
3 - Реорганизуйте код ? Преобразование кода направлено на реорганизацию внутренней структуры кода без изменения его функций. Обычно это делается на рабочей (но еще не полностью организованной) версии кода. Это помогает исключить дублирование функций, оптимизировать файловую структуру и добавить больше абстракции. 4 - Сделайте свой код эффективным ? Написание эффективного кода, который выполняется быстро и потребляет меньше памяти - еще один важный навык в разработке программного обеспечения. Этот навык требует многолетнего опыта, но вот несколько быстрых советов, которые помогут Вам узнать, работает ли Ваш код медленно и как его улучшить:
5 - Используйте GIT или любую другую систему контроля версий ? По моему личному опыту, использование GIT + Github помогло мне улучшить свои навыки программирования и лучше организовать мои проекты. Поскольку я использовал его во время сотрудничества с друзьями и/или коллегами, это заставило меня придерживаться стандартов, которым я не подчинялся в прошлом. Использование системы контроля версий дает множество преимуществ, будь то в области науки о данных или разработки программного обеспечения.
Такие платформы, как Github или Gitlab предоставляют, среди прочего, средства непрерывной интеграции для автоматического создания и развертывания Ваших проектов. Если Вы новичок в Git, я рекомендуем взглянуть на это руководство. 6 - Проверьте свой код ? Если Вы создаете конвейер данных, который выполняет серию операций, один из способов убедиться, что он работает корректно, - это написать тесты, проверяющие ожидаемые результаты. Тесты могут быть такими же простыми, как проверка формы вывода или значения, возвращаемого функцией. Написание тестов для функций и модулей дает много преимуществ:
7 —Ведите журнал ? После запуска первой версии вашего кода Вы определенно захотите отслеживать ее на каждом этапе, чтобы понимать, что происходит, наблюдать прогресс или обнаруживать неисправности. Для этого можно использовать ведение журнала. Вот несколько советов по эффективному использованию регистраций в журнале:
Эпилог Давно прошли те времена, когда специалисты по данным создавали отчеты и jupyter notebooks, которые никак не взаимодействовали с системами и инфраструктурой компании. В настоящее время специалисты по обработке данных начинают создавать тестируемый и исполняемый код, который легко интегрируется с IT-системами. Поэтому необходимо следовать передовым методам разработки ПО. Надеемся, что эта статья дала Вам обзор этих передовых практик. Источник: m.vk.com Комментарии: |
|