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

Что делает Data Scientist?

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

Помимо этого, существует ряд «мягких навыков», которые отделяют по-настоящему эффективного специалиста по данным от остальных. К ним относятся такие качества, как:

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

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

Базовые навыки

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

Большая часть этой информации уже является частью типичного курса бакалавриата по информатике. Пересмотр этих лекций или учебников должен стать хорошей отправной точкой. Есть также много хороших онлайн-видео, таких как Khan Academy и Udacity, которые учат этим основам. Важно развить хорошую интуицию в этих предметах, а не заучивать их наизусть. Вы должны, по крайней мере, знать, что такое разные статистические распределения, как проводить проверку значимости, что такое центральная предельная теорема, что такое векторы и матрицы, концепции линейной алгебры, такие как SVD и матричная фаторизация, а также нужно уметь понимать и кодировать базовые числовые алгоритмы, такие как градиентный спуск.

Книги:
1. Думайте статистику (Аллен Дауни)
2. Вся статистика (Вассерман)
3. Кодирование матрицы (Клиен)

Думайте в фреймах данных

После получения прочного знания основ необходимы программные инструменты для выполнения любой практической работы в области науки о данных. На ум могут прийти электронные таблицы Excel и базы данных SQL, такие как MySQL. Хотя они могут быть полезны для многих основных задач анализа, нам необходимо специализированное программное обеспечение для расширенного преобразования данных и статистики.

Два самых популярных языка, используемых специалистами по анализу данных, - это R и Python.

R

R - это язык функционального программирования для статистики и графики, который очень популярен среди специалистов по обработке данных, исследователей и статистиков. Он использует то, что он называет «фреймами данных», как основной способ работы с данными. Это двухмерная структура данных со строками и столбцами, аналогичная таблице в базе данных SQL. Это оказался наиболее мощным способом работы с данными, и он также использовался другими инструментами, такими как Python (Pandas) и Apache Spark. Я рекомендую ознакомиться с R, особенно с библиотеками «аккуратных стихов» Хэдли Уикхэм. Если вы читаете научные статьи, многие их реализации будут на R.

Python

Большинство программистов знают Python как язык программирования общего назначения, но недавно он стал ведущим языком, используемым исследователями данных. Это связано с такими библиотеками, как Numpy, Scipy, Pandas, Matplotlib, Scikit Learn и фреймворками глубокого обучения, такими как Tensorflow и Pytorch. Это может быть более простой способ начать работу, если вы уже знакомы с Python или имеете опыт разработки программного обеспечения. Pandas - это инструмент, с которым вы будете чаще всего работать в мире данных Python, и он является портом фрейма данных R.

Лично я начал использовать R в начале своей карьеры, а в последнее время в основном работал с экосистемой данных Python. Но я считаю, что некоторые статистические инструменты и инструменты визуализации в R лучше, чем в python. Однако вы не ошибетесь ни с одним из них. Дело в том, чтобы научиться работать с фреймами данных.

Еще один важный инструмент - блокнот Jupyter. Первоначально он был создан для анализа данных на основе Python, но теперь поддерживает многие другие языковые механизмы, включая R. графики и т. д. - вот как работают специалисты по данным. Вы можете легко экспортировать код или модель из записных книжек Jupyter.

Книги:
1. R for Data Science (Wickham)
2. Python для анализа данных, 2-е издание (McKinney)
3. Python Справочник по науке о данных (Vanderplas)

Машинное обучение

Вероятно, это то, что интересует большинство из вас. Если вы изучили основы, о которых я говорил ранее, это будет легче понять.
Из множества имеющихся ресурсов для изучения машинного обучения я бы посоветовал вам пройти Курс Эндрю Нг на Coursera. Хотя он использует Octave вместо R или Python, Эндрю умеет объяснять сложные темы менее устрашающим образом, который идеально подходит для начинающих. Вы не ошибетесь с этим.

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

Реальность такова, что фактический код для создания и настройки модели машинного обучения довольно прост с использованием библиотек R или Python, таких как Scikit-learn. Существует так много моделей машинного обучения и его разновидностей, что часто бывает трудно понять, какую из них использовать.

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

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

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

Книги:
1. Введение в статистическое обучение (бесплатно)
2. Обучение на основе данных
3. Книга по глубокому обучению (бесплатно)

Я также хотел бы отметить важность работы с реальными наборами данных. Большинство данных, используемых в курсовой работе и книгах, предварительно обрабатываются и очищаются, чтобы они были готовы для анализа. В реальном мире я никогда не встречал набора данных, который не требовал бы какой-либо очистки и преобразования. Вы можете искать их в онлайн-базах данных, например на порталах открытых данных. Участие в соревнованиях Kaggle также является хорошим способом работы с отраслевыми наборами данных.

Резюме

Я надеюсь, что некоторые из вас извлекут пользу из следования по пути, который я проложил выше. Есть и другие навыки, такие как обработка данных, инженерия данных, визуализация и т. Д., Которые не менее важны для специалиста по данным в его повседневной работе, и я здесь не вдавался в подробности. Но вы встретите их в книгах / курсах, которые я упомянул выше, и поймете, почему они так важны.

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

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