Аналитика больших данных - инструменты анализа данных

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

Язык программирования R

R - это язык программирования с открытым исходным кодом, ориентированный на статистический анализ. Он конкурентоспособен с коммерческими инструментами, такими как SAS, SPSS, с точки зрения статистических возможностей. Считается, что это интерфейс для других языков программирования, таких как C, C ++ или Fortran.

Еще одно преимущество R - это большое количество доступных библиотек с открытым исходным кодом. В CRAN существует более 6000 пакетов, которые можно скачать бесплатно и вGithub Доступен широкий спектр пакетов R.

С точки зрения производительности R медленный для интенсивных операций, учитывая большое количество доступных библиотек, медленные участки кода написаны на скомпилированных языках. Но если вы собираетесь выполнять операции, требующие глубокого написания циклов for, тогда R не будет вашей лучшей альтернативой. Для анализа данных есть хорошие библиотеки, такие какdata.table, glmnet, ranger, xgboost, ggplot2, caret которые позволяют использовать R как интерфейс для более быстрых языков программирования.

Python для анализа данных

Python - это язык программирования общего назначения, который содержит значительное количество библиотек, посвященных анализу данных, таких как pandas, scikit-learn, theano, numpy и scipy.

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

Для машинного обучения scikit-learn- удобная среда, в которой доступно большое количество алгоритмов, которые без проблем могут обрабатывать наборы данных среднего размера. По сравнению с эквивалентной библиотекой R (кареткой),scikit-learn имеет более чистый и последовательный API.

Юля

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

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

SAS

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

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

SPSS

SPSS в настоящее время является продуктом IBM для статистического анализа. Он в основном используется для анализа данных опросов, и для пользователей, которые не умеют программировать, это достойная альтернатива. Возможно, его так же просто использовать, как и SAS, но с точки зрения реализации модели он проще, поскольку предоставляет код SQL для оценки модели. Этот код обычно неэффективен, но это только начало, тогда как SAS продает продукт, который оценивает модели для каждой базы данных отдельно. Для небольших данных и неопытной команды SPSS - такой же хороший вариант, как и SAS.

Однако программное обеспечение довольно ограничено, и опытные пользователи будут на порядки более продуктивными, используя R или Python.

Matlab, Octave

Доступны и другие инструменты, такие как Matlab или его версия с открытым исходным кодом (Octave). Эти инструменты в основном используются для исследований. Что касается возможностей, R или Python могут делать все, что доступно в Matlab или Octave. Покупать лицензию на продукт имеет смысл только в том случае, если вы заинтересованы в поддержке, которую они предоставляют.