Всем привет!
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?