Вышло большое обновление аналитической платформы Loginom. Появилась поддержка импорта из хранилища данных Deductor Warehouse, добавлены новые и оптимизированы существующие алгоритмы. Для тех пользователей, у которых имеются ранее разработанные на других инструментах алгоритмы, добавлена возможность выполнения кода на JavaScript.
Основные усилия при подготовке релиза были направлены на повышение удобства решения бизнес-задач. Обратная связь от сообщества помогла расставить приоритеты, в результате, в релиз вошли наиболее востребованные пользователями нововведения.
При разработке программных продуктов ни один релиз не обходится без работы над ошибками. В Loginom 6.2 обнаружили и исправили несколько трудно выявляемых и крайне неприятных ошибок, обнаружить которые удалось при тестировании платформы в высоконагруженных проектах.
Для прогнозирования временных рядов наиболее часто используются алгоритмы на основе модели ARIMA. Для решения задачи прогнозирования временных рядов в Loginom была выбрана реализация “Seasonal ARIMA with exogenous variables”, а основное внимание уделялось удобству настройки и применения алгоритма ARIMAX. В большинстве случаев Loginom способен построить достаточно точный прогноз даже с настройками по умолчанию, а для опытного пользователя доступны широкие возможности по детальной настройке параметров работы алгоритма. В итоге можно быстро получить первые результаты и, если потребуется, постепенно улучшать точность работы за счет тонкой настройки.
Многие пользователи Loginom — опытные бизнес-аналитики, имеющие большое количество собственных наработок, реализующих специфичные алгоритмы или бизнес-правила. Специально для таких искушенных пользователей мы добавляем поддержку языков программирования и начинаем с JavaScript. Это один из самых популярных и доступных в изучении языков, с ним знакомо огромное количество специалистов. Но одна из самых важных особенностей — JavaScript работает в «песочнице» и может быть безопасно использован при работе на сервере с множеством пользователей.
Помимо безопасности большое внимание уделялось реализации «прозрачной» интеграции данных, чтобы не было необходимости выгружать данные в отдельные таблицы или файлы. Узел, реализующий выполнение JavaScript кода, работает с точно такими же структурами данных, что и остальные узлы Loginom, никаких дополнительных преобразований данных не требуется.
Не менее важно было добавить возможность использования пользовательских библиотек, в противном случае существующие наработки было бы использовать намного сложнее. Можно подключить внешние библиотеки, разместив содержащие их файлы рядом с пакетом Loginom. Таким образом пользователи могут использовать как собственные, так и сторонние наработки.
Для целей отладки в окне предпросмотра можно увидеть результаты работы, а также консольный вывод с поддержкой различных типов и форматов сообщений.
Loginom — наследник аналитической платформы Deductor, с использованием которого были выполнены сотни проектов, большинство из которых продолжает активно работать. В частности, у многих клиентов используются хранилища данных Deductor Warehouse, позволяющие работать с большими наборами данных с использованием привычных бизнес-терминов. Специально для этих клиентов в Loginom появилась возможность импорта данных из Deductor Warehouse — ещё больше людей сможет использовать преимущества Loginom в своей работе.
Результатом работы аналитика нередко является подготовка отчетов, при этом пользователям отчетности либо просто не нужны, либо совсем не должны быть доступны алгоритмы и сценарии построения этих отчетов. В платформе Deductor (предшественнике Loginom) для этих целей существовало отдельное приложение — Deductor Viewer.
Loginom работает в браузере, поэтому отдельного приложения для просмотра отчетов в нём нет, вместо этого добавлена возможность установки пользователям прав «Просмотр отчетов». Для пользователей-аналитиков, которые разрабатывают отчеты добавлена возможность выводить отдельные визуализаторы на «Панель отчетов». На «Панели отчетов» могут размещаться как отдельные предварительно настроенные визуализаторы, так и «папки» с целыми группами визуализаторов.
Права пользователям устанавливает «Администратор». У пользователя с правами «Просмотр отчетов» есть доступ только к предварительно настроенному набору отчетов.
Добавлена возможность детализации данных в Кубе, которые формируют выделенную ячейку кросс-таблицы. Предусмотрены три способа детализации: таблица, форма, статистика.
Содержимое кросс-таблицы «Куба» можно экспортировать в Excel или HTML-файл.
В фильтре измерений «Куба» к существующему множественному режиму добавлены варианты одиночного и комбинированного выбора, появилась опция интерпретации выделенных значений (включать или исключать), а также оптимизирована работа фильтрации.
Работа с веб-сервисами востребована практически в каждом современном проекте. В Loginom уже была поддержка работы с сервисами через SOAP+WSDL. Это отличный способ интеграции — вы получаете не только данные, но и описание их структуры. При таком варианте взаимодействия достаточно просто реализовать интеграцию с сервисом, есть только один недостаток — передается относительно большой объем данных.
К сожалению, не все сервисы предоставляют возможность работы через SOAP+WSDL. Но существует распространенная альтернатива — протокол REST, на базе которого реализовано огромное количество веб-сервисов.
Теперь в Loginom реализован вызов REST-сервиса. Использование REST не требует наличия WSDL-описания, а сам протокол прост в реализации. Но в отсутствии схемы есть существенный недостаток — сложнее подготавливать запросы и требуется самостоятельно отслеживать изменения, которые могут произойти на стороне сервиса.
Добавлен новый обработчик «Формирование XML», позволяющий сформировать XML из набора данных и отправить его в виде строки в запросе. Такой способ передачи данных нередко встречается при работе с веб-сервисами.
Больше половины запросов бизнеса на автоматизацию можно свести к выбору одного из двух возможных вариантов или по-научному — задаче бинарной классификации (выдать кредит или отказать, отреагирует ли клиент на рекламное сообщение и т.п.), а для таких задач оценка результатов работы алгоритма не менее важна, чем собственно построение модели.
Самый популярный вариант решения этой задачи в Loginom — использование «Логистической регрессии», а результаты её работы теперь можно оценить с помощью визуализатора «Качество бинарной классификации». В нём собраны практически все возможные показатели, которые могут пригодиться для оценки результатов работы построенной модели. Этот отчет — приборная панель для аналитика, которая помогает отслеживать в одном месте все значимые параметры модели и оценить её качество со всех сторон.
Одним из наиболее часто используемых алгоритмов в машинном обучении является линейная регрессия. Этот алгоритм зачастую дает хороший результат даже на небольших наборах данных.
В Loginom для получения первых результатов с использованием обработчика «Линейная регрессия» не требуется никаких специальных настроек. Внутрь уже встроены механизмы автоматического подбора структуры, защита от переобучения с использованием разных методов валидации, а также автоматическое определение значимых факторов. При этом для опытных пользователей доступны дополнительные настройки, а также вариант с детальной настройкой каждого параметра работы алгоритма.
Оценить результаты работы модели можно с помощью специального визуализатора «Отчет по регрессии». В отчете собраны все значимые критерии и индикаторы работы алгоритма, кроме того, можно проследить всю логику построения модели.
Поддерживается сохранение учетных данных пользователя с использованием стандартных механизмов безопасного хранилища браузера. Если используемый браузер поддерживает этот механизм, то пользователь увидит флажок «Запомнить пароль» на стартовой странице.
В обработчике «Вызов веб-сервиса» можно определить дополнительные HTTP-заголовки, передаваемые вместе с запросом. Их настройка производится отдельной страницей мастера.
Входной набор данных больше не является обязательным, узел может быть настроен и выполнен без набора данных, если это не требуется вызываемым сервисом.
При использовании функции Data в «Калькуляторе» можно получать значения выражений, следующих за вычисляемым, но из предыдущей строки.
Добавлена функция CumulativeSum, возвращающая накапливаемую сумму по столбцу, а также функция Stat, возвращающая набор статистик по столбцу.
В «Кластеризации» для дискретных полей можно использовать нормализатор «Индекс уникального значения», а для полей логического типа такой тип нормализации будет установлен по умолчанию.
Стало возможным копировать и вставлять узлы с содержащимися внутри них визуализаторами.
Один из наиболее распространенных вариантов использования кросс-таблиц — преобразование наборов данных «ключ-значение» к табличному виду. В обработчике «Кросс-таблица» для удобства использования добавлена возможность определять имена полей на основе уникальных значений выбранных столбцов исходного набора данных, то есть имена полученных колонок могут быть заданы на основе значений определенного столбца исходного набора (например на основе столбца «ключ» для случая с набором «ключ-значение»). Кроме того, добавлена возможность отключать настройку «Скользящие уникальные значения», что приводит к фиксации выходного набора полей.
Рассмотрим на примере небольшого набора данных о клиентах: идентификатор клиента, Имя, Фамилия, номер телефона и номера карты.
По умолчанию для новых полей будут генерироваться имена состоящие из “С_” и уникального номера.
При включении настройки «Уникальные значения как имена полей» — можно контролировать имена новых полей.
Отключение настройки «Скользящие уникальные значения» будет полезно в том случае, если мы не можем быть уверены в том, что состав и порядок уникальных значений останется неизменным.
Например, если в новом наборе данных будет отсутствовать одно из полей, то при включенной опции в выходном наборе будет отсутствовать это поле, а при отключенной — поле будет присутствовать, хотя и будет содержать пустые значения. Такое поведение полезно, если поле с заданным именем используется в последующих узлах.
При использовании Loginom Integrator в каждой записи серверного лога фиксируется идентификатор обрабатываемого запроса.
В случае возникновения «необработанных» исключений сохраняется подробная информация о возникшей проблеме.
При изменении у полей или переменных свойства «Назначение» учитываются ограничения на типы и виды данных. Ранее могли возникнуть ситуации, когда установка недопустимых «Выходных» полей для узла приводила к невозможности открытия сохраненного с таким узлом пакета.
Результаты работы нейронных сетей почти не поддаются интерпретации, кроме того, для их корректной работы нужно правильно подбирать конфигурацию.
Повлиять на интерпретируемость результатов работы напрямую нельзя, но есть возможность определить степень влияния входных переменных на полученный результат. Для этой цели добавлена оценка значимости входных факторов (столбцов) по отношению к прогнозу каждого из выходных факторов.
Можно избавить пользователя от сложностей настройки и подбора конфигурации за счёт автоматизации. Loginom самостоятельно перебирает и пытается выбрать конфигурацию, которая даст приемлемое качество при минимальной сложности модели.
Для компонентов «EM Кластеризация» и «Самоорганизующиеся сети» включено использование нормализованных источников. Добавлена возможность выбрать поля с видом данных «Дискретный». Они могут быть выбраны в качестве «Используемых». Для таких полей по умолчанию будет назначаться вид нормализации «Индикатор (без опорной категории)».
Доступные виды нормализации:
Для пакета добавлена настройка «Использовать относительные пути базового пакета в производных узлах», определяющая, как интерпретируются относительные пути в узлах, производных от узлов, принадлежащих текущему пакету. Если флаг установлен, то у производных узлов пути рассчитываются относительно «базового» пакета, а в противном случае — относительно пакета, содержащего производный узел.
В качестве параметров командной строки при выполнении отдельного узла можно передавать значения переменных.
Для подключения к веб-сервисам и наборам XSD-схем значения подключаемых переменных могут использоваться для имен XSD и WSDL файлов.
При работе алгоритма разгруппировки с учетом сезонности могут возникнуть ситуации, при которых получаются отрицательные прогнозируемые значения. В предыдущих версиях значения в таких точках обнулялись и фиксировались, сейчас в компоненте «Разгруппировка» у них обнуляется тренд и повторно подбираются оптимальные прогнозные значения.
Более подробную информацию о проблемах разгруппировки можно узнать из записи доклада о прогнозировании в разрезе SKU.
В обработчике «Слияние» появилась новая опция «Добавлять присоединяемые ключевые поля», активация которой позволяет добавить ключевые поля из присоединяемого набора данных в результирующую таблицу.
Нередко возникают случаи, когда пакет нельзя открыть для редактирования из-за блокировки другим пользователем. Для таких случаев добавлена возможность открытия пакетов в режиме «только для чтения». Такая ситуация может возникнуть, если пользователь поделился ссылкой на сценарий, и другой пользователь перешёл по этой ссылке, или если несколько пользователей одновременно попытаются открыть один и тот же пакет.
При открытии пакета в режиме «только для чтения» пользователь увидит предупреждение. Пакет можно редактировать, но нельзя сохранить в файл с тем же именем, доступен только вариант «Сохранить как...».
При создании производного компонента на основе подмодели сохраняется информация о визуализаторах вложенных узлов. При создании нового узла на основе такого производного компонента наследуются все внутренние визуализаторы. При добавлении новых визуализаторов или удалении старых отнаследованные подмодели также обновляются.
Новая страница, на которой пользователь может получить информацию об открытых пакетах, отредактировать их свойства и опубликовать нужный пакет. Кроме того в разделе доступны стандартные действия с пакетами: открыть, закрыть и создать новый.
Номера строк в «Таблице» в исходном наборе данных не отображаются по умолчанию, а ширина колонок с номерами строк автоматически изменяется в зависимости от содержимого. В списке форматов представления данных изменён формат экспоненциальной записи числа.
Содержимое «Таблицы» можно экспортировать в Excel или HTML-файл.
После завершения настройки узла или порта, а также при закрытии окна настройки, восстанавливается фокус и выделение на только что настраивавшемся объекте. Ранее фокус и выделение объекта сбрасывались.
На странице визуализаторов больше не отображаются визуализаторы, которые не совместимы с текущим узлом.
При копировании через «Ctrl+C» значения ячеек таблицы, содержащие двойные кавычки, попадают в буфер обмена без модификации. Ранее такие значения копировались с экранированными двойными кавычками.
При настройке «Фильтра строк» можно выбирать поля через ввод части наименования (быстрый поиск).
Варианты агрегации в «Группировке» и «Таблице в переменные» теперь можно задавать для нескольких полей сразу.
Добавлена возможность определять индексы полей, для которых необходимо считать статистику (ранее считалась для всех полей). Кроме того, существенно доработан алгоритм расчета статистик по колонкам, благодаря чему время выполнения расчетов для больших наборов данных сократилось в десятки раз.
Увеличена скорость работы «Квантования».
Оптимизированы алгоритмы обхода графа узлов модели. Благодаря внесенным изменениям, скорость выполнения подмоделей, содержащих большое количество узлов, выросла в 5-10 раз.
Для того, чтобы пользователям было удобно и комфортно работать с Loginom, мы регулярно работаем над улучшением пользовательских интерфейсов. В текущем релизе также произошло много изменений во внешнем виде платформы.
В боковом меню изменена иконка «Файлового хранилища» на более соответствующую (сетевое хранилище вместо облака), в меню пакетов вместо создания «Временного пакета» теперь можно создать «Черновик», а также теперь можно сохранить или закрыть все открытые пакеты.
В режиме сопоставления полей иконка удаления связи стала более компактной, а удаляемая связь подсвечивается при наведении.
Помимо этого многие иконки переработаны с целью повышения информативности. Например: в обработчике «Слияние» иконки типов слияний (левое, правое, внутреннее и т.д.) стали более различимыми за счет увеличения размера и контраста; переключатели теперь отображают оба состояния — активное и неактивное, иконки типов и видов данных стали более различимы, а узлы сценариев и порты узлов стали более чёткими.
26 сентября в рамках мероприятия «Loginom Day 2018» Алексей Арустамов рассказал об основных изменениях, подготовленных к релизу. Ниже доступна видеозапись выступления и слайды к докладу. Бесплатная версия Loginom 6.2 Academic уже доступна для загрузки.