Очень интересный вопрос (+1). Хотя мне неизвестно о каких-либо программных инструментах, которые в настоящее время предлагают всеобъемлющие функциональные возможности для разработки функций, в этом отношении , безусловно, существует широкий спектр вариантов. В настоящее время, насколько мне известно, разработка функций по-прежнему в значительной степени трудоемкий и ручной процесс (т. Е. См. Этот пост в блоге ). Говоря о предметной области разработки функций, эта превосходная статья Джейсона Браунли дает довольно полный обзор темы.
Бен Лорика, главный специалист по данным и директор по стратегии контента для данных в O'Reilly Media Inc., написал очень хорошую статью , описывающую современные (по состоянию на июнь 2014 года) подходы, методы, инструменты и стартапы в область автоматизации (или, как он выразился, рационализация ) особенности проектирования.
Я кратко рассмотрел некоторые стартапы, на которые ссылался Бен, и продукт Skytree действительно выглядит довольно впечатляюще, особенно в отношении предмета этого вопроса. Сказав это, некоторые из их заявлений кажутся мне действительно подозрительными (например, «Skytree ускоряет методы машинного обучения в 150 раз по сравнению с опциями с открытым исходным кодом» ). Продолжая говорить о коммерческих предложениях в области науки о данных и машинного обучения, я должен упомянуть о решениях Microsoft, в частности их Azure Machine Learning Studio . Этот веб-продукт является достаточно мощным и элегантным и предлагает некоторые функциональные возможности (FEF). Для примера простого FEF посмотрите это хорошее видео .
Возвращаясь к вопросу, я думаю, что самый простой подход, который можно применить для автоматизации проектирования функций, - это использование соответствующих IDE . Поскольку вы (я тоже) интересуетесь языком R в качестве бэкэнда для науки о данных, я бы предложил, в дополнение к RStudio, проверить еще одну похожую IDE с открытым исходным кодом, которая называется RKWard . Одним из преимуществ RKWard по сравнению с RStudio является то, что он поддерживает написание плагинов для IDE, что позволяет ученым-специалистам автоматизировать разработку функций и оптимизировать анализ данных на основе R.
Наконец, с другой стороны спектра технических решений мы можем найти несколько исследовательских проектов . Похоже, что двумя наиболее заметными из них являются проект Columbus Стэнфордского университета , подробно описанный в соответствующей исследовательской статье , и Brainwash , описанный в этой статье .