SMOTE

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

Категория: Преобразование или управление данными

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Обзор модуля

В этой статье описывается использование модуля смоте в машинное обучение Azure Studio (классическая модель) для увеличения количества вариантов ундерепресентед в наборе данных, используемом для машинного обучения. СМОТЕ — лучший способ увеличения количества редких случаев, чем просто дублирование существующих вариантов.

Модуль СМОТЕ подключается к несбалансированному набору данных. Существует множество причин, по которым набор данных может быть несбалансированным. Категория, на которую вы нацелены, может быть очень редким в совокупности, или данные могут просто быть сложными для собраний. Как правило, СМОТЕ используется, когда анализируемый класс находится в представлении.

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

Дополнительные сведения о СМОТЕ

Смоте означает искусственную избыточную долю миноритария. Это статистический метод для увеличения числа вариантов в наборе данных сбалансированным способом. Модуль работает путем создания новых экземпляров на основе существующих миноритарных вариантов, которые указываются в качестве входных данных. Эта реализация СМОТЕ не изменяет число большинства случаев.

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

СМОТЕ принимает весь набор данных как входные данные, но увеличивает процентное соотношение только доли миноритария. Например, предположим, что у вас есть несбалансированный набор данных, где только 1% вариантов имеет целевое значение A (класс миноритария), а 99% вариантов — значение B. Чтобы увеличить процент вариантов доли в два раза больше предыдущего процентного значения, введите 200 для смоте в свойствах модуля.

Примеры

Рекомендуем попробовать использовать модуль SMOTE с меньшим набором данных, чтобы увидеть, как он работает. В следующем примере используется набор данных о пожертвовании крови, доступный в Машинное обучение Azure Studio (классическая модель).

Если добавить набор данных к эксперименту и щелкнуть визуализировать на выходе набора данных, можно увидеть, что из 748 строк или вариантов в наборе данных имеется 570 вариантов (76%). из класса 0 и 178 вариантов (24%) класса 1. Хотя это не совсем неравномерное распределение, класс 1 представляет пользователей, которые поддержали кровь, и поэтому эти строки содержат пространство функций , которое необходимо смоделировать.

Чтобы увеличить количество вариантов, можно задать значение смоте в процентах, используя кратные 100, как показано ниже.

Класс 0 Класс 1 total
Исходный набор данных

(эквивалентно смоте в процентах = 0)
570

76%
178

24 %
748
Смоте в процентах = 100 570

62%
356

38%
926
Смоте в процентах = 200 570

52%
534

48 %
1104
Смоте в процентах = 300 570

44%
712

56%
1282

Предупреждение

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

Настройка СМОТЕ

  1. Добавьте модуль СМОТЕ в эксперимент. Модуль можно найти в разделе модули преобразования данных в категории Управление.

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

    В противном случае создание новых вариантов с помощью смоте будет основано на всех столбцах, предоставленных в качестве входных данных.

  3. Убедитесь, что столбец, содержащий метку или целевой класс, помечен как такой.

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

  4. Модуль смоте автоматически определяет класс миноритария в столбце Метка, а затем получает все примеры для класса миноритария.

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

    • Введите 0 (%). Модуль СМОТЕ возвращает тот же набор данных, который вы указали в качестве входных данных, но не добавим новые доли. В этом наборе данных класс пропорции не изменился.

    • Введите 100 (%). Модуль СМОТЕ создает новые доли миноритария, добавляя то же количество доли миноритария, которое было в исходном наборе данных. Так как СМОТЕ не увеличивает количество большинства случаев, теперь изменяется пропорция всех вариантов каждого класса.

    • Введите 200 (%). Модуль удваивает долю доли миноритария по сравнению с исходным набором данных. Это не приводит к удвоению числа таких случаев, как раньше. Вместо этого размер набора данных увеличивается таким образом, что количество большинства вариантов остается неизменным, а количество миноритарий увеличивается до тех пор, пока оно соответствует требуемому процентному значению.

    Примечание

    Используйте только кратные 100 для СМОТЕ в процентах.

  6. Используйте параметр число ближайших соседей , чтобы определить размер пространства функций, используемого алгоритмом смоте при построении новых вариантов. Объект ближайший сосед — это строка данных (случай), которая очень похожа на некоторый целевой случай. Расстояние между двумя случаями измеряется путем объединения взвешенных векторов всех признаков.

    • Увеличивая число ближайших соседей, вы получаете функции в большинстве случаев.
    • Сохраняя число ближайших соседних соседей, вы используете функции, которые более близки к исходным примерам.
  7. Введите значение в текстовое поле случайное начало, если необходимо обеспечить одинаковые результаты при выполнении одного и того же эксперимента с теми же данными. В противном случае модуль создает случайное начальное значение на основе значений тактовых частот процессора при развертывании эксперимента, что может привести к слегка разным результатам при выполнении.

  8. Запустите эксперимент.

    Выходные данные модуля — это набор данных, содержащий исходные строки, а также ряд добавленных строк с долями миноритария.

Совет

Если вы хотите выяснить, какие новые строки были добавлены, можно воспользоваться модулями преобразования «применить SQL » или « соединение с данными ».

Технические примечания

  • При публикации модели, использующей модуль смоте , удалите смоте из прогнозного эксперимента перед публикацией в качестве веб-службы. Причина заключается в том, что СМОТЕ предназначен для улучшения модели во время обучения и не предназначен для оценки. Если опубликованный прогнозный эксперимент содержит модуль СМОТЕ, может возникнуть ошибка.

  • Часто можно получить лучшие результаты, если вы примените очистку отсутствующих значений или другие преобразования для исправления данных перед применением СМОТЕ.

  • Некоторые исследователи просматривают, эффективно ли СМОТЕ для больших или разреженных данных, например, используемых в классификации текста или Genomics. В этом документе есть хорошая сводка по влиянию и теоретической допустимости применения СМОТЕ в таких случаях: благус и Луса: смоте для больших данных несбалансированных классов .

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

Ожидаемые входные данные

Имя Type Описание
Примеры Таблица данных Набор данных с выборками

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Процент SMOTE >= 0 Целое число 100 Процент избыточности выборки, кратный 100.
Число ближайших соседей >= 1 Целое число 1 Количество ближайших соседей, из которых извлекаются признаки для новых случаев
Случайное начальное значение Любой Целое число 0 Начальное значение для генератора случайных чисел

Выходные данные

Имя Type Описание
Таблица Таблица данных Таблица данных , содержащая исходные образцы, а также дополнительное число образцов искусственного миноритарного класса. Число новых образцов равно (процент SMOTE/100)*T, где T — число образцов классов меньшинства.

См. также раздел

Выборка и разбиение
Список модулей в алфавитном порядке