Анализ данных и прогнозирование. Дерево решений

Печать (Ctrl+P)

Общая информация о механизме Анализа данных и прогнозирования общего объекта конфигурации АнализДанных можно посмотреть здесь

Анализ = Новый АнализДанных; 

В механизме анализа данных и прогнозирования реализовано несколько типов анализа данных:

В данной статье рассмотрим пример типа анализа
дерево решений

Анализ.ТипАнализа = Тип("АнализДанныхДеревоРешений");

С помощью данного типа анализа можно получить причинно-следственную иерархию условий, приводящую к определенному решению. Например, получить дерево условий, по которому (с определенной долей вероятности) можно понять причину расторжения договоров с клиентами компании, определения условий, влияющих на вариант заключаемого договора. Можно проводить «профилирование» менеджеров компании по различным видам ее клиентов и т. п.

Схематично процесс проведения анализа Дерево решений можно представить следующим образом:

Схема выполнения анализа «Дерево решений»

С точки зрения данного типа анализа колонки источника можно разделить на следующие:

  • НеИспользуемая,
  • Входная,
  • Прогнозируемая.

Используемые параметры анализа:

  • МинимальноеКоличествоСлучаев ‑ минимальное количество элементов в узле;
  • МаксимальнаяГлубина ‑ максимальная глубина дерева;
  • ТипУпрощения ‑ тип упрощения дерева решений.

В результате проведенного анализа можно получить:

  • дерево решений,
  • ошибки классификации.

Для проведения анализа может использоваться фрагмент кода, аналогичный приведенному ниже:

&НаКлиенте
Процедура ДеревоРешений(Команда)
    Результат = АнализДеревоРешений();
КонецПроцедуры
&НаСервереБезКонтекста
Функция АнализДеревоРешений()
    Анализ = Новый АнализДанных;
    Анализ.ТипАнализа = Тип("АнализДанныхДеревоРешений");
    Группа = Справочники.Контрагенты.НайтиПоНаименованию("Юридические лица");
    Запрос = Новый Запрос;
    Запрос.Текст = "
        |ВЫБРАТЬ
        |Контрагенты.Ссылка,
        |Контрагенты.КоличествоРозничныхТочек,
        |Контрагенты.КоличествоАвтомобилей,
        |Контрагенты.ВремяРаботыОрганизации,
        |Контрагенты.ВремяЗаключенияДоговора,
        |Контрагенты.ВидДоговора,
        |Контрагенты.ПрекращениеОтношений
        |ИЗ
        |Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |(Не Контрагенты.ЭтоГруппа И Контрагенты.Родитель = &Родитель)";
    Запрос.УстановитьПараметр("Родитель", Группа);
    Анализ.ИсточникДанных = Запрос.Выполнить();
    Анализ.Параметры.ТипУпрощения.Значение = ТипУпрощенияДереваРешений.НеУпрощать;
    РезультатАнализа = Анализ.Выполнить();
    Построитель = Новый ПостроительОтчетаАнализаДанных();
    Построитель.Макет = Неопределено;
    Построитель.ТипАнализа = Тип("АнализДанныхДеревоРешений");
    ТабДок = Новый ТабличныйДокумент;
    Построитель.Вывести(РезультатАнализа, ТабДок);
    Возврат ТабДок;
КонецФункции

В результате проведения анализа получено следующее дерево решений:

Дерево решений

Данное дерево можно представить в виде следующей схемы:

Представление дерева решения в виде схемы

Ошибки классификации показывают, в каких случаях полученные правила расходятся с действительностью (исходной выборкой данных):

Ошибки классификации

Исходя из приведенных данных, видно, что ошибок в полученной классификации нет, то есть данные в фактической выборке совпадают с данными классификации.

Предыдущий пример получен, исходя из значения НеУпрощать параметра анализа ТипУпрощения. Данное значение параметра задано программно в примере выше. Если установить значение Упрощать параметра, дерево решений примет такой вид:

Дерево решений

Упрощение дерева заключается в том, что по определенным правилам (формулам, которые будут рассмотрены ниже) узлы дерева превращаются в листья (отсекается лишнее ветвление).

При принятии решения о том, будет ли произведено преобразование узла в лист, учитываются следующие показатели:

  • Ошибок ‑ количество ошибок в узле;
  • ОшибокДочерних ‑ количество ошибок в дочерних узлах;
  • Листов ‑ количество листов в узле;
  • Случаев ‑ количество случаев.

В нашем примере для узлов Время работы организации условие выполняется (0,5 < 1).

В связи с использованием упрощений появились и ошибки в классификации, что показано в результате анализа:

Ошибки классификации

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

Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.