Случайная цитата


Свои способности человек может узнать, только попытавшись приложить их. (Сенека)

Как проще внедрять модели, используя новые типы узлов в Workspace

 Данная статья призвана показать преимущества новых типов узлов в STATISTICA Workspace.

Подразумевается, что читатель знаком с устройством STATISTICA Workspace, для получения необходимых знаний можно обратиться к статье How to Navigate the STATISTICA Workspace.

Новые STATISTICA Workspace узлы в сравнении с SVB узлами

Если вы работали с STATISTICA Workspaces, то могли заметить, что в 12-ой версии стало доступно 2 типа узлов;  один из них – SVB узлы, работа с которыми освещена в статье, поэтому мы не будем им уделять внимания в данном тексте. Новые узлы расширяют возможности работы пользователя в workspace, максимально повторяя функциональные возможности меню соответствующих анализов. Ниже вы видите сравнение узла Boosted Trees Classification SVB и нового узла Boosted Classification Trees.

Описание всех деталей реализации новых узлов находится за рамками данной статьи, но обратим внимание на самые яркие преимущества новых узлов над SVB узлами.  Несколько  опций, доступных в новых узлах:

  • Пока узлы не запущены на выполнение, они подсвечиваются желтым фоном.  После запуска подсветка пропадает.
  • Дополнительный функционал, относящийся к иконкам узлов:
    • Узлы можно запускать, нажимая маленький зеленый треугольник в левом нижнем углу иконки.
    • Редактирование параметров доступно путем клика на серое колесико в левом верхнем углу иконки.
    • Отчет о выполнении анализа доступен благодаря специальной метке в правом верхнем углу иконки узла.
    • Данные, полученные в результате обработки,  можно просмотреть, кликнув на метку отчета в правом нижнем углу иконки.
    • Узлы можно соединять посредством желтого ромбика в правой части иконки.
  • Выбор переменных доступен в меню задания параметров узла.
  • Функциональные возможности узлов  максимально сохраняют соответствующие опции интерактивных анализов.  Как вы видели на примере Boosted Classification Trees, представленном выше, есть масса дополнительных опций, позволяющих получить более подробные результаты анализа.
  •  Внедрение (Deployment) реализовано внутри узла.

Пример Deployment для новых узлов

Для этого примера будем использовать исторические банковские данные по плохим (Bad) и хорошим (Good) кредитным заемщикам.  Нашей целью является построение и сравнение  моделей,  предсказывающих к какой категории относится новый клиент: Good или Bad.  Для реализации задуманного мы будем пользоваться Logistic Regression и  Boosted Trees.

Откройте стандартный пример, предоставляемый программой STATISTICA – таблицу под названием creditscoring.sta.

В меню File выберите New, далее вкладку Workspace, нажмите Ok, затем выберите creditscoring.sta. Проверьте, что в  верхней панели меню Workspace выбрано Beta Procedures.

После создания и проверки новых узлов, они становятся доступны для выбора в All Validated Procedures. Узел Boosted Trees Classification в настоящий момент проверен и доступен.
На момент написания статьи узел Logistic Regression находится в процессе тестирования, поэтому его можно выбрать только в рамках Beta Procedures.

В исходной таблице есть переменная под названием Train Test, которая разделяет выборку на две части – обучающую и тестовую. Чтобы использовать данное разбиение при проведении анализа, выполните следующее:

На вкладке Data в группе Manage, кликнете Subset дважды, чтобы создать две подвыборки в workspace. Убедитесь, что получившиеся узлы соединены с исходным. Для дальнейшего использования может быть полезным переименовать узлы согласно выполняемым функциям. Отредактируйте имена узлов  (для этого кликнете правой клавишей мыши на имени узла и выберите Rename) согласно картинке ниже.

Чтобы задать параметры узла, вы можете кликнуть на колесико в правом верхнем углу иконки узла, либо просто двойным кликом по узлу. В пункте Include Cases выберите Specific, selected by. Далее введите выражение, представленное на картинке ниже.

Аналогичные манипуляции проделайте для  узла, отвечающего за тестовую подвыборку.

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

Закройте данную таблицу.

На вкладке Data Mining в группе Trees/Partitioning, кликнете по Boosted Trees и выберите Boosted Classification Trees. На вкладке Statistics, в группе Advanced/Multivariate, выберите Advanced Models > Generalized Linear/Nonlinear  и, затем GLZ Custom Design (beta). Убедитесь, что оба узла присоединены к узлу Training.

Измените параметры узла Boosted Classification Trees, выбрав переменные, как на рисунке ниже.

В диалоговом окне Boosted Classification Trees выберите вкладку Code Generator. Убедитесь, что отмечено только PMML.

Все остальные настройки оставьте по умолчанию, нажмите кнопку OK.

Измените настройки узла GLZ Custom Design (beta). На вкладке Quick, выберите Logitmodel с типом распределения Binomial и функцией связи Logit.

На вкладке Model Specification, выберите те же переменные, что и в узле Boosted Classification Trees, отметьте только PMML на вкладке Code Generator, нажмите OK.

Запустите оба узла. Появится окно предупреждения после выполнения узла логистической регрессии, пропустите его. Более подробно о проблеме zero pivot element, указанной в сообщении можно почитать по ссылке.  После выполнения вычислений рабочее пространство будет выглядеть следующим образом:

Для просмотра результатов построения алгоритмов на обучающей выборке вам следует дважды кликнуть на иконку Reporting Documents. Для этого примера интерес представляют только результаты на тестовой выборке. PMML код, который был сгенерирован в результате анализа, был автоматически загружен в узел PMML Model. Кликните по узлу PMML Model, который соединен с Boosted Classification Trees и выберите вкладку PMML.

Теперь вы можете видеть PMML скрипт, который был сгенерирован узлом Boosted Classification Trees. Закройте диалоговое окно Deployment using PMML.

Соедините узел Testing с узлом Rapid Deployment. Узел Rapid Deployment применит сгенерированные алгоритмы, которые с ним соединены, к тестовой выборке. В данном примере он позволит оценить качество моделей, полученных с помощью Boosted Classification Trees и Logistic Regression на данных из узла Testing.

Запустите узел Testing, убедившись, что корректно определили тестовую выборку.

В узле Rapid Deployment содержится большое число разнообразных опций, среди которых вы можете найти вывод предсказанных вероятностей и построение ROC кривых.

В этом примере мы оставим все настройки по умолчанию, за исключением вывода графика Lift chart. На вкладке Liftchart, отметьте Liftchart (lift value), для категории bad в ниспадающем меню Category of response.

Запустите узел Rapid Deployment, который применит Boosted Trees и Logistic Regression к тестовой подвыборке. В результате выполнения рабочее пространство примет вид:

Для просмотра результатов Rapid Deployment, вы можете либо дважды кликнуть по узлу Reporting Documents, либо нажать на значок  документа в правой верхней части иконки узла Rapid Deployment. После выбора просмотра результатов кликните на таблицу Summaryof Deployment (Error rates) (Testing).

Из данной таблицы следует, что модель Boosted Trees имеет процент неправильно классифицированных клиентов, равный 30.5%, а модель Logistic Regression -  26.3%. Это говорит о том, что на рассмотренных данных модель Logistic Regression с настройками по умолчанию дает лучший результат, чем модель Boosted Trees. В папке результатов выберите lift chart.

Из этого графика видно, что если мы применил оба полученных алгоритма к тестовой подвыборке и возьмем первые 20% (отсортированных по убыванию вероятности Bad) Logistic Regression будет иметь преимущество над случайным выбором приблизительно в 1.9 раза, в то время как Boosted Trees только 1.7. Это подтверждает, что модель Boosted Trees при сохранении настроек по умолчанию на данных нашего примера дает хуже результат, чем Logistic Regression.


В начало