ТипКолонкиМоделиПрогноза.Прогнозируемая

Свойства · Predictable

Прогнозируемая колонка модели.

Полное описание, параметры и ограничения

ТипКолонкиМоделиПрогноза.Прогнозируемая (PredictionModelColumnType.Predictable)

ТипКолонкиМоделиПрогноза (PredictionModelColumnType)

Прогнозируемая (Predictable)

Доступен, начиная с версии 8.0.

Описание:
Прогнозируемая колонка модели.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Различить колонки реальной модели: Прогнозируемая

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

Где и как запускать

Сервер своего учебного общего модуля; только шесть обучающих и две новые точки в памяти.

Подготовка

  1. Свой серверный общий модуль учебной обработки. Основной блок без заголовка — тело процедуры ВыполнитьПример() Экспорт, все дополнительные функции / процедуры разместите отдельно на верхнем уровне того же модуля.

  2. Источник создаётся только в памяти: Код Строка, X и Y Число; две группы собственных точек около (0,0) и (10,10). Новые точки A / B не подменяют обучающие шесть строк.

  3. Серверный анализ не требует объектов конфигурации. Клиентские директивы у дополнительных функций отсутствуют намеренно; не смешивайте их с клиентским уроком дендрограммы.

Модель = СвояМодельПрогнозаТочек();
Найдено = 0;
Для Каждого Колонка Из Модель.Колонки Цикл
    Если Колонка.ТипКолонки = ТипКолонкиМоделиПрогноза.Прогнозируемая Тогда
        Найдено = Найдено + 1;
        Сообщить("Колонка Прогнозируемая: " + Колонка.Имя);
    КонецЕсли;
КонецЦикла;
Сообщить("Колонок выбранного типа: " + Строка(Найдено));
Прогноз = Модель.Выполнить();
Для Каждого Точка Из Прогноз Цикл
    Для Каждого Колонка Из Прогноз.Колонки Цикл
        Сообщить(Колонка.Имя + ": " + Строка(Точка[Колонка.Имя]));
    КонецЦикла;
КонецЦикла;
Тот же модуль: реальные шесть обучающих точек
Функция УчебныеТочкиДерева()
    Точки = Новый ТаблицаЗначений;
    Точки.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Точки.Колонки.Добавить("X", Новый ОписаниеТипов("Число"));
    Точки.Колонки.Добавить("Y", Новый ОписаниеТипов("Число"));
    Для Индекс = 0 По 5 Цикл
        Точка = Точки.Добавить();
        Точка.Код = "Учебная точка " + Строка(Индекс + 1);
        База = ?(Индекс < 3, 0, 10);
        Точка.X = База + ?(Индекс % 3 = 2, 1, 0);
        Точка.Y = База + ?(Индекс % 3 = 1, 1, 0);
    КонецЦикла;
    Возврат Точки;
КонецФункции
Тот же модуль: получить реальный параметр анализа
Функция ПараметрУчебногоДерева(Параметры, Русское, Английское)
    Параметр = Параметры.Найти(Русское);
    Если Параметр = Неопределено Тогда
        Параметр = Параметры.Найти(Английское);
    КонецЕсли;
    Если Параметр = Неопределено Тогда
        ВызватьИсключение "Не найден параметр анализа: " + Русское;
    КонецЕсли;
    Возврат Параметр;
КонецФункции
Тот же модуль: отдельные две новые точки
Функция СвоиНовыеТочкиПрогноза()
    Точки = УчебныеТочкиДерева().СкопироватьКолонки();
    Первая = Точки.Добавить();
    Первая.Код = "Новая учебная точка A";
    Первая.X = 0.2;
    Первая.Y = 0.1;
    Вторая = Точки.Добавить();
    Вторая.Код = "Новая учебная точка B";
    Вторая.X = 10.2;
    Вторая.Y = 10.1;
    Возврат Точки;
КонецФункции
Тот же модуль: обучение и привязка входов модели
Функция СвояМодельПрогнозаТочек()
    Анализатор = Новый АнализДанных;
    Анализатор.ТипАнализа = Тип("АнализДанныхКластеризация");
    Анализатор.ИсточникДанных = УчебныеТочкиДерева();
    Колонки = Анализатор.НастройкаКолонок;
    Колонки.Найти("Код").ТипКолонки = ТипКолонкиАнализаДанныхКластеризация.Ключ;
    Колонки.Найти("Код").ВидДанных = ВидДанныхАнализа.Дискретные;
    Для Каждого Имя Из СтрРазделить("X,Y", ",") Цикл
        Колонки.Найти(Имя).ТипКолонки = ТипКолонкиАнализаДанныхКластеризация.Входная;
        Колонки.Найти(Имя).ВидДанных = ВидДанныхАнализа.Непрерывные;
    КонецЦикла;
    ЧислоКластеров = ПараметрУчебногоДерева(Анализатор.Параметры, "КоличествоКластеров", "ClusterCount");
    ЧислоКластеров.Значение = 2;
    Метод = ПараметрУчебногоДерева(Анализатор.Параметры, "МетодКластеризации", "ClusterizationMethod");
    Метод.Значение = МетодКластеризации.ДальняяСвязь;
    Результат = Анализатор.Выполнить();
    Модель = Результат.СоздатьМодельПрогноза();
    Модель.ИсточникДанных = СвоиНовыеТочкиПрогноза();
    Для Каждого Имя Из СтрРазделить("X,Y", ",") Цикл
        Вход = Модель.НастройкаВходныхКолонок.Найти(Имя);
        Вход.КолонкаМоделиПрогноза = Модель.Колонки.Найти(Имя, ТипКолонкиМоделиПрогноза.Входная);
        Вход.КолонкаИсточникаДанных = Модель.Колонки.Найти(Имя, ТипКолонкиМоделиПрогноза.КолонкаИсточникаДанных);
    КонецЦикла;
    НастроитьСвойВыходПрогноза(Модель);
    Возврат Модель;
КонецФункции
Тот же модуль: настоящие исходные и прогнозируемые выходные колонки
Процедура НастроитьСвойВыходПрогноза(Модель)
    Модель.КолонкиРезультата.Очистить();
    Для Каждого Колонка Из Модель.Колонки Цикл
        Если Колонка.ТипКолонки <> ТипКолонкиМоделиПрогноза.Входная Тогда
            Выход = Модель.КолонкиРезультата.Добавить(Колонка);
            Выход.Имя = Колонка.Имя;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Разбор по шагам

  1. Подготовьте полный собственный модуль из приведённых блоков.

  2. Обучите модель, назначьте отдельный источник и два соответствия входов.

  3. Выполните прогноз и прочитайте реальные выходные поля.

Как проверить результат

  1. Входная — признак обученной модели, КолонкаИсточникаДанных — поле новых точек, Прогнозируемая — вычисляемый моделью результат. Совпадающее имя X не делает эти описания одним и тем же объектом.

  2. Динамическое свойство НастройкаВходныхКолонок.X readonly как ссылка на настройку; её КолонкаИсточникаДанных доступна для записи и действительно используется следующим Выполнить.

  3. Номер / идентификатор кластера не является обещанной меткой 1 / 2. Проверяйте принадлежность близких точек, а не конкретную нумерацию. BSL и анализ при сборке HTML не выполнялись.

Ожидаемый результат

Есть полный собственный источник именованных свойств и фактическое применение соответствий в прогнозе.

На что обратить внимание

  1. Не создавайте НастройкаВходныхКолонокМоделиПрогноза фиктивным конструктором и не выбирайте колонку X без её обязательного типа во втором аргументе Найти.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.