Site icon AppTractor

Какие языки вам стоит изучить для Data Science?

Перевод выполнен проектом Ladies Code — это открытое обучение для девушек, которые хотят развиваться в сфере IT.  25 ноября в Москве пройдёт первая международная конференция Ladies Code: Время технологий

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

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

Специфичность

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

Общность

У лучших data scientists есть хорошие навыки всестороннего программирования, а также способность корпеть над расчетами. Большая часть повседневной работы в области науки о данных вращается вокруг поиска и обработки необработанных данных или «очистки данных». Для этого никакие причудливые пакеты машинного обучения не помогут.

Продуктивность

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

Производительность

В некоторых случаях жизненно важно оптимизировать производительность вашего кода, особенно при работе с большими объемами критически важных данных. Скомпилированные языки обычно намного быстрее, чем интерпретируемые; аналогично статически типизированные языки значительно более отказоустойчивы, чем динамически типизированные. Очевидный компромисс действует против производительности.

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

1. R

Что вам нужно знать

Выпущен в 1995 году как прямой потомок старшего языка программирования S. Написанный в C, Fortran и R проект в настоящее время поддерживается Фондом R для статистических вычислений.

Лицензия: бесплатно!

Плюсы:

Минусы:

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

2. Python

Что вам нужно знать

Гуидо ван Россум представил Python еще в 1991 году. С тех пор он стал чрезвычайно популярным языком общего назначения и широко используется в сообществе ученых. В настоящее время основными версиями являются 3.6 и 2.7.

Лицензия: бесплатно!

Плюсы:

Минусы:

Python – очень хороший выбор языка для науки о данных не только для начального уровня. Большая часть процесса передачи данных вращается вокруг процесса ETL (извлечение-преобразование-загрузка).

3. SQL

Что вам нужно знать

SQL (Structured Query Language) определяет, управляет и делает запросы в реляционных базах данных. Язык появился в 1974 году и с тех пор претерпел множество реализаций, но основные принципы остаются неизменными.

Лицензия: Различается. Некоторые реализации являются бесплатными, другие являются патентованными.

Плюсы:

Минусы:

SQL более полезен в качестве языка обработки данных, чем в качестве передового аналитического инструмента. Тем не менее, много процессов в области данных зависит от ETL, а долговечность и эффективность SQL – это доказательство того, что это очень полезный язык для современного исследователя данных.

4. Java

Что вам нужно знать

Java – чрезвычайно популярный язык общего назначения, который работает на виртуальной машине Java (JVM). Это абстрактная вычислительная система, которая обеспечивает плавную переносимость между платформами. В настоящее время поддерживается корпорацией Oracle.

Лицензия: Версия 8 – бесплатно!

Плюсы:

Минусы:

Многие компании оценят возможность беспрепятственной интеграции кода производства данных в их существующую кодовую базу, и вы обнаружите, что производительность Java и безопасность типов являются реальными преимуществами. Тем не менее, вы не будете иметь набор специфически статистических пакетов, доступных для других языков. Тем не менее, Java определенно нужно рассмотреть – особенно если вы уже знаете R и/или Python.

5. Scala

Что вам нужно знать

Scala – это язык, который работает на JVM, он разработан Мартином Одерским и выпущен в 2004 году. Это язык с несколькими парадигмами, позволяющий использовать как объектно-ориентированные, так и функциональные подходы. Структура кластерных вычислений Apache Spark написана на Scala.

Лицензия: бесплатно!

Плюсы:

Минусы:

Когда дело доходит до использования кластерных вычислений для работы с большими данными, Scala + Spark – фантастические решения. Если у вас есть опыт работы с Java и другими статически типизированными языками, вы также оцените эти возможности Scala.

6. Julia

Что вам нужно знать

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

Лицензия: бесплатно!

Плюсы:

Минусы:

Главная проблема с Julia – это та, за что ее нельзя обвинять. Как недавно разработанный язык, он не настолько зрелый или готовый к производству, как его основные альтернативы Python и R. Но, если вы готовы быть терпеливыми, есть все основания уделять ему пристальное внимание, поскольку язык будет развиваться в ближайшие годы.

7. Matlab

Что вам нужно знать

MATLAB – это устоявшийся язык вычислений, используемый во всех академических кругах и промышленности. Он разработан и лицензирован MathWorks, компанией, созданной в 1984 году для коммерциализации программного обеспечения.

Лицензия: проприетарный – цены варьируются в зависимости от вашего варианта использования.

Плюсы:

Минусы:

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

Вывод

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

Я регулярно использую R, Python и SQL, так как моя текущая роль в основном сосредоточена на разработке существующих конвейеров данных и ETL-процессов. Эти языки дают правильный баланс общности и производительности для выполнения этой работы, с возможностью использования более совершенных статистических пакетов R, когда это необходимо.

Однако, возможно, у вас уже есть опыт работы с Java. Или вы можете использовать Scala для больших данных. Или, может быть, вы очень заинтересованы в проекте Julia.

Может быть, вы изучили MATLAB в университете или хотите дать SciRuby шанс? Возможно, у вас есть совсем другое предложение?

Exit mobile version