Для более качественного контента, пожалуйста, обратите внимание на паблик WeChat "AI Frontline", (ID: ai-front)
Дамы и господа, два тяжеловеса, соревнующиеся за лучший язык программирования в области анализа данных: Python и R, объявили, что они вместе! делать! !
Если вы занимаетесь анализом данных, вы наверняка сталкивались или слышали о дилемме — какой язык лучше использовать при анализе данных, R или Python?
Битва за «лучший язык программирования» идет уже давно, и наука о данных не исключение. В Интернете часто задают такие вопросы, как «Я хочу изучить машинное обучение, какой язык программирования мне использовать» или «Я хочу быстро решить проблему, использовать ли мне R или Python». Хотя оба этих языка программирования в настоящее время находятся на вершине сообщества аналитиков данных, они по-прежнему активно участвуют в спорах о том, какой язык программирования выбрать для специалистов по анализу данных.
Но все, с этого момента вы можете перестать беспокоиться об этом вопросе.
Прежде чем вводить вопросы, связанные с сотрудничеством, давайте, как обычно, рассмотрим прошлое и настоящее этих двух языков программирования, а также их обиды и обиды на арене программирования.
Росс Ихака и Роберт Джентльман создали язык R с открытым исходным кодом на основе языка S в 1995 году с целью предоставления более удобного и удобного для пользователя способа анализа данных, статистики и графических моделей.
Первоначально R в основном использовался в академических кругах и исследованиях, но недавно промышленность также открыла для себя преимущества R, что сделало R одним из самых быстрорастущих статистических языков в мире, используемых на предприятии.
Хотя Python был создан в 1991 году Гвидо ван Россемом, он в основном делает упор на эффективность и читаемость кода. Программисты, которые хотят выполнять глубокий анализ данных или применять статистические методы, являются основными пользователями Python.
Чем больше вам нужно работать в инженерной среде, тем больше вы будете любить Python. Это гибкий язык, хорошо работающий с чем-то новым, ориентированный на удобочитаемость и простоту, с плавной кривой обучения.
Как эти два языка программирования сошлись? Мы должны начать с машинного обучения и анализа данных.
Разницу между машинным обучением и анализом данных немного трудно объяснить, но основное различие между ними заключается в том, что машинное обучение уделяет больше внимания точности прогнозов, чем интерпретируемости модели, в то время как анализ данных уделяет больше внимания интерпретируемости. модели и статистического вывода.
С тех пор, поскольку Python уделяет больше внимания точности результатов прогнозирования, он стал мощным инструментом для машинного обучения. R, как язык программирования, ориентированный на статистический вывод, также широко используется в области анализа данных.
Однако это не определяет эти два символа, и они не могут ничего делать, кроме своих соответствующих полей. На самом деле, Python также может эффективно анализировать данные, а R также обладает некоторой гибкостью в машинном обучении. Все они имеют довольно много библиотек ресурсов для реализации специфических функций друг друга.Например, у Python есть много библиотек ресурсов для улучшения его способности статистического вывода, а R также имеет множество пакетов для повышения точности прогнозирования.
Из-за этих двух характеристик споры о силе Python и R в Интернете были безрезультатными, и даже уровень использования в академических кругах и промышленности преследовал меня.
Однако с популяризацией искусственного интеллекта в последние годы все больше и больше школ запускают курсы программирования на языке Python, а предприятия, переходящие на искусственный интеллект, также увеличивают свои инвестиции в язык Python. Согласно опросу разработчиков Stack Overflow за 2018 год, Python поднялся в рейтинге, превзойдя C# в этом году, как и PHP в прошлом году. Python твердо позиционирует себя как «самый быстрорастущий основной язык программирования», а что касается языка R, то он далеко позади.
Кажется, что разрыв в популярности становится все больше и больше, и некоторые люди в шутку называют их интернет-знаменитостью текущего сезона и «прошедшей интернет-знаменитостью». Но есть и технологические гиганты, которые недовольны этим спором о том, кто лучший язык программирования, а потом выдвигают идею: почему бы не дать им поработать вместе?
Технологические гиганты Хэдли Уикхэм и Уэс МакКинни объединили усилия.
Хэдли Уикхем — самый важный разработчик языка программирования R, а Уэс МакКинни — один из самых важных разработчиков языка программирования Python.
Уэс МакКинни создал проект pandas в 2008 году. pandas — это библиотека с открытым исходным кодом под лицензией BSD, которая предоставляет высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для языка программирования Python (да, тот, который вы очень часто используете в Python) библиотека панд). Кроме того, он является автором книги Python для анализа данных, которая помогла популяризировать использование Python в науке о данных. Он является членом Apache Software Foundation и членом PMC Apache Arrow и Apache Parquet, а также генеральным директором и соучредителем DataPad.
Хэдли Уикхэм — создатель многих наиболее широко используемых пакетов R в науке о данных, таких как ggplot2, dplyr и многих других. Он написал несколько книг по языку R, таких как R для науки о данных и Advanced R. Хэдли — главный научный сотрудник RStudio и технический консультант Ursa Labs по поддержке языка R, общему дизайну и удобству использования API.
В прошлом месяце McKinney объявила о создании USRA Labs, инновационной организации, занимающейся совершенствованием инструментов обработки данных. Сотрудничество Python и R — это сотрудничество между USRA Labs и компанией Уикхема, RStudio, которая в настоящее время поддерживает самый популярный пользовательский интерфейс R. Основная цель USRA Labs — упростить совместную работу специалистов по данным, работающих с разными языками программирования, и избежать чрезмерного дублирования работы разработчиков на разных языках.Помимо улучшения R и Python, они надеются, что их работа улучшит пользовательский интерфейс других языков программирования с открытым исходным кодом, таких как Java и Julia..
И Python, и R бесплатны для использования и часто считаются конкурентами в области науки о данных. Но и Уикхем, и МакКинни считаютЭтот конкурс не нужен. На самом деле они считают, что совместная работа может сделать оба языка программирования более полезными для миллионов пользователей.
И Python, и R являются важными инструментами для ученых, исследователей и журналистов данных, работающих в технологических компаниях, таких как Google, Facebook и т. д. Самая большая головная боль для разработчиков заключается в том, что совместная работа часто затруднена, когда их коллеги используют другой язык программирования. URSA Labs упростит обмен данными и кодом с людьми, использующими другие языки обработки данных, создав новые стандарты для всех языков программирования. Разработчики называют этот шаг улучшением «функциональной совместимости». Уикхэм и МакКинни вместе работали над созданием формата файла, который можно использовать как в Python, так и в R.
Помимо облегчения совместной работы, Уикхэм и МакКинни заявили, что у их сотрудничества была еще одна причина: разработчики на разных языках программирования всегда решали одну и ту же проблему снова и снова, не учась у них чему-то, чтобы делиться извлеченными уроками с другими.
Уикхем приводит пример, когда в каждом языке программирования разработчики вычисляют средние значения. Это очень просто для пользователя, требуется только одна строка кода, будь то на Python или R. Но для разработчиков языков найти лучший способ выполнения вычислений с помощью одной строки кода — непростая задача. Разработчики как R, так и Python, как правило, решают эту проблему на C++ и C, которые хороши для разработчиков, но сложны для обычных пользователей. В идеале, утверждает Уикхем, если разработчики одного языка программирования находят лучший способ сделать что-то, этот подход должен применяться ко всем остальным языкам. Это также основная миссия лаборатории USRA.
Уикхем и МакКинни добавили, что совместный проект, помимо решения технических проблем, также надеется привести к мирному сосуществованию различные сообщества языков программирования. Они считают, что чем больше людей, использующих эти языки, будут сотрудничать, тем лучше может развиваться область науки о данных.
«Я надеюсь, что это сотрудничество положит конец бессмысленной битве между R и Python, — сказал Уикхэм, — потому что оба языка великолепны».
Использованная литература:
http://wesmckinney.com/blog/announcing-ursalabs/
https://qz.com/1270139/r-and-python-are-joining-forces-in-the-most-ambitious-crossover-event-of-the-year-for-programmers/