Я уже некоторое время учусь с моим 90-дневным обучающим испытанием MOOC’athlon. Я удовлетворен в том смысле, что завершаю все, за что берусь. Но мне все же кажется, что этого недостаточно.

Почему этого недостаточно?

Причина, по которой я чувствую себя «недостаточно», заключается в том, что я работал в индустрии программного обеспечения. Я писал компьютерные программы для решения бизнес-задач в течение пяти лет, и это было связано не только с обучением, но и с тем, чтобы знать, что кодировать, иметь это в памяти, иметь это как свою вторую натуру. У меня в голове был весь язык C, и всякий раз, когда мне нужно было решить проблему, решение на C просто «приходило ко мне». Так же, как вождение, когда вы знаете, как и когда ускоряться, замедляться, переключать передачи и тормозить подсознательно. Вам нужно научиться вождению только один раз. Точно так же после первоначального обучения мне не нужны были МООК, курсы или что-то еще для выполнения моей повседневной работы. Поэтому вопрос, который я задал себе, звучит так: «Как мне поступить так же, как специалисту по данным», «Как мне решать проблемы, используя науку о данных как свою вторую натуру».

Изучение основ — это хорошо. Я делал то же самое в начале, когда учился программировать. Я писал программы месяцами и месяцами. Теперь, в 2020 году, я хочу сделать этот изолятор из-за коронавируса величайшим периодом обучения в моей жизни. Как я могу этого добиться?

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

Поэтому я решил воспроизвести оригинальное издание Энн Боннер Полное руководство для начинающих по извлечению, очистке и визуализации данных. Мне потребовался целый день, чтобы воспроизвести ее работу. Отличный образец реальной промышленной работы. Я просто не копировал и не вставлял, а читал и прорабатывал каждый шаг, модифицировал код, менял функции и методы, чтобы увидеть, как они себя ведут. На самом деле, иногда я обращался к методам и функциям, не использованным в исходной статье, но находил их в официальной документации Pandas и хотел посмотреть, что я получаю и почему. Это был волнующий и утомительный мини-проект, и я создал довольно большой блокнот Jupyter и написал очень длинный пост о воспроизведении. Но вместо того, чтобы публиковать все это здесь, я решил не публиковать никакого технического контента (код и первоначальную настройку Miniforge)

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

Теперь все знают, что им необходимо хорошо знать основные предметы науки о данных:

  1. питон
  2. Панды, NumPy и Scikit-learn
  3. вероятность и статистика
  4. Машинное обучение и его модели
  5. Проекты машинного обучения (самый популярный — Kaggle)

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

Домен

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

В отличие от того, что вы думаете, важны не только навыки программирования, но и то, в какой области вы работаете. Когда я начал свою работу программистом, я начал стажером, и я уже знал язык C, но мне потребовалось несколько месяцев. понимать область телекоммуникаций/коммуникаций. Я знал C, но ничего не знал о BSD Sockets. Сокеты BSD написаны на языке C, но это половина истории, остальная половина — это понимание того, как использовать сокеты и как все это работает. Я не знал доменного жаргона, такого как Handshake, ACK, Out-of-band data и т. д. Именно там я несколько месяцев обучался сам. Именно это мы имеем в виду (частично), когда говорим о реальной разработке программного обеспечения. То же самое верно и для науки о данных. Вы знаете Python, знаете алгоритмы Pandas и ML, так в какой области вы работаете?

Статья Энн была посвящена домену интеллектуального анализа текста. В частности, это была подобласть, называемая анализом настроений. Там мы получаем некоторый жаргон:

  1. Биграмма: Биграмма — это n-грамма для n=2.
  2. Стоп-слова: единого универсального списка стоп-слов, используемого всеми инструментами обработки естественного языка, не существует, да и вообще не все инструменты используют такой список.
  3. Стемминг: процесс приведения флективных (или иногда производных) слов к их основе слова, основе или корневой форме — обычно к письменной словоформе.
  4. Ангедония: разнообразные нарушения гедонической функции, в том числе сниженная мотивация или способность испытывать удовольствие.

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

Важность очистки данных и споров

Это взято непосредственно из поста Анны:

наиболее важной частью уточнения модели для получения более точных результатов будет этап сбора, очистки и предварительной обработки данных. До тех пор, пока твиты не были должным образом очищены и очищены, модель имела невпечатляющую точность. Благодаря более тщательной очистке и обработке твитов надежность модели повысилась до 97%.

Я уже более сотни раз слышал, что 70% времени уходит на очистку данных и пререкания. Я сделал некоторые из них, используя автоматизированные инструменты Azure и AWS. Я не знал, что это отнимает много времени и болит голова, пока не воспроизвел пост Анны. Это была ручная чистка. По ее словам можно подумать, насколько это важно. Ваша модель так же хороша, как и ваши данные.

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

Что дальше

Вот что я собираюсь сделать дальше:

  1. Воспроизведите проект/статью.
  2. Выберите какой-нибудь домен, чтобы сделать это. Домен, который меня интересует и соответствует моему опыту. Имейте в виду, что нужно найти баланс между интересами и рынком. Если вы пойдете исключительно из-за своих интересов или страсти, вы можете остаться без работы, если вам не повезет. Не рассчитывайте на удачу, стройте ее. Если вы будете действовать исключительно исходя из рыночного спроса, вы не сможете идти в ногу со временем, когда ситуация станет жесткой, а она станет жесткой. Найдите баланс.
  3. Получите грязные данные, а затем очистите и исправьте их вручную. Все наборы данных на Kaggle предварительно очищены для вас. Итак, никаких куков от Kaggle =:o)

Наконец, смысл в том, чтобы выйти из режима обучения и перейти в режим создания чего-то. Я думаю, что Дэн Беккер имеет в виду, когда говорит:

Узнайте о методах в контексте приложений

Вы можете пойти дальше и прочитать его сообщение:



Вы продвинетесь в своей профессии на несколько лет вперед по сравнению с кем-либо, если последуете его совету.