Как стать автором
Обновить

Комментарии 22

Когда-то пытался поиграться с этим RapidMiner'ом… по личным ощущениям, это программа для тех, кто хочет заниматься BigData, но не умеет программировать. Т.е. поиграться можно, но пользоваться постоянно не удобно.
Старые добрые R, или Python + бибилиотеки, по моему, гораздо удобней, да и возможностей больше + кроссплафторменность.
Про широту возможностей — нельзя не согласиться. Но тут другой момент уже — Assembler, конечно, круче по возможностям чем C, но с последним работать многим приятнее и понятнее…
Про удобство программирования на R и Python над визуальным интерфейсом — достаточно спорный тезис.
Да, и про кроссплатформенность я забыл упомянуть — RM работает на Windows, Linux и Mac. Причем все компоненты, и Studio, и Server.
Неумение программировать не должно закрывать путь в Big Data! :)
Да, не стоит ставить клеймо на человеке за неумение программировать! Может он кофе делает вкусный, все профит для его хозяина-программиста :)
Если серьёзно, то (см. п. 3 «Важных фич») — есть R extension, с помощью которого можно создать кастомный элемент процесса с произвольным кодом/скриптом на R внутри, это если чего-то не хватает и есть необходимость какой-то кусок алгоритма написать руками.
Если совсем серьезно, то
с всего лишь двумя ограничениями — максимальный объем используемой памяти 1 Гб и работа только с обычными файлами (csv, xls и т.п.) в качестве источника данных. Естественно, в малом бизнесе это тоже не проблема.

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

Если серьёзно, то (см. п. 3 «Важных фич») — есть R extension, с помощью которого можно создать кастомный элемент процесса с произвольным кодом/скриптом на R внутри, это если чего-то не хватает и есть необходимость какой-то кусок алгоритма написать руками.

А смысл тогда вообще использовать RM? Если весь пайплайн писать на одном языке, то в случае работоспособности его будет значительно проще причесать и отправить в продакшн.
Чисто для понимания – у ближайших конкурентов (кроме KNIME, о чем комментарий ниже) вообще нет бесплатных версий в каком-либо виде (SAS University Edition – не в счет, он для студентов), только триалы.
А описанная вами «любительская» задача далека от медианы аналитических задач даже среднего бизнеса. Нет, SNA и deep learning это круто, конечно, но далеко от «everyday data science» большинства аналитиков и разработчиков.
А можно какие-нибудь примеры типичных задач, которые народ в индустрии решает?
Благодарю за пост!

Но, я так и не понял один момент.

В Версии 6 (текущей) я не смогу выкачать данные из какого-либо сайта из-за ограничения бесплатной версии.

А в версии 5.3 (предыдущей) — эти ограничения также присутствуют или предыдущая версия становится бесплатной и полностью функциональной?
Все верно, по заверениям разработчиков с выходом следующей мажорной версии предыдущая становится открытой.
Ограничения бесплатной 6-ой версии на текущую опенсорсную (5.3) не распространяются.
Однако, вы можете заметить, что 6-ая версия по сравнению с 5-ой сильно прибавила в функциональности, т.е. далеко не все вы сможете найти в опенсорсной версии.
Благодарю.
Перечитал, но так и не понял про опенсорс и наличие ограничения в 1гб. Взаимоисключающие пункты же.
Вот судя по всему исходники этого пакета, правда я не пробовал собирать:
github.com/rapidminer/rapidminer
Внесу немного ясности:
1. Вы можете взять исходники предыдущей версии и собрать сами RapidMiner без ограничений, но старый (версия 5.3).
2. Вы можете взять бесплатно Starter (уже собранный) текущей версии (6.3) – 1 Гб и без подключения к БД.
3. Вы можете попробовать триал текущей версии 14 дней – там нет этих ограничений.
4. И вы можете купить пункт (3) уже в долгое пользование.

Кого давит 1 Гб на процесс — собирайте код (или зарегистрируйтесь на сайте, потом можно скачать бинарники). Для большинства же малого бизнеса достаточно стартера, поскольку там функционал аналитики тот же. Если расчёт у вас ещё и разовый, вроде анализов результатов за год, то можно настроить процесс в Starter и взять триал, чтобы перемолотить данные. А потом решить, стоит покупать полную версию или нет.
Уважаемые коллеги vitaly_KF, selenite и BelBES, насколько я могу судить сам по своему опыту работы с RapidMiner разных версий, бесплатная community edition 5.3 имеет те же ограничения по памяти, что и бесплатная 6.x (1 Гб). Там всё-таки есть некая внутренняя хитрость для соблюдения баланса между open-source и business-source моделями, но я не в курсе подробностей про техническую сторону этих ограничений, может быть уважаемый автор пояснит более подробно.

И опять же, влияние этих ограничений очень сильно зависит от рода решаемых задач, от данных, от подхода. Да, когда я только познакомился с бесплатной версией RapidMiner и радостно скормил туда датасет из ~ 100.000 строк * 50 атрибутов (половина из которых были далеко не бинарными) для дальнейшего моделирования «чего-нибудь эдакого», разумеется сразу же больно налетел (и не раз) на ограничение по памяти. Очень помогло дальнейшее осмысление того, что же я делаю, предварительная аккуратная подготовка данных и разумный подход к использованию разных алгоритмов. Могу сказать, что даже с минимальным опытом работы в бесплатной версии я достаточно быстро ушёл от постоянной нехватки памяти и она потом возникала уж совсем по серьёзным поводам, когда данные действительно ну никак не умещались. Для ознакомления, обучения и прогона тренировочных моделей и так далее — в самый раз. Да, изначально тренировался на не очень больших датасетах. Да, в продакшене и на реальных больших данных конечно скорее всего нужна будет лицензионная версия. Ну так и продукт-то в конечном итоге коммерческий.
Да, когда я только познакомился с бесплатной версией RapidMiner и радостно скормил туда датасет из ~ 100.000 строк * 50 атрибутов (половина из которых были далеко не бинарными) для дальнейшего моделирования «чего-нибудь эдакого», разумеется сразу же больно налетел (и не раз) на ограничение по памяти.

100к объектов с ~50 признаками это на самом деле не очень много. Например при анализе данных пользователей соц. сетей число записей обычно >1M. Там и R обычно лажать начинает, если пользоваться только стандартными средствами…

Могу сказать, что даже с минимальным опытом работы в бесплатной версии я достаточно быстро ушёл от постоянной нехватки памяти и она потом возникала уж совсем по серьёзным поводам, когда данные действительно ну никак не умещались.

Ну ок, потребность в памяти вы обошли. А когда упретесь в производительность, то какое-нибудь GPGPU уже так просто не получится прикрутить скорей всего. А в томже Python можно заюзать, например, Theano и запараллелить код на GPU практически бесплатно.

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

А смысл платить за него и привязываться к проприетарному инструменту, если за интерпретатор python или за gcc никто денег вообще не просит? В продакшене и пооптимизировать код надо и тестов понаписать и т.д. и т.п., что сделать проблематично в случае RM. Т.ч. преимущества RM совсем не очевидны, чтобы за него еще и платить…
Сергей, я разумеется не имел в виду, что датасет 100.000 x 50 у меня в памяти сам по себе не поместился. Но несколько преобразований атрибутов (например, если выбранный алгоритм работает только с биноминальными атрибутами, а у меня в столбцах строки) — раз, и уже вместо 50 атрибутов их 5000. Условный пример, конечно, но думаю идея понятна — страшны не сами исходные данные, а их возможные преобразования и вынужденное повышение размерности, например.

Но в целом сравнивать RM и Python/R/gcc/etc я честно говоря смысла не вижу. Это ведь изначально совершенно разные инструменты и разные среды, хоть и могут использоваться для сходных задач машинлёрнинга и датамайнинга. Мне в RM лично очень удобна скорость и визуальная простота построения моделей, наглядность и вообще возможность сосредоточиться исключительно на концептуальном понимании модели, а не на написании кода (честно признаюсь, код писать не слишком люблю, и стесняться тут нечего). Но есть же и другие задачи, где мне например R удобнее, например проще какие-то интерактивные дашборды сделать в Shiny, или использовать в R Studio какой-то специфический package для поиска аномалий — всё зависит.

Да, а ещё, отвлекаясь от этих сравнений, хочу заметить, что сам RM позиционирует себя в первую очередь (ну, в одну из самых первых) как платформу для бизнес-аналитики — а это большой плюс для тысяч бизнес-аналитиков, которых кодить вообще не умеют, а им собственно и не надо, благодаря в том числе и визуальным инструментам как RapidMiner и другим подобным.
Условный пример, конечно, но думаю идея понятна — страшны не сами исходные данные, а их возможные преобразования и вынужденное повышение размерности, например.

Тем не менее, чем больше данных на входе — тем все печальней при обработке становится)

Мне в RM лично очень удобна скорость и визуальная простота построения моделей, наглядность и вообще возможность сосредоточиться исключительно на концептуальном понимании модели, а не на написании кода (честно признаюсь, код писать не слишком люблю, и стесняться тут нечего).

Ну, видно у вас такой стиль разработки… у меня фаза построения модели обычно на листе бумаги происходит, а дальше уже в код превращается.

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

Плох тот бизнес-аналитик, который не является математиком, а для математика не должно быть проблем с написанием кода)
А смысл платить за него и привязываться к проприетарному инструменту, если за интерпретатор python или за gcc никто денег вообще не просит?

Вы выводите вопрос в плоскость «opensource vs proprietary». Почему вообще эти глупые люди вокруг платят за софт, а не используют опенсорс? Почему у того же SAS 70 тысяч клиентов, они что дураки все, можно же на R/Python/etc все самому написать? Почему же люди покупают Cloudera и HortonWorks, а не используют Apache Hadoop?
Скорость разработки, удобство использования пользователями, управление правами доступа из коробки, оптимизации производительности, различные бесшовные интеграции из коробки, простота поддержки, разработка силами не ученых и математиков. Можете продолжить список.
Отдельное удовольствие – управлять разработкой команды из ученых и математиков. Я знаю несколько историй с печальным концом, начинавшихся со слов «класс, сейчас мы соберем ВМКшников и ШАДовцев, дадим им данные и будет у нас счастье».
Плох тот бизнес-аналитик, который не является математиком, а для математика не должно быть проблем с написанием кода)

По пальцам одной руки могу пересчитать бизнес-аналитиков, с которыми мне приходилось работать, и которые при этом хорошо владеют «математикой» в своей индустрии. При этом, поверьте, большинство бизнес-аналитиков отлично разбираются в предметной области и знают, что им и для чего нужно.
А хороший математик-программист – в большинстве случаев никудышный бизнес-аналитик.
Поэтому эти роли все нормальные организации и руководители, как правило, разносят если не в разные отделы, то на разных людей точно.
Вы выводите вопрос в плоскость «opensource vs proprietary». Почему вообще эти глупые люди вокруг платят за софт, а не используют опенсорс?

Нет, мне интересно, зачем платить конкретно за эту утилиту, т.к. лично я не нашел в ней ни одного преимущества перед полностью открытыми решениями.
Интересно, а кто-нибудь пользовался Knime? По описанию очень похоже на RapidMiner, но базовая версия без таких неприятных ограничений.
Пользовался. Периодически скачиваю, смотрю как развивается. До такого же детального сравнения я, наверное, не доберусь. Предлагаю скачать и то, и другое и сделать выводы самому.
Лично мое впечатление – я не смог все, что мне было тогда нужно (года полтора назад дело было) реализовать на KNIME. Плюс приходилось костыли городить из базовых блоков и loop'ов на функционал, который, как мне кажется, должен был бы быть в продукте. Я конкретику привести не вспомню сейчас, могу поискать, может где-то стрим сохраненный остался.
Ну и RM приятнее гораздо в работе (имхо, естественно).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий