Обзор одного из первых интерфейсов по машинному обучению.В последние годы развитие Data Science шло неравномерно: новейшие математические методы для создания нейронных сетей со сложной архитектурой появляются буквально ежесезонно и программное обеспечение от них не отстаёт, предоставляя специалистам индустрии большее количество инструментов. В данном случае знание бизнеса представляет собой прикладной смысл и чистый пользовательский опыт, который не успевает адаптироваться к высоким темпам развития двух других областей. Порог реального вхождения в профессию растёт с популяризацией направления.Пришло время для решения данной проблемы: уже некоторое время уважаемые в индустрии специалисты указывали на путь развития Data science и конкретно Machine Learning по упрощению и стандартизации в пользу создания пользовательских интерфейсов. Тенденцию развивает инструмент Igel (нем. «Ёж»), который будет рассмотрен в данной статье.Igel – это инструмент машинного обучения, позволяющий создавать, обучать и оценивать модели без использования языков программирования. Проект находится на раннем этапе разработки и по сути своей демонстрирует концепт того, как в будущем будет выглядеть инструментарий специалиста по Data Science, которому не нужна тонкая настройка модели.Igel работает на основе библиотеки Scikit-learn, которая позволяет обработать данные и решать стандартные задачи машинного обучения (классификация, кластеризация и регрессия). Инструмент поддерживает два способа использования: консольный и простой пользовательский интерфейс (UI), использующий браузер. Далее рассмотрим каждый способ отдельно.Основные функции Igel:Решение задач регрессии/классификации/кластеризации— пока без обработки текста, временных рядов и картинокПоддержка основных методов и моделей ML и их тонкой настройки— в пределах предоставляемого списка параметров (он исчерпывающий)data preprocessing— одно из слабых мест инструмента, грамотная предобработка данных всё ещё требует хорошего кодаCV + GS— доступна кросс-валидация и поиск по сеткеMulti-processing— возможность ведения параллельных вычисленийФорматы yaml/jsonО датасете. Для примерабыла взята стандартная задача по обучению нейрона функции XOR. Для исключения тривиальности и излишней простоты модели были даны условия, в которых требуется использование энкодера в режиме регрессии. Далее приведен сегмент тестового датасета и листа с ответами.Через интерфейс. Предоставленный автором интерфейс для Igel довольно дружелюбен к пользователю, хоть и урезан в большинстве настроек. Для его использования достаточно скачать архив и открыть титульную страницу в браузере.После открытия доступен выбор одной из трёх функций, которые ведут к шаблонам, после подтверждения всех параметров алгоритм выполняется.Достоинства:Доступно человеку с минимальными представлениями о Data ScienceОтсутствие даже формального кодаУдобные шаблоны для операций тренировки, оценки и предсказания модели, которые содержат основные разветвления вариантов использованияПортативностьРекомендуемые параметрыНедостатки:Требуется заранее отформатированный набор данных и начальный файл. yaml модели (программа может создать файл по умолчанию, но он появится где-то в районе system32, опознать его сложно)Доступны не все функции. В частности создание файла модели критически необходимо. Можно отнести все недоработки первой версии инструмента к этому пунктуНет отслеживания прогресса программы, вы можете даже не понять когда она завершилась, потому что предупреждающего окна не будетНет локализацииКонсоль. Это наиболее функциональный и, как ни странно, удобный способ взаимодействия с инструментом. Да, от консольных команд избавиться не получится, зато на большинство команд есть инструкция и формат ввода, которые помогут с выполнением задач.Для установки на компьютер необходимо иметь консоль с полным доступом к pip:pip install igel igel –hДалее пользователю даётся полный справочник по пользованию инструментом. Для большего удобства функции даны в правильной последовательности и для записи всех гиперпараметров имеется шаблон.После использования большинства команд включается интерактивный режим, где пользователь уточняет задачу.Итого для полного выполнения задачи машинного обучения:igel –h (вывод инструкции) igel init (с последующими вопросами – создание файла модели) igel fit -dp ‘C:\prep\data.csv’ -yml ‘C:\prep\model.yaml’ (получили yaml-обученную модель) igel evaluate -dp ‘C:\prep\data_val.csv’ (получили evaluation.json) igel predict -dp ‘C:\prep\data_test.csv’ (получили csv-результат)Достоинства:Полный функционалХорошая инструкция и интерактивный режимВозможна интеграция с используемыми средами (например, Jupyter Notebook)Доступна шкала прогрессаНедостатки:Требуется умение работать в консолиТребуется всё так же предобработанный датасетЛокальные ошибки из-за сырости проектаОтсутствие локализацииВ результате использования Igel можно отметить:Удобство шаблонного использования и возможность интеграции в UIЛёгкий и понятный интерфейсИспользование Scikit-learn для обработки данныхОбязательные и довольно жёсткие условия на формат используемых данных на раннем этапе и малом масштабе разработки.В завершение статьи хочется обратить внимание, что появление интерфейса Igel не просто открывает новый подвид программного обеспечения для специалистов, но также обозначает тенденцию к повышению доступности и «дружелюбности» машинного обучения и отрасли в целом. Не приходится сомневаться, что дальнейшее развитие подобных проектов полностью изменит профессиональную деятельность в Data Science.Источники:Статья автора на MediumIgel на GitHubIgel UI на GitHub
Да, логично. Как и в веб-разработке.
php, фреймворк какой-нибудь, Wordpress, tilda
Да, такие инструменты помогают изучать востребованные направления и тем, кто не сильно погружен в программирование.