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

Я работал над проектом по прогнозированию спроса на энергию с использованием данных о погоде в Австралии в команде из 5 человек. Он длился полгода и имитировал классический проект по науке о данных. Начните со сбора данных, перейдите к очистке, моделированию, а затем сформулируйте отчет. На полпути я обнаружил одну вещь: я все еще очищал данные, и это занимало целую вечность, несмотря на то, что над ним работают еще четыре человека! Казалось, что нам приходилось иметь дело с миллионом функций, и большинство из них были далеко не легко готовы к использованию. Я увидел в этом возможность узнать больше о различных (причудливых) методах, которые можно использовать для интерполяции (заполнения) отсутствующих данных. Но… Я совершенно неправильно понял свой проект.

Мы не понимали, как работают наши данные, и поэтому должны были учитывать 100 функций вместо 3…

Это была наивная ошибка, но она преподала мне несколько ценных уроков:

  1. Некачественные/неактуальные данные приносят больше вреда, чем пользы
  2. Работа моей команды может быть завершена только тогда, когда она понята

Теперь не волнуйтесь, мы закончили вовремя, с моделью и полным отчетом! Но… только после того, как я учел эти недостатки, моя команда могла работать как хорошо смазанная машина. Итак, здесь мы рассмотрим, как найти и извлечь выгоду из понимания, а также как избежать вездесущих недостатков и потенциальных ловушек (с которыми в какой-то момент сталкивается каждый).

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

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

С чего начать

ПРОСТО ГООООО... НЕТ, ПОЖАЛУЙСТА, ПОДОЖДИТЕ!

Код важен, но я открою вам маленький секрет: когда вы знаете процесс, на его создание уходит меньше времени. М-м-м… как узнать процесс, прежде чем начать в первый раз? Легко, интерпретируйте цели миссии. Недостающие цели — это то, что вы хотите получить от проекта. Цели миссии включают в себя саму модель и отчет, а также то, что вам нужно будет изучить, какие этапы вы пройдете и какие проблемы необходимо учитывать.

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

Моя цель не заключалась в том, чтобы предсказать потребность в энергии… потому что это было бы почти невозможно. На самом деле я хотел определить и смоделировать тенденции спроса на энергию и сезонные модели, которые проявляются в краткосрочной перспективе, и то, как температура вписывается в это уравнение. Это включало импорт данных, исследование, чтобы найти, какие переменные были полезны, создание графиков, чтобы интуитивно показать, как данные выглядели/работали, а ЗАТЕМ, наконец, создание модели для конкретного измерения взаимосвязи между температурой и потреблением энергии. Основные трудности заключались бы в изучении того, как работают энергетические временные ряды, и в том, чтобы научиться направлять мою команду на каждом этапе процесса. Уж больно многословно? Конечной целью мог быть отчет, показывающий, как все работало, пока мы не получили модель, но на самом деле модель — это всего лишь 10% работы!

Хотя на самом деле это легко отбросить… сказать, что это мягкое, ненужное планирование, которое вряд ли прямо сейчас повлияет на проект. На самом деле… да, это лишняя работа, и она достаточно справедлива, если вас не заставляют так все планировать. Если у вас есть лучшая альтернатива — дайте мне знать. Если нет, попробуйте. Возможно, это не повлияет на вас прямо сейчас, но поможет смягчить серьезные проблемы и проиллюстрирует, как все взаимосвязано!

Узнать, куда идти дальше

Но я понятия не имею, как это сделать… Не волнуйтесь, со временем вы во всем разберетесь. Просто помни:

Путь кажется немного менее ухабистым, когда вы начинаете!

Если вы думаете, что не знаете, с чего начать, узнайте, что вам нужно изучить, и найдите способы сделать это. Простые учебные пособия и видеоролики — отличный способ начать. Затем, как только у вас появится смутное представление о том, как все должно выглядеть и что делать, просто начните. Просто следуйте по тропе и посмотрите, куда она ведет!

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

Чтобы лучше работать в команде, убедитесь, что вы понимаете инструменты совместного кодирования (все объяснено здесь) и как руководить. Книга Extreme Ownership — замечательное руководство по командной работе и лидерству (не относящееся к науке о данных, но, тем не менее, совет Джоко Виллинка применим).

Предотвращение коллапса

Все шло так хорошо… пока я не понял, что мы все еще очищаем данные в середине проекта. Все казалось прекрасным, прогресс казался нормальным, не идеальным… но нормальным.

Даже если вы настроены на успех и все идет хорошо… все может пойти наперекосяк! Но… мне повезло, потому что учитель сказал мне регулярно делать одну вещь:

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

Это творит чудеса! Вместо того, чтобы нервничать после того, как осознал, сколько мне нужно закончить, я смог расставить приоритеты и выполнить, потому что я знал, где я могу ошибиться, и я мог объяснить это. Я знал, что моя команда может отвлечься и потерять фокус, поэтому я старался придерживаться сути и подчеркивал то, что мы пытались выполнить, вместо того, чтобы записывать узкие задачи. Я знал, что нам трудно идти в ногу со временем, поэтому я считал, сколько недель осталось, и следил за тем, чтобы все понимали. Я знал, что кодирование было особенно сложным и опасным для большинства людей, поэтому я сделал краткое изложение того, что это будет включать / как это должно выглядеть с примером кода. Короче говоря, я учел свои слабости и сумел переломить неприятную ситуацию.

Этот процесс занимал всего ~5 минут каждую неделю и значительно ускорял прогресс.

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

Это приводит к простым действиям.

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

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

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

Следите за обновлениями в Твиттере.

Первоначально опубликовано на https://www.kamwithk.com.