Существует множество инструментов, позволяющих ученым эффективно анализировать данные. Обычно инженерный аспект анализа данных фокусируется на базах данных, ученый фокусируется на инструментах, которые могут реализовывать продукты данных. В следующем разделе рассматриваются преимущества различных инструментов с акцентом на статистические пакеты, которые ученые чаще всего используют на практике.
Язык программирования 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 (caret), Scikit-learn имеет более чистый и согласованный API.
Юля
Julia — это высокопроизводительный динамический язык программирования для технических вычислений. Его синтаксис очень похож на R или Python, поэтому, если вы уже работаете с R или Python, будет довольно просто написать тот же код на Julia. Язык довольно новый и значительно вырос за последние годы, так что это определенно вариант на данный момент.
Мы бы порекомендовали Джулию для прототипирования алгоритмов, которые требуют больших вычислительных ресурсов, таких как нейронные сети. Это отличный инструмент для исследований. С точки зрения внедрения модели в производство, вероятно, у Python есть лучшие альтернативы. Однако это становится меньшей проблемой, поскольку существуют веб-сервисы, которые занимаются разработкой моделей на R, Python и Julia.
ПАВ
SAS — это коммерческий язык, который до сих пор используется для бизнес-аналитики. Он имеет базовый язык, который позволяет пользователю программировать самые разные приложения. Он содержит довольно много коммерческих продуктов, которые дают пользователям, не являющимся экспертами, возможность использовать сложные инструменты, такие как библиотека нейронных сетей, без необходимости программирования.
Помимо очевидного недостатка коммерческих инструментов, SAS плохо масштабируется для больших наборов данных. Даже набор данных среднего размера будет иметь проблемы с SAS и приведет к сбою сервера. Рекомендуется использовать SAS только в том случае, если вы работаете с небольшими наборами данных, а пользователи не являются экспертами в области обработки данных. Для продвинутых пользователей R и Python обеспечивают более продуктивную среду.
SPSS
SPSS, в настоящее время является продуктом IBM для статистического анализа. Он в основном используется для анализа данных опроса, и для пользователей, которые не умеют программировать, это достойная альтернатива. Возможно, его так же просто использовать, как и SAS, но с точки зрения реализации модели это проще, поскольку он предоставляет код SQL для оценки модели. Этот код обычно неэффективен, но это только начало, тогда как SAS продает продукт, который оценивает модели для каждой базы данных в отдельности. Для небольших данных и неопытного коллектива SPSS — такой же хороший выбор, как и SAS.
Программное обеспечение, однако, довольно ограничено, и опытные пользователи будут на порядок более продуктивными, используя R или Python.
Матлаб, Октава
Доступны и другие инструменты, такие как Matlab или его версия с открытым исходным кодом (Octave). Эти инструменты в основном используются для исследований. С точки зрения возможностей R или Python могут делать все, что доступно в Matlab или Octave. Покупать лицензию на продукт имеет смысл только в том случае, если вы заинтересованы в поддержке, которую они предоставляют.