Узел Разбиение
dataset partition big
Общие сведения

Узел Разбиение делит исходную таблицу данных на указанное количество подмножеств и добавляет новую колонку к исходной таблице с указанием подмножества, к которому принадлежит каждая исходная запись. В палитре узлов узел Разбиение находится в разделе Операции с колонками.

Применение узла Разбиение

Цель узла Разбиение — разделить таблицу данных на подмножества. Он может быть использован вместо узлов Выборка и Фильтрация строк. Узел Разбиение определяет, к какому подмножеству относится каждая запись, на основе категориальной колонки. Пользователи могут разбить массив данных на любое количество классов, но чаще всего исходную таблицу разбивают на 2-3 подмножества записей. Записи распределяются по указанным классам в случайном порядке. Это позволяет пользователям создать случайную выборку и сохранить остальные записи исходной таблицы в виде дополнения. Такую операцию невозможно выполнить с помощью узла Выборка.

Обратите внимание на то, что при каждом последующем запуске узел Разбиение может определить одни и те же записи в разные классы. Это происходит в связи с тем, что распределение записей всегда происходит в случайном порядке. Пользователь может регулировать только количество подмножеств записей, которые создаст узел, и размер каждого подмножества относительно других.

Узел Разбиение генерирует новую колонку, которая содержит идентификаторы подмножеств, в которые попала та или иная запись. Эти подмножества записей также называются классами. Каждому классу присваивается уникальный идентификатор.

Например, если мы разбиваем таблицу данных на два класса записей, то записи первого класса обозначаются с помощью ID 1, а записи второго имеют ID 2.

Пользователи могут использовать узел Разбиение для разделения таблицы данных на обучающий и проверочный классы данных путем создания случайной выборки. Далее пользователи могут использовать узел Фильтрация строк, с помощью SRL-выражения выделить те записи, которые попадают в отдельное подмножество, и назвать его "тренировочная таблица данных". Разбиение обычно происходит перед моделированием и после того, как данные загружены, агрегированы и подготовлены, особенно в целях создания обучающего и тренировочного подмножеств данных на основе одной исходной таблицы. Другими словами, некоторые записи целенаправленно "исключаются" из обучающего подмножества данных, которое используется для создания модели, чтобы проверить точность модели с помощью проверочного подмножества.

Например, у нас есть подмножество данных по автомобилям, для которых мы хотим создать модель эффективности использования топлива. Мы импортировали данные в PolyAnalyst (используя CSV-файл или базу данных), собрав статистические данные по автомобилям, среди которых есть данные о среднем количестве расхода топлива. Мы намерены использовать один из узлов прогностического моделирования в PolyAnalyst, например, узел Линейная регрессия.

С помощью узла Разбиение разделим выборку из 1000 автомобилей на два более мелких подмножества: 700 автомобилей для узла Линейная регрессия (случайная выборка), и 300 автомобилей для последующего тестирования модели.

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

Затем мы используем обучающий узел Фильтрация строк для подачи исходных данных в узел Линейная регрессия.

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

Теперь мы можем оценить, насколько хорошо модель прогнозирует эффективность использования топлива для 300 автомобилей, которые специально не были включены в таблицу исходных данных для узла Линейная регрессия. Если модель доказывает свою эффективность на проверочном подмножестве данных (например, имеет низкий R-квадрат), можно сказать, что модель имеет высокую степень генерализации и может быть использована в дальнейшем для прогнозирования значений на новых данных. В таком случае узел Разбиение удобно использовать для создания случайной выборки записей, поскольку при этом оставшиеся записи автоматически попадают в другой класс, который может быть использован для тестирования модели.

Соединения на скрипте

Чтобы выполнить узел Разбиение, необходимо соединение с одним предшествующим узлом, который генерирует таблицу данных, например, узел-источник данных, операции с колонками, строками или таблицами. Выходными данными узла Разбиение является таблица данных, которая может использоваться любым количеством узлов, принимающих в качестве исходных данных таблицу.