Рубрики
Без рубрики

Реальная разница (TM) между Python и R для науки о данных

умнее, чем ваше среднее сравнение. Tagged DataScience, Rstats, Python, сравнение.

Бэтмен против Супермена

Data Science имеет двух языковой проблемы. R и Python оба Язык для науки данных. Это привело к некоторым довольно абстрактным, общим, а иногда и абсурдным определениям между двумя языками. Худшее, вероятно, это изображение:

Наука о данных – это такой широкий термин, иногда очень разнообразное или даже плохое понимание в бизнесе, что названия Clickbaity, дающие поверхностные ответы. Я отследил Источник этого изображения , который также плавал в Твиттере Однажды (2016) или дважды (2018) Анкет Чтобы дать автору «Пост» свои взносы, статья, из которой она получена, интересна, и я надеюсь, что бонус SEO от публикации по мере роста фильма «Шубинная цикл» заставит ему дополнительные продажи книг (книги, на которые он ссылается, на самом деле | стоит прочитать).

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

Разница и решение для инструмента «правильного» для работы фактически определяются смесью внутренних и внешних факторов. Оба языка сами по себе выполняют работу по употреблению данных, обработке, анализу, моделированию и прогнозу одинаково хорошо. Оба могут быть развернуты локально или в облаке. Как незначительные различия в синтаксисе, так и основные различия в инструментах развертывания становятся определяющими факторами.

Внутренние: Синтаксис и экосистема

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

Тем не менее, как люди на самом деле пишут код для науки о данных?

В r наука о данных – это Приложение первого класса (и, может быть, даже единственное приложение ?). Tidyverse Возможно, де -факто способ писать большинство проектов сейчас. Поскольку Rstudio дает ему полную корпоративную поддержку и финансирование экосистемы инструментов, большинство из которых я пишу, видел, как другие пишут, и я учил людей писать в этом стиле. Трубы %>% Функция цепочки вызовы с нестандартной оценкой аргументов, документов Rmarkdown, визуализации GGPLOT и блестящими приложениями являются решение по выбору ученых-ученых. Tidyverse сам функционально вдохновляется , Purrr явно заявляет об этом и Хэдли Уикхэм напрямую утверждает, что «Р. В своей основе является языком функционального программирования (FP)».

Питон – это везде Анкет Наука данных в Python – это не Pythons, только причина существования. Scipy это цепочка инструментов Python для науки о данных. Numpy и Pandas – лучшие приятели, а Matplotlib – передний бегун для графики. Эта коллекция инструментов гораздо менее сплочна, с Scikit Learn, Seaborn и Jupyter Notebooks также являются чрезвычайно популярными, но полностью удаленными из экосистемы Scipy. Поэтому эти инструменты нуждаются в немного большей работе, чтобы превратить в полный продукт. Объектно -ориентированное программирование также более популярно, даже для Наука данных . Это означает, что вы будете вызывать объекты более непосредственно и явно вытащить методы на объектах с myobject.method чаще.

Что это значит для меня?

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

Внешние: Применение и развертывание

Что если у вас не будет легкого ответа? Вы начинаете новый проект, или вы единственный программист в бизнесе? Тогда выбор становится все труднее получить правильно, но тем более у вас больше опыта. Когда вы знаете оба инструмента может достичь Та же работа, вы должны выбрать, какой из них это делает легче Анкет Я обнаружил, что я буду достаться к Python и R в равной степени, теперь я профессионально работал в обоих, однако, который Я использую довольно четко.

Когда использовать r

R инкапсулирует статистические и математические идеи четко и надежно. В зависимости от того, откуда вы получаете свои зависимости от вас, может иметь очень четкое представление о вероятной «правильности» библиотеки. Грубо Ropensci более строгий и стабильный, чем Cran что лучше, чем GitHub. Tidyverse Tipes, NSE, Purrr дают тесно связанную рабочую среду, где синтаксис является последовательным, терапевным и тривиально рефактованным. GGPLOT и Rmarkdown предоставляют бизнес -расходные материалы с самого начала, где код может быть тесно связан с повествованием и отчетностью, но также и бесконечно настраиваемым для производства чего -то, что будет пройти маркетинг без взгляда. Многие академические публикации полагаются на R и Rmarkdown как для исследований, так и для публикации. Если вам нужно сделать интерактивный вывод, Shiny – это простая структура применения, с точки зрения всего остального в этой экосистеме.

R для аналитики кто должен быть определенное базовой обработки данных немедленно , производить и итерацию на Репортаж выходы как можно быстрее и напишите наименьший код Для наибольшего возвращения. Хэдли эффективно сказал столько же на прошлой неделе Анкет

Я думаю, что R Markdown – это удивительный вклад в R… Когда вы делаете анализ данных, скорость печати на самом деле является узким местом.

Когда использовать Python

Питон – это Уже используется тонны больше, чем r Потому что наука о данных не только работа. Инженеры по данным используют его очень сильно, в среде и даже фронтальные разработчики используют его для всех видов проектов, и это интенсивно или нет. Во многих распределениях Linux (включая Mac) он фактически устанавливается как часть вашей машины, когда вы включаете операционную систему. Это также, возможно, облачный натив язык. Функции AWS Lambda Поддержите его из коробки и Microsoft недавно скопировал их . Это вдвойне интересно, так как Microsoft купила один из Крупнейшие консультации R в 2015 году , но по мере того, как r не является национально поддерживаемым языком в большей части экосистемы Microsofts. Он определенно стал более запеченным в поддержке R, чем AWS ( powerbi и многие другие ), но сделал шаг к Потенциально обрежьте Mran Анкет Все это означает, что большинство разработчиков говорят на Python, что Python поддерживается большинством больших облачных поставщиков, и что Python, вероятно, уже встроен во все, над чем вы работаете.

Python для Разработчики Кому нужно развернуть программное обеспечение В пределах Традиционная программная среда в Более традиционное развитие Рабочий процесс, где Первоклассная облачная поддержка вопросы и интеграция с Существующий код имеет главное приоритет.

Вывод

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

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

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

Оригинал: “https://dev.to/daveparr/the-real-difference-tm-between-python-and-r-for-data-science-280i”