SMOTE
Важно!
Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.
Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.
- См. сведения о перемещении проектов машинного обучения из ML Studio (классической) в Машинное обучение Azure.
- См. дополнительные сведения о Машинном обучении Azure.
Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.
Увеличивает количество примеров редкого возникновения в наборе данных, используя избыточную выборку искусственного меньшинства.
Категория: Преобразование или управление данными
Примечание
применимо к: только Машинное обучение Studio (классическая модель)
Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.
Обзор модуля
в этой статье описывается использование модуля смоте в Машинное обучение Studio (классическая модель) для увеличения количества вариантов ундерепресентед в наборе данных, используемом для машинного обучения. SMOTE — лучший способ увеличить количество редких случаев, чем простое дублирование существующих случаев.
Модуль СМОТЕ подключается к несбалансированномунабору данных. Существует множество причин, по которым набор данных может быть несбалансированным. Категория, на которую вы нацелены, может быть очень редким в совокупности, или данные могут просто быть сложными для собраний. Как правило, СМОТЕ используется, когда анализируемый класс находится в представлении.
Модуль возвращает набор данных, который содержит исходные образцы, а также дополнительное количество образцов искусственного меньшинства, зависящее от указанного вами процентного значения.
Подробнее о SMOTE
Смоте означает искусственную избыточную долю миноритария. Это статистический метод для увеличения числа вариантов в наборе данных сбалансированным способом. Модуль работает путем создания новых экземпляров из существующих обращений меньшинства, которые вы вводите в качестве входных данных. Эта реализация SMOTE не меняет количество кейсов большинства.
Новые экземпляры являются не только копиями существующих вариантов миноритария; Вместо этого алгоритм принимает выборки пространства функций для каждого целевого класса и его ближайших соседей, а также создает новые примеры, объединяющие функции целевого варианта с функциями его соседей. Такой подход увеличивает функции, доступные для каждого класса и обобщает выборку.
SMOTE принимает на вход весь набор данных, но увеличивает процент только незначительных наблюдений. Например, предположим, что у вас есть несбалансированный набор данных, где только 1% вариантов имеет целевое значение A (класс миноритария), а 99% вариантов — значение B. Чтобы увеличить процент вариантов доли в два раза больше предыдущего процентного значения, введите 200 для смоте в свойствах модуля.
Примеры
Рекомендуем попробовать использовать модуль SMOTE с меньшим набором данных, чтобы увидеть, как он работает. в следующем примере используется набор данных о пожертвовании крови, доступный в Машинное обучение Studio (классическая модель).
Если добавить набор данных к эксперименту и щелкнуть визуализировать на выходе набора данных, можно увидеть, что из 748 строк или вариантов в наборе данных существует 570 вариантов (76%) для класса 0 и 178 случаев (24%) для класса 1. Хотя это не совсем неравномерное распределение, класс 1 представляет пользователей, которые поддержали кровь, и поэтому эти строки содержат пространство функций , которое необходимо смоделировать.
Чтобы увеличить количество вариантов, можно задать значение смоте в процентах, используя кратные 100, как показано ниже.
Класс 0 | Класс 1 | total | |
---|---|---|---|
Исходный набор данных (эквивалент SMOTE в процентах = 0) |
570 76% |
178 24 % |
748 |
процент SMOTE = 100 | 570 62 % |
356 38 % |
926 |
процент SMOTE = 200 | 570 52% |
534 48 % |
1104 |
процент SMOTE = 300 | 570 44 % |
712 56 % |
1282 |
Предупреждение
Увеличение числа случаев при использовании SMOTE не гарантирует получения более точных моделей. Поэкспериментируйте с разными процентными значениями, наборами признаков и числом ближайших соседей, чтобы узнать, как добавление вариантов влияет на вашу модель.
Как настроить SMOTE
Добавьте модуль СМОТЕ в эксперимент. Модуль можно найти в разделе модули преобразования данных в категории Управление.
Подключение набор данных, который требуется увеличить. Если необходимо указать пространство функций для создания новых вариантов, либо с помощью только определенных столбцов, либо путем исключения некоторых, используйте модуль Выбор столбцов в наборе данных , чтобы изолировать столбцы, которые вы хотите использовать, прежде чем использовать смоте.
В противном случае создание новых вариантов с помощью смоте будет основано на всех столбцах, предоставленных в качестве входных данных.
Убедитесь, что столбец, содержащий метку или целевой класс, помечен как такой.
Если столбец метки отсутствует, используйте модуль изменить метаданные , чтобы выбрать столбец, содержащий метки класса, и выберите Метка в раскрывающемся списке поля .
Модуль смоте автоматически определяет класс миноритария в столбце Метка, а затем получает все примеры для класса миноритария.
В параметре смоте в процентах введите целое число, указывающее целевой процент вариантов доли миноритария в выходном наборе данных. Пример.
Введите 0 (%). Модуль СМОТЕ возвращает тот же набор данных, который вы указали в качестве входных данных, но не добавим новые доли. В этом наборе данных пропорция классов не изменилась.
Введите 100 (%). Модуль СМОТЕ создает новые доли миноритария, добавляя то же количество доли миноритария, которое было в исходном наборе данных. Так как СМОТЕ не увеличивает количество большинства случаев, теперь изменяется пропорция всех вариантов каждого класса.
Введите 200 (%). Модуль удваивает процент случаев меньшинств по сравнению с исходным набором данных. Это не приводит к тому, что количество дел меньшинств в два раза больше, чем раньше. Вместо этого размер набора данных увеличивается таким образом, что количество большинства вариантов остается неизменным, а количество миноритарий увеличивается до тех пор, пока оно соответствует требуемому процентному значению.
Примечание
Используйте только кратные 100 для процента SMOTE.
Используйте параметр число ближайших соседей , чтобы определить размер пространства функций, используемого алгоритмом смоте при построении новых вариантов. Объект ближайший сосед — это строка данных (случай), которая очень похожа на некоторый целевой случай. Расстояние между двумя случаями измеряется путем объединения взвешенных векторов всех признаков.
- Увеличивая количество ближайших соседей, вы получаете возможности из большего числа дел.
- Сохраняя небольшое количество ближайших соседей, вы используете функции, которые больше похожи на те, что в исходной выборке.
Введите значение в текстовое поле случайное начало, если необходимо обеспечить одинаковые результаты при выполнении одного и того же эксперимента с теми же данными. В противном случае модуль создает случайное начальное значение на основе значений тактовых частот процессора при развертывании эксперимента, что может привести к слегка разным результатам при выполнении.
Запустите эксперимент.
Выходные данные модуля — это набор данных, содержащий исходные строки, а также ряд добавленных строк с долями миноритария.
Совет
если вы хотите выяснить, какие новые строки были добавлены, можно воспользоваться модулями преобразования «применить SQL » или « соединение данных ».
Технические примечания
При публикации модели, использующей модуль смоте , удалите смоте из прогнозного эксперимента перед публикацией в качестве веб-службы. Причина заключается в том, что СМОТЕ предназначен для улучшения модели во время обучения и не предназначен для оценки. Если опубликованный прогнозный эксперимент содержит модуль СМОТЕ, может возникнуть ошибка.
Часто можно получить лучшие результаты, если вы примените очистку отсутствующих значений или другие преобразования для исправления данных перед применением СМОТЕ.
Некоторые исследователи просматривают, эффективно ли СМОТЕ для больших или разреженных данных, например, используемых в классификации текста или Genomics. В этом документе есть хорошая сводка по влиянию и теоретической допустимости применения СМОТЕ в таких случаях: благус и Луса: смоте для больших данных несбалансированных классов .
Если СМОТЕ не действует в наборе данных, другие подходы, которые вы можете рассмотреть, включают различные методы для избыточной выборки доли миноритария или недовыборки в большинстве случаев, а также методы ансамблей, которые помогают изучать непосредственно, используя кластеризацию, баггинг или Адаптивное повышение.
Ожидаемые входные данные
Имя | Тип | Описание |
---|---|---|
Примеры | Таблица данных | Набор данных с выборками |
Параметры модуля
Имя | Диапазон | Тип | По умолчанию | Описание |
---|---|---|---|---|
Процент SMOTE | >=0 | Целое число | 100 | Процент избыточности выборки, кратный 100. |
Число ближайших соседей | >= 1 | Целое число | 1 | Количество ближайших соседей, из которых извлекаются признаки для новых случаев |
Случайное начальное значение | Любой | Целое число | 0 | Начальное значение для генератора случайных чисел |
Выходные данные
Имя | Тип | Описание |
---|---|---|
Таблица | Таблица данных | Таблица данных , содержащая исходные образцы, а также дополнительное число образцов искусственного миноритарного класса. Число новых образцов равно (процент SMOTE/100)*T, где T — число образцов классов меньшинства. |