Сэмплирование данных

Трудоемкость некоторых алгоритмов Data Mining экспоненциально возрастает с увеличением объема данных и требует часто неприемлемых временных и вычислительных затрат. Поэтому на практике применяется подход, когда построение модели выполняется на выборке данных, в достаточной мере отражающей свойства всей исследуемой совокупности. Процесс формирования такой выборки — сэмплинг, является важнейшим этапом анализа данных. В Loginom это можно сделать с помощью нескольких методов отбора в компоненте Сэмплинг.

В примере показано, как с помощью сэмплинга в 20 раз увеличить скорость обучения нейросети при сохранении качества модели.

Запустить демо

Установить локально

Описание алгоритма

Исходные данные

Импорт данных

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

В узле Параметры полей изменены типы данных для полей PageViews, Bounces, NewVisits.

Задача — классифицировать пользователей по группам каналов (ChannelGrouping).

Проанализировать исходные данные можно с помощью преднастроенного Визаулизатора Статистика. Поля Bounces и NewVisits имеют значения true и null. Эти поля имеют логический тип, вероятнее всего в строках с пропущенными значениями должны быть значения false.

Подготовка данных

Подготовка данных для МО

В узле Калькулятор с помощью функции NVL заменяются пустые значения на false:

NVL(new_visits, false)

NVL(bounces, false)

Далее в сценарии вместо полей new_visits и bounces будут соответственно использоваться new_visits_replace и bounces_replace.

Машинное обучение

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

Машинное обучение

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

Настройки узла Корреляционный анализ:

  • Набор 1 — все поля, кроме ChannelGrouping
  • Набор 2 - поле ChannelGrouping
  • Остальные настройки можно оставить по умолчанию

Результаты выполнения:

Поле 1 Поле 2 Коэффициент Пирсона
SocialEngagementType ChannelGrouping null
Date ChannelGrouping -0,22
PageViews ChannelGrouping -0,07
Visits_ID ChannelGrouping -0,04
Continent ChannelGrouping 0,04
SubContinent ChannelGrouping 0,06
Country ChannelGrouping -0,04
Visits ChannelGrouping null
Hits ChannelGrouping -0,08
Source ChannelGrouping 0,87
Medium ChannelGrouping 0,82
Browser ChannelGrouping 0,10
OperatingSystem ChannelGrouping 0,17
IsMobile ChannelGrouping -0,23
New Visits (replace) ChannelGrouping 0,08
Bounces (replace) ChannelGrouping 0,06

Поля SocialEngagementType и Visits имеют значения null, поэтому не будут использоваться для дальнейшего анализа.

2) Произведен сэмплинг данных с помощью узла Сэмплинг.

Установлены следующие настройки для узла:

  • для параметра Метод сэмплинга — значение Последовательный
  • Размер множества — 20%
  • Остальные настройки можно оставить по умолчанию

После сэмплирования осталось около 180 000 записей из первоначальных 900 000.

3) На следующем этапе настроены 2 одинаковых узла Нейросеть (классификация). На вход первого узла подан полный набор данных, а на вход второго — набор данных после сэмплинга.

Установлены следующие настройки для узлов Нейросеть (классификация):

  • для поля ChannelGrouping — назначение Выходное
  • для остальных полей, кроме SocialEngagementType, Visits, Visits_ID — назначение Входное
  • для поля Date установлен способ нормализации — Стандартизация, для остальных — Индикатор
  • Обучающее множество — 80%, Тестовое — 20%
  • остальные настройки оставлены по умолчанию

Результаты выполнения двух моделей:

Сравнение моделей
Рисунок 1. Сравнение моделей

Результаты обучения узлов остались одинаковы. Однако первый узел выполнялся около 3 часов, а второй — около 10 минут. Количество записей в обучающем множестве экспоненциально увеличивает время обучения модели.


Оценка стоимости недвижимости (Нейросеть)

Методы и алгоритмы сэмплинга в анализе данных

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2 (POPCNT, LZCNT).