@lPolar
data scientist

Так ли хорош Python в сравнении с R для data mining?

Всем привет!
Python использую на протяжении года. Основной стак задач - сбор (читай - парсинг), анализ, визуализация и моделирование.
Поначалу меня все устраивало в языке, до тех пор пока не начались задачи out-of-core (объем данных строго больше RAM).
Я знаю про chunk-reading данных и partial_fit в sklearn, но этот подход заметно замедляет процессы построения моделей и снижает их качество.
Плюс ко всему есть некоторые тотально надоевшие проблемы языка:
1. Юникод. Да, с py3 стало лучше, но не везде. Характерный пример:
import pandas as pd
rdf = pd.DataFrame(['привет','юникод'])
rdf.to_clipboard() # допустим, хочу перекинуть таблицу в excel

2. Отсутствие нормального репозитория пакетов.
Конечно, инструменты вроде pip,easy_install,conda облегчают жизнь, но часто нужные пакеты приходится вручную компилировать (cxOracle как пример).
3. Отсутствие многих методов data mining.
Например, deep learning для python'а найти не так просто, а использовать - так совсем сложно.
Теперь со стороны R.
Что понравилось:
1. Репозиторий пакетов и в целом система их установки
2. Пакеты есть буквально для всего, особенно порадовали возможности обработки out-of-core, такие как ff/bit.
3. Многовариантность решения задачи (а в data mining это просто отлично).
Что не понравилось:
1. Синтаксис для решения некоторых задач не совсем очевиден. Наличие магических %in% и т.д.
2. Некоторые очевидные вещи реализованы плохо, например импорт/экспорт в Excel.
Собственно, вопрос к тем кто имел опыт использования и одного, и второго языка - на чем сосредоточится? Осваивать Python дальше, учить API для pyspark и graphlab?
Какой из языков в обозримом будущем будет более востребован в data science?
  • Вопрос задан
  • 7104 просмотра
Решения вопроса 1
@polyhedron
Data Analyst | Data Scientist
Я использую оба языка, и, признаться, R мне нравится больше. И вы правы, что там есть пакеты абсолютно для всего. Но Python обладает рядом преимуществ, главным из которых является развитая экосистема языка. Преимущества Python очень хорошо описаны тут. Вообще, в этом блоге есть много интересных статей как по Python, так и по R. Что касается deep learning, то для Python есть замечательная библиотека Theano.
Я бы порекомендовал сосредоточиться на Python, но R также не забывать на случай если понадобятся методы, не реализованные в Python, или будете работать с людьми, знающими только R.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
Любой специализированный инструмент (язык) или их связка хорош настолько, насколько хорош специалист, который их использует, ну и естественно насколько хороша его теоретическая подготовка по дата-мининиг, математике, статистике.
Иногда, даже извратившись, можно сложнейшую алгоритмически-статистическую задачу, которая влечет анализ данных, можно решить на совершенно не предназначенном для этого языке.
Что касаемо именно пайтона и языка R, оба хороши, серьезно - оба. Единственное для пайтона нужно доставлять дополнительные библиотеки и модули. НО! Каждая аналитическая и алгоритмически-статистическая задача тоже имеет свою специфику, привязку к той или иной технологии, теории - и тут уже в этом случае как раз приходится придумывать, какой именно язык применить - PYTHON или R, а может быть и оба их вместе, а может еще и подключить STATISTICA или еще чего, даже обычный MathLAB или Ecxel может оказать неоценимую помощь. Задачу, особенно сложную, всегда нужно решать комплексно! Тогда успех гарантирован с вероятности близкой к единице!
Ответ написан
aTwice
@aTwice
Программист C++, C#, Java, JavaScript, Python.
У меня от синтаксиса R глаза слезились.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
ГК "Саммит" Москва
от 100 000 до 100 000 руб.
Soter Analytics Санкт-Петербург
от 90 000 до 150 000 руб.
Xsolla Пермь
от 50 000 до 120 000 руб.