@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?
  • Вопрос задан
  • 7894 просмотра
Решения вопроса 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 глаза слезились.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы