Примеры для 2 классов: Задачи по математике для 2 класса, 3500 занимательных заданий с ответами и решением

Содержание

Математика 2 класс — Kid-mama

Home Математика 2 класс

Числа от 1 до 100

  • Числа и счет от 1 до 100 — Учим числа
  • Напиши соседей числа (числа до 100)  Тренажер
  • Вставь пропущенные числа:
    • в порядке увеличения на 1 — Тренажер
    • в порядке уменьшения на 1 — Тренажер
    • в порядке увеличения на 2 — Тренажер
    • в порядке увеличения и уменьшения на 5 и на 10  — Тренажер
    • определи закономерность и вставь пропущенные числа — Тренажер
  • Десятки и единицы. Разрядный состав числа — Обучающая игра
    • Сколько в числе десятков и сколько единиц?  Тренажер
    • Представь число в виде суммы разрядных слагаемых   Тренажер
    • Запиши число по его разрядному составу  Тренажер
  • Сравни числа до 100 — Тренажер
  • Интерактивная таблица чисел от 1 до 100
  • Интерактивная таблица разрядов и классов
  • Круглые числа
    • Сравни круглые числа — Тренажер
    • Прибавляем десяток к числам от 1 до 100 — Тренажер
    • Вычитаем десяток из чисел до 100 — Тренажер
    • Прибавляем круглые числа — Тренажер
    • Вычитаем круглые числа — Тренажер
    • Сложение и вычитание круглых чисел. Вставь пропущенное число — Тренажер
  • Сложение и вычитание чисел от 1 до 100 (устно) 
  • Сложение и вычитание чисел от 1 до 100 столбиком (письменно)
  • Порядок действий. Скобки. Урок
  • Умножение
    •  Интерактивная таблица умножения,
    • Таблица умножения на 2
         Тренажер,  игра Учим с Лизой 
    • Таблица умножения на 3   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 4   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 5   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 6   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 7   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 8   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 9   Тренажер, игра Учим с Лизой
    • Умножение на все числа — «Медовый марафон», Тренажер, «Бабочки», «Властелин умножения»
    • Таблица умножения. Уравнения. — Игра-тренажер
    • Таблица умножения «наоборот». Деление — Игра-тренажер
    • Викторина по таблице умножения
  • Деление. Тренажер
  • Меры длины — Тренажер
  • Задачи
  • Учим время на часах. Час, минута
  • Площадь. Периметр

Числа от 1 до 100

  • Числа и счет от 1 до 100 — Учим числа
  • Напиши соседей числа (числа до 100)  Тренажер
  • Вставь пропущенные числа:
    • в порядке увеличения на 1 — Тренажер
    • в порядке уменьшения на 1 — Тренажер
    • в порядке увеличения на 2 — Тренажер
    • в порядке увеличения и уменьшения на 5 и на 10  — Тренажер
    • определи закономерность и вставь пропущенные числа — Тренажер
  • Десятки и единицы. Разрядный состав числа — Обучающая игра
    • Сколько в числе десятков и сколько единиц?  Тренажер
    • Представь число в виде суммы разрядных слагаемых
        Тренажер
    • Запиши число по его разрядному составу  Тренажер
  • Сравни числа до 100 — Тренажер
  • Интерактивная таблица чисел от 1 до 100
  • Интерактивная таблица разрядов и классов
  • Круглые числа
    • Сравни круглые числа — Тренажер
    • Прибавляем десяток к числам от 1 до 100 — Тренажер
    • Вычитаем десяток из чисел до 100 — Тренажер
    • Прибавляем круглые числа — Тренажер
    • Вычитаем круглые числа — Тренажер
    • Сложение и вычитание круглых чисел. Вставь пропущенное число — Тренажер
  • Сложение и вычитание чисел от 1 до 100 (устно) 
  • Сложение и вычитание чисел от 1 до 100 столбиком (письменно)
  • Порядок действий. Скобки. Урок
  • Умножение
    •  Интерактивная таблица умножения,
    • Таблица умножения на 2   Тренажер,  игра Учим с Лизой 
    • Таблица умножения на 3   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 4   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 5   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 6   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 7   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 8   Тренажер,  игра  Учим с Лизой
    • Таблица умножения на 9   Тренажер, игра Учим с Лизой
    • Умножение на все числа — «Медовый марафон», Тренажер, «Бабочки», «Властелин умножения»
    • Таблица умножения. Уравнения. — Игра-тренажер
    • Таблица умножения «наоборот». Деление — Игра-тренажер
    • Викторина по таблице умножения
  • Деление. Тренажер
  • Меры длины — Тренажер
  • Задачи
  • Учим время на часах. Час, минута
  • Площадь. Периметр

Sorry, but nothing matched your search terms. Please try again with different keywords.

Контрольные работы по математике для 2 класса за 3 четверть

Тексты контрольных работ по математике за второй класс, третья четверть к учебнику Моро УМК «Школа России» , учебнику Дорофеева «Перспектива».

Итоговая контрольная работа по математике за 3 четверть 2 класс «Школа России»

1 вариант

1. Реши примеры в столбик и выполни проверку.

7+49                   81-67                        90-34

2. Реши задачу.

На одной грядке посеяли 20 семян моркови, а на другой 26 семян. Всего проросло 38 семян. Сколько семян не проросло?

3. Замени умножение сложением.

4 ∙ 6

4. Реши уравнения.

Х+30=67                   х-67=30

5. Найди значение выражения m+34, если m=17, m=6.

6. Начерти квадрат со стороной 15 мм. Найди его периметр.


Итоговая контрольная работа по математике за 3 четверть 2 класс «Школа России»

2 вариант

1. Реши примеры в столбик и выполни проверку.

5+48           82-65                80-43

2. Реши задачу.

Оля сказала маме, что в среду она выучила 15 английских слов, а в четверг ещё 8 слов. К воскресенью она забыла 4 слова. Сколько слов запомнила Оля?

3. Замени умножение сложением.

3 ∙ 5

4. Реши уравнения.

59 +а=70                 70-а=35

5. Найди значение выражения m+56, если m=16, m=9.

6. Начерти квадрат со стороной 25 мм. Найди его периметр.


Итоговая контрольная работа по математике 2 класс, за 3 четверть «Школа России»

1 вариант

1. Реши задачу:

Сколько колёс у 8 велосипедов, если у каждого велосипеда по 2 колеса?

2. Замени умножение сложением и вычисли значение выражений:

31 ∙ 2 =                8 ∙ 5 =             18 ∙ 4 =

10 ∙ 4 =                 3 ∙ 3 =             9 ∙ 1 =

3. Сравни выражения:

15 – 4   *   15 + 15 + 15 + 15                  71 ∙ 5   *   5 ∙ 72

7 ∙ 0   *   0 ∙ 16                                       (24 – 21) ∙ 9   *   2 ∙ 9

23 ∙ 4   *   23 ∙ 2 + 23                             84 ∙ 8 – 84   *   84 ∙ 9

4. Реши уравнения:

14 + х = 52                                 х – 28 = 34

5. Начерти квадрат со стороной 3 см и вычисли сумму длин его сторон.

6 *. Составь и запиши пять двузначных чисел, составленных из цифр 1, 2. 3, 4,  цифры, которых стоят в возрастающем порядке.


Итоговая контрольная работа по математике 2 класс, за 3 четверть «Школа России»

2 вариант

1. Реши задачу:

Сколько чашек на 3 столах, если на каждом стоит по 8 чашек?

2. Замени умножение сложением и вычисли значение выражений:

15 ∙ 4 =                8 ∙ 3 =                  28 ∙ 2 =

10 ∙ 6 =                2 ∙ 2=                    8 ∙ 1 =

3. Сравни выражения:

16 ∙ 3   *   16 + 16 + 16                      68 ∙ 6   *   6 ∙ 68

8 ∙ 0   *   0 ∙ 11                                  (39 – 36) ∙ 9  *  9 ∙ 2

39 ∙ 4   *   39 ∙ 2 + 39                         48 ∙ 7 – 48   * 48 ∙ 8

4. Реши уравнения:

12 + х = 71                                 х – 42 = 17

5. Начерти квадрат со стороной 4 см и вычисли сумму длин его сторон.

6 *. Составь и запиши пять двузначных чисел, составленных из цифр 5, 6, 7, 8,  цифры, которых стоят в возрастающем порядке.


Контрольная работа по математике 2 класс 3 четверть УМК «Перспектива»

1. Реши задачу с краткой записью:

На первой парковке было 53 автомобиля, на второй на 19 больше, чем на первой, а на третьей на 5 меньше, чем на второй. Сколько автомобилей на третьей парковке?

2. Реши примеры, записав их в столбик:

53 + 32 45 + 16

68 – 25 90 – 31

3. Переведи величины:

6 дм = ….

4 дм 2 см = ….

70 см = ….

38 см = ….

4. Начерти незамкнутую ломаную АБСДЕ = 13см, если АБ = 4см, БС = 5 см, а длина СД и ДЕ одинакова. Найди длину последних двух звеньев. Реши числовые выражения:

69 – (44 – 5) 49 + 15 : 3

(45 – 29) : 4 50 : (78 – 68)

10 х (81 – 76) 9 х 2 + 34

(52 + 18) – 9 55 + 4 х 3

5. Реши уравнения:

70 – Х = 26                    Х * 4 = 20


Контрольная работа по математике 2 класс 3 четверть УМК «Перспектива»

1 вариант

1. Задача.

К празднику купили 17 кг груш, а яблок-на 7 кг больше. Сколько всего килограммов фруктов купили к празднику?

2. Реши примеры, записывая вычисления в столбик:

57+37=            86-35=

36+23=            80-56=

65+17=            88-81=

3. Реши уравнения:

64-х=41                       30+х=67

4. Вставь пропущенные числа:

24+( _ — 86)=24                   ( _ -6)+6=90

_+(8 — 8)=9                       34+44- _+30=60

5. Начерти один отрезок длиной 1 дм, а другой на 3 см короче.


Контрольная работа по математике 2 класс 3 четверть УМК «Перспектива»

2 вариант 

1. Задача.

Школьники посадили 14 кустов, а деревьев на 6 меньше. Сколько всего саженцев посадили школьники?

2. Реши примеры, записывая вычисления в столбик:

26+47=             87-25=

44+36=             70-27=

69+17=             44-41=

3. Реши уравнения:

х+40=62                х-17=33

4. Вставь пропущенные числа:

 63+( _ — 72)=63                  ( _ -5)+5=70

 _+(9 — 9)=15                     40+22- _+40=80

5.  Начерти один отрезок длиной 1 дм, а другой на 1 см короче.

 

Темы проектов для 2 класса

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


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

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

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

Темы проектов для 2 класса

Примерные темы исследовательских проектов для 2 класса:


Автомобили современные и старинные.
Аквариум и его обитатели
Война и наша семья
Выращивание кристалла
Генеалогическое дерево моей семьи.
Далеко ли от нас до солнца
Детские фантазии
Жизнь и гибель динозавров на планете Земля.
Защита поступка
Здоровый образ жизни
Здравствуй, школа!
Как мне выбирали имя
Как устроена наша школа
Кактус – колючий друг
Календарь семейных профессий.
Корабли
Лента времени моей семьи.
Любимый мультфильм.
Магия цвета
Мальчики и девочки.
Мое увлечение – старинные автомобили.
Мой город
Мой кот
Моя родословная
Награда в нашем доме
Наш дом. Наш двор
Новогодняя красавица.
Осевая симметрия
Полезная вещь для дома.
Почему высохла лужа
Праздники моей семьи
Профессии нашей мечты.
Профессии наших родителей.
Птицы – наши друзья
Рассказ моей бабушки.(Письмо внуку)
Родной город глазами ребенка
Российские железные дороги
Семейные реликвии
Семейные традиции
Соломенное чудо
Хлеб – всему голова
Цветок, поставленный в шкаф, листок на окне, прикрытый на половину.
Шоколад – вред или польза
О чем может рассказать школьная библиотека.
Символика нашего класса.
Спортивная жизнь семьи.

Темы проектов по Математике для 2 класса

Геометрические фигуры вокруг нас.
Измерения (что меряют, чем меряют).
Математика в Древнем мире.
Узоры и орнаменты на посуде
Единицы измерения в Древней Руси.
Измерение величин
Интересные приспособления для счета.
Кто придумал цифры.
Магические узоры.
Нумерация вокруг нас.
Применение навыков сложения и вычитания в нашей жизни.
Украшение класса узорами.
Числа в пословицах и поговорках.
Числа в спорте
Что за наука математика?
Шифрование местонахождения.

Темы проектов по Чтению для 2 класса

Примерные темы исследовательских проектов для 2 класса:


Ах, лето знойное.
Наши любимые сказки.
Путешествия по сказкам.
Стихи об осени
Унылая пора! Очей очарованье!
Баба Яга – добрая или злая?
Басни
Герои сказок в лепке
Герои сказок в рисунках
Иван -царевич и Иван-дурак.
Коллаж «Заселим улицу сказочными домиками».
Коллаж по теме: «Весна, весна и всё ей радо!»
Кто такой кощей бессмертный
Медведь – сказочный персонаж.
Мои любимые сказки
Моя любимая книга.
Осень в стихотворениях.
Подготовка стенгазеты «Никто не забыт, ничто не забыто.
Постановка спектакля по одной из сказок.
Потешки и прибаутки как малые жанры устного народного творчества.
Сказки народные и литературные
Сказки, загадки, небылицы
Создание костюмов для сказочных персонажей.
Создание сборника загадок.
Создание сборника побасенок.
Создание сборника пословиц и поговорок.
Создание сборника произведений о войне.
Создание сборника сказок об одном из животных (зайце, лисе, медведе, волке).
Создание собственных сказок.
Сочинение собственных произведений малых жанров устного творчества.
Стихи о весне
Считалки и небылицы.
Что значат наши имена.

Темы проектов по Русскому языку для 2 класса

Имя существительное в пословицах и поговорках.
Мои веселые правила
НЕ с глаголом в стихах, пословицах, поговорках.
Разделительный мягкий знак
Сочетания букв ЧК, ЧН, ЩН в словах.
Её величество запятая
Имя прилагательное в пословицах и поговорках.
Исследование слова «Доброта»
Исследование слова «Семья»
Исследование слова «Счастье»
Родственные слова в фольклоре.
Роль ударения в русском языке.

Темы проектов по Окружающему миру для 2 класса

Актуальные темы исследовательских проектов по окружающему миру во 2 классе:


Имена родного края
История в названиях городов мира.
История в названиях рек, морей, океанов.
Как отдыхает моя семья летом.
Мир наших увлечений
Памятники города
Улицы нашего города.
Весенние праздники
Гости из дальних стран.
Дикие животные нашего края.
Домашние животные
Здоровый образ жизни.
Зеленый подоконник.
Зимние забавы
Игры наших дедушек и бабушек.
Игры с семейной тематикой: в дом, в дочки-матери.
Источники шума вокруг нас.
Красная Книга
Мой распорядок дня
Моя родословная.
Музей моего земляка
Наш семейный альбом.
Полезная азбука питания
Прошлое в названиях городов России.
Редкие растения
Рецепты домашней кухни.
Сезонные игры народов разных регионов России и мира.
Семейные путешествия
Страна Светофория
Хищники и травоядные
Чьё имя носит моя улица?

Темы проектов по Технологии и Изо для 2 класса

Изготовление игрушек из полосок бумаги.
Исторический костюм.
Как человек осваивает космос.
Новогодняя мастерская.
От телеги до автомобиля.
Браслетик из бисера
Бусы для снежной бабы
Весенний натюрморт
День защитника Отечества.
День Победы.
День рождения в нашем классе.
Зима, деревья и метель
Кормушка для снегирей
Масленица.
Мой любимый детский журнал
Молочная история
Настольная елочка
Новогодняя маска
Оригами
Открытка для мамы.
Открытка для папы
Подсвечник из тыквы.
Посуда из старины (лепка из пластилина).
Создание коллажа «Моя Родина».
Украшение своими руками.
Фантазия из желудей.
Филимоновская игрушка.
8 Марта.

Перейти к разделу:
Исследовательские работы начальной школы
Темы проектов для начальных классов

Если Вы желаете разместить ссылку на эту страницу, установите у себя на сайте, блоге или форуме один из кодов:

Код ссылки на страницу «Темы проектов для 2 класса»:
<a href=»http://obuchonok.ru/node/2375″ target=»_blank»>Темы проектов для 2 класса</a>

Код ссылки на форум:
[URL=http://obuchonok.ru/node/2375]Темы проектов, 2 класс[/URL]

Если страница Вам понравилась, поделитесь в социальных сетях:

Математика для младших школьников — СУНЦ МГУ

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

А еще сегодня умение решать олимпиадные задачи играет и другую важную практическую роль. Опираясь только на стандартную школьную программу, сложно поступить в хорошую физико-математическую школу (а набор нынче есть даже во 2-й класс, но большая часть школ объявляет набор в 5-е и 6-е классы). Лучшие университеты страны набирают большую часть студентов на программы математической направленности по уровневым олимпиадам. Даже последние задачи из ЕГЭ по профильной математике требуют знаний некоторых тем олимпиадной математики.

Большинство тем наших курсов встречаются на вступительных испытаниях в различные школы России. Некоторые из наиболее сложных задач курсов ранее были включены в варианты известных математических соревнований. Данные дистанционные курсы были успешно опробованы автором на протяжении нескольких лет работы на Очных курсах СУНЦ МГУ.

В каждом курсе по 12 разделов. В каждом разделе 4 части:

  1. Видеолекция и письменный конспект
  2. Задачи для тренировки с ответами
  3. Контрольная работа
  4. Решение контрольной работы

Особенности курса:

  • Подробно разобраны все основные темы. На изучение каждой темы отводится около 2-х недель. Наш курс — это не просто набор задач с последующими разборами. Это полноценные лекции с теоретическим материалом по каждой теме и примерами решения задач.
  • Почти у каждой задачи есть несколько разных решений. В нашем курсе мы будем стараться обсуждать разные способы решения. Плохих решений не бывает — бывают неоптимальные.
  • Крайне важно не только решить задачу, но и записать полностью обоснованное решение. В нашем курсе мы много внимания уделим именно записи решений. В каждом письменном конспекте приведены примеры оформления решений. Если в качестве решения контрольной работы присылать только ответы, то оценка будет низкой.

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

Примеры материалов курса:

Этот курс входит в систему дистанционных платных курсов СУНЦ МГУ, пока нет возможности включить его в бесплатную заочную школу, которая работает только для школьников 7-11 классов.

Вся информация о том, как поступить на курсы, есть на странице https://internat.msu.ru/distantsionnoe-obuchenie/distance-courses/.

Если у Вас есть вопросы, то их стоит направлять на почту [email protected]

Дидактический материал на тему «Примеры вида 12-2, 12-10». (1 класс)

ПРИМЕРЫ СЛОЖЕНИЯ И ВЫЧИТАНИЯ ПРИМЕРЫ СЛОЖЕНИЯ И ВЫЧИТАНИЯ

ВИДА: 10+2, 12–2, 12–10 (1) ВИДА: 10+2, 12–2, 12–10 (1)

ВАРИАНТ 1.

15–10= 12–10=

10+6= 14–4=

16–6= 18–10=

10+2= 10+5=

17–10= 15–5=

ВАРИАНТ 4.

17–7= 14–10=

19–10= 11–1=

12–2= 10+7=

10+8= 13–3=

16–10= 10+3=

ВАРИАНТ 1.

15–10= 12–10=

10+6= 14–4=

16–6= 18–10=

10+2= 10+5=

17–10= 15–5=

ВАРИАНТ 4.

17–7= 14–10=

19–10= 11–1=

12–2= 10+7=

10+8= 13–3=

16–10= 10+3=

ВАРИАНТ 2.

10+9= 18–8=

11–10= 17–10=

14–4= 13–10=

10+4= 10+1=

13–10= 19–9=

ВАРИАНТ 5.

17–7= 15–5=

12–2= 16–10=

13–10= 14–4=

10+8= 15–10=

19–9= 10+6=

ВАРИАНТ 2.

10+9= 18–8=

11–10= 17–10=

14–4= 13–10=

10+4= 10+1=

13–10= 19–9=

ВАРИАНТ 5.

17–7= 15–5=

12–2= 16–10=

13–10= 14–4=

10+8= 15–10=

19–9= 10+6=

ВАРИАНТ 3.

18–8= 16–6=

10+9= 14–4=

17–10= 10+8=

13–3= 14–10=

15–10= 15–5=

ВАРИАНТ 6.

19–10= 12–2=

12–10= 13–10=

17–7= 15–5=

19–9= 16–10=

10+5= 10+4=

ВАРИАНТ 3.

18–8= 16–6=

10+9= 14–4=

17–10= 10+8=

13–3= 14–10=

15–10= 15–5=

ВАРИАНТ 6.

19–10= 12–2=

12–10= 13–10=

17–7= 15–5=

19–9= 16–10=

10+5= 10+4=

Тренажер, 2 класс. Сложение и вычитание вида:34+22, 65-41 worksheet

Advanced search

Content:

Language: AfarAbkhazAvestanAfrikaansAkanAmharicAragoneseArabicAssameseAsturianuAthabascanAvaricAymaraAzerbaijaniBashkirBelarusianBulgarianBihariBislamaBambaraBengali, BanglaTibetan Standard, Tibetan, CentralBretonBosnianCatalanChechenChamorroCorsicanCreeCzechOld Church Slavonic, Church Slavonic,Old BulgarianChuvashWelshDanishGermanDivehi, Dhivehi, MaldivianDzongkhaEweGreek (modern)EnglishEsperantoSpanishEstonianBasquePersian (Farsi)Fula, Fulah, Pulaar, PularFinnishFijianFaroeseFrenchWestern FrisianIrishScottish Gaelic, GaelicGalicianGuaraníGujaratiManxHausaHebrew (modern)HindiHiri MotuCroatianHaitian, Haitian CreoleHungarianArmenianHereroInterlinguaIndonesianInterlingueIgboNuosuInupiaqIdoIcelandicItalianInuktitutJapaneseJavaneseGeorgianKarakalpakKongoKikuyu, GikuyuKwanyama, KuanyamaKazakhKalaallisut, GreenlandicKhmerKannadaKoreanKanuriKashmiriKurdishKomiCornishKyrgyzLatinLuxembourgish, LetzeburgeschGandaLimburgish, Limburgan, LimburgerLingalaLaoLithuanianLuba-KatangaLatvianMalagasyMarshalleseMāoriMacedonianMalayalamMongolianMarathi (Marāṭhī)MalayMalteseBurmeseNauruanNorwegian BokmålNorthern NdebeleNepaliNdongaDutchNorwegian NynorskNorwegianSouthern NdebeleNavajo, NavahoChichewa, Chewa, NyanjaOccitanOjibwe, OjibwaOromoOriyaOssetian, OsseticEastern Punjabi, Eastern PanjabiPāliPolishPashto, PushtoPortugueseQuechuaRomanshKirundiRomanianRussianKinyarwandaSanskrit (Saṁskṛta)SardinianSindhiNorthern SamiSangoSinhalese, SinhalaSlovakSloveneSamoanShonaSomaliAlbanianSerbianSwatiSouthern SothoSundaneseSwedishSwahiliTamilTeluguTajikThaiTigrinyaTurkmenTagalogTswanaTonga (Tonga Islands)TurkishTsongaTatarTwiTahitianUyghurUkrainianUrduUzbekValencianVendaVietnameseVolapükWalloonWolofXhosaYiddishYorubaZhuang, ChuangChineseZulu    Subject:   

Grade/level:    Age: 3456789101112131415161718+

Search: All worksheetsOnly my followed usersOnly my favourite worksheetsOnly my own worksheets

Фронтально и в группах. Полезное дополнение к учебникам по физике линии Александра Васильевича Перышкина

Всё большую популярность среди учителей физики набирает известная линия учебников для 7-9 классов А.В.Перышкина, выпускаемая издательством «Экзамен». Этот комплект учебников включён в Федеральный перечень учебников согласно приказу Министерства просвещения Российской Федерации № 766 от 23 декабря 2020 года. Большим достоинством этой линии учебников является её полная обеспеченность разнообразной учебно-методической литературой.

В список пособий к этой линии входит классический «Сборник задач по физике: 7–9 кл.: к учебникам А.В.Перышкина «Физика. 7 класс», «Физика. 8 класс», «Физика. 9 класс». ФГОС (к новому ФПУ)» автор А.В.Перышкин. В нём собраны 1870 задач по физике по всем темам, которые изучаются в 7–9 классах, а также справочные таблицы необходимые для решения представленных задач. Кроме того, УМК включает в себя тетради для лабораторных работ по физике для 7-го, 8-го и 9-го классов. Авторы Р.Д.Минькова, В.В.Иванова, В.С.Степанов.

Всего в тетрадях за три класса представлено 39 лабораторных работ и 12 дополнительных экспериментальных заданий ОГЭ, на которые стоит обратить особое внимание. По классам лабораторные работы и экспериментальные задания распределены следующим образом:

КлассКоличество работКоличество дополнительных экспериментов
7127
8155
911

Таблица 1

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

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

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

Многие виды деятельности предполагают выполнение школьниками достаточно объемных и сложных операций. Примером является работа по определению выталкивающей силы, в которой авторами предлагается 18 пунктов для ответа (Рис. 1).

 

В восьмом классе экспериментальных работ меньше, но они так же интересны и охватывают материал всего года. Примером могут служить «Изучение испарения жидкостей» или «Создание модели камеры-обскуры». Ряд работ позволяет по-новому взглянуть на обычные приборы. Классический пример приведён на рис. 2.

Рис. 2

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

Рабочие тетради по физике для 7-го, 8-го и 9-го классов за авторством А.В.Перышкина позволяют обратить внимание на важные моменты при изучении физики и отработки решения задач. Издания содержат примеры таких решений.  В рабочих тетрадях особое внимание уделяется системе  СИ в заданиях с 7 класса. Обращается внимание на приставки дольных и кратных единиц измерения в подписях на осях координат. В задачах на гравитацию особое внимание уделяется использованию четных показателей степени 10 под корнем.

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

Тесты по физике для 7-го, 8-го и 9-го классов авторов А.В.Чеботаревой и О.И.Громцевой  подготовлены для всех трёх классов, к одному или двум параграфам учебника. Таким образом, охвачены все изучаемые физические понятия и явления. Задания тестов представлены в формате ОГЭ. Это психологически благоприятно влияет на учащихся, у них нет психологического дискомфорта при выполнении заданий на экзамене в форме ОГЭ. Кроме того, в пособия включены контрольные тесты по главам учебников по 2 варианта.

Сборники Контрольных работ по физике для 7-го, 8-го и 9-го классов также содержат по 2 варианта самостоятельных работ. Вопросы из них можно использовать как для письменного опроса, так и для фронтальной беседы в классе, задания представлены в формате ОГЭ.

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

Например:

Рис. 3

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

Понравились вопросы на соответствие, имеющие прикладной характер (рис. 4).

Рис. 4

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

Методические пособия по физике для 7-го, 8-го и 9-го классов за авторством О.И.Громцевой включают рабочую программу, поурочное планирование с указанием целей, результатов обучения, методическими рекомендациями к каждому уроку, а также тематическое поурочное планирование и примерные варианты контрольных и самостоятельных работ.

Анализ линии учебников для 7-9 классов А.В.Перышкина показывает, что на базе исторически сложившегося содержания физики 7-9 классов удалось создать систему материалов, которые не только соответствуют, но и дополняют друг друга. Наряду с известными лабораторными работами и тестовыми заданиями в систему включены учебные элементы творческой направленности. Ряд заданий позволяет учителю по своему усмотрению их усложнять.

Хотелось бы высказать собственные рекомендации по использованию линии учебников для 7-9 классов А.В.Перышкина. Большой объем учебного и методического материала, как правило, вынуждает учителя изучать его высокими темпами, работая фронтально. В силу возрастных особенностей учащиеся на уроке обычно весьма активны. «Лес рук» – это про них в этом возрасте. Понятно, что далеко не каждый, имея свою точку зрения, может ее высказать вслух, но каждый хочет это. Поэтому в своей практике я активно применяю работу в группах, по 4-5 человек. Так ребята могут обменяться своими мыслями и выработать ответ группы.

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

Работа в группах не ограничивается работой на уроке. Современные средства коммуникации позволяют организовать при дистанционном обучении. Так, в своей работе я активно применяю распределение учащихся по залам в программе ZOOM. Ребятам эта форма так понравилась, что зачастую им предлагается дома самостоятельно организовывать и проводить конференции, работая над домашним заданием. И очень часто предметом рассмотрения являются материалы на базе учебников для 7-9 классов А.В.Перышкина.

Сергей ЮДАКОВ, преподаватель физики лицея №14 имени заслуженного учителя РФ А.М.Кузьмина, Тамбов

Машинное обучение — мультиклассовая классификация с несбалансированным набором данных | by Javaid Nabi

Проблемы классификации и методы повышения производительности

источник [Unsplash]

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

  1. Многоклассовая классификация: Задача классификации с более чем двумя классами; например, классифицировать набор изображений фруктов, которые могут быть апельсинами, яблоками или грушами. Мультиклассовая классификация предполагает, что каждому образцу присваивается одна и только одна этикетка: фрукт может быть либо яблоком, либо грушей, но не тем и другим одновременно.
  2. Несбалансированный набор данных: Несбалансированные данные обычно относятся к проблемам с классификацией, когда классы не представлены одинаково.Например, у вас может быть задача классификации 3-х классов набора фруктов, которые нужно классифицировать как апельсины, яблоки или груши, всего 100 экземпляров. В общей сложности 80 экземпляров имеют класс 1 (апельсины), 10 экземпляров — класс 2 (яблоки), а остальные 10 экземпляров — класс 3 (груши). Это несбалансированный набор данных и соотношение 8:1:1. Большинство наборов классификационных данных не имеют точно одинакового количества экземпляров в каждом классе, но небольшая разница часто не имеет значения. Есть проблемы, когда дисбаланс классов не просто распространен, он ожидаем.Например, наборы данных, подобные тем, которые характеризуют мошеннические транзакции, несбалансированы. Подавляющее большинство транзакций будет относиться к классу «Без мошенничества», и очень небольшое меньшинство будет к классу «Мошенничество».

Набор данных, который мы будем использовать в этом примере, — это знаменитый набор данных «20 ​​групп новостей». Набор данных 20 групп новостей представляет собой набор примерно из 20 000 документов групп новостей, разделенных (почти) равномерно по 20 различным группам новостей. Коллекция из 20 групп новостей стала популярным набором данных для экспериментов с текстовыми приложениями методов машинного обучения, таких как классификация текста и кластеризация текста.

scikit-learn предоставляет инструменты для предварительной обработки набора данных. Дополнительные сведения см. здесь. Количество статей для каждой группы новостей, приведенное ниже, примерно одинаково.

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

Теперь наш несбалансированный набор данных с 20 классами готов для дальнейшего анализа.

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

Последний слой в модели Dense(num_labels, активация = 'softmax') num_labels=20 вместо классов ‘softsigmoid’ Другое изменение в модели связано с изменением функции потерь на loss = ‘categorical_crossentropy’, , что подходит для задач с несколькими классами.

Обучение модели с 20% набором проверки validation_split=20 и использованием verbose=2, мы видим точность проверки после каждой эпохи. Сразу после 10 эпох мы достигаем точности проверки 90%.

Похоже, очень хорошая точность, но действительно ли модель работает хорошо?

Как измерить производительность модели? Предположим, что мы обучаем нашу модель на несбалансированных данных из предыдущего примера фруктов, и, поскольку данные сильно смещены в сторону класса 1 (апельсины), модель превосходит метку класса 1 и предсказывает ее в большинстве случаев. и мы достигаем точности 80%, что на первый взгляд кажется очень хорошим, но при ближайшем рассмотрении может никогда не быть в состоянии правильно классифицировать яблоки или груши.Теперь возникает вопрос: если точность в данном случае не является подходящей метрикой для выбора, то какие метрики использовать для измерения производительности модели?

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

Матрица путаницы — это измерение производительности алгоритма классификации, в котором выходные данные могут быть двух или более классов.

ось x=прогнозируемая метка, ось y, истинная метка

Когда мы внимательно смотрим на матрицу путаницы, мы видим, что классы [ alt.athiesm, talk.politics.misc, soc.religion.christian ], которые имеют очень меньше выборок [65, 53, 86] соответственно действительно имеют очень меньше баллов [0,42, 0,56, 0,65] по сравнению с классами с большим количеством выборок, например [ рек.спорт.хоккей, рек.мотоциклы ]. Таким образом, глядя на матрицу путаницы, можно ясно увидеть, как модель работает при классификации различных классов.

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

Повторная выборка набора данных

Чтобы сделать наш набор данных сбалансированным, есть два способа сделать это:

  1. Недостаточная выборка: Удалить выборки из чрезмерно представленных классов; используйте это, если у вас есть огромный набор данных
  2. Избыточная выборка: Добавьте больше выборок из недостаточно представленных классов; используйте это, если у вас небольшой набор данных

SMOTE (метод избыточной выборки синтетического меньшинства)

SMOTE — это метод избыточной выборки.Он создает синтетические образцы класса меньшинства. Мы используем пакет Python imblearn для избыточной выборки классов меньшинств.

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

Повышена точность проверки с 90 до 94%. Протестируем модель:

Небольшое улучшение точности теста по сравнению с предыдущим (с 87 до 88%).Давайте теперь посмотрим на матрицу путаницы.

Мы видим, что классы [ alt.athiesm , talk.politics.misc , sci.electronics , soc.religion.christian ] улучшили оценки [0,76, 0,58, 0,75, 0,75], чем раньше . Таким образом, модель работает лучше, чем раньше, при классификации классов, хотя точность аналогична.

Еще одна хитрость:

Так как классы несбалансированы, как насчет того, чтобы дать некоторую предвзятость классам меньшинств? Мы можем оценить веса классов в scikit_learn, используя calculate_class_weight и параметр ‘class_weight’ при обучении модели.Это может помочь обеспечить некоторую предвзятость в отношении классов меньшинств при обучении модели и, таким образом, помочь улучшить производительность модели при классификации различных классов.

Precision-Recall — полезная мера успеха предсказания, когда классы сильно несбалансированы. Точность является мерой способности модели классификации идентифицировать только соответствующие точки данных, в то время как отзыв i s является мерой способности модели находить все соответствующие случаи в наборе данных .

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

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

Ниже приведен график точного отзыва для набора данных 20 групп новостей с использованием scikit-learn.

Кривая Precision-Recall

Мы хотели бы, чтобы площадь кривой P-R для каждого класса была близка к 1. За исключением классов 0, 3 и 18, остальные классы имеют площадь выше 0,75. Вы можете попробовать разные модели классификации и методы настройки гиперпараметров, чтобы еще больше улучшить результат.

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

Спасибо за внимание. Код можно найти на Github.

Нежное введение в несбалансированную классификацию

Последнее обновление: 14 января 2020 г.

Прогнозное моделирование классификации включает прогнозирование метки класса для данного наблюдения.

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

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

В этом руководстве вы познакомитесь с прогностическим моделированием несбалансированной классификации.

После прохождения этого урока вы будете знать:

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

Начните свой проект с моей новой книги «Несбалансированная классификация с помощью Python», включающей пошаговых руководств и файлы исходного кода Python для всех примеров.

Начнем.

Нежное введение в несбалансированную классификацию
Фотография Джона Мэйсона, некоторые права защищены.

Обзор учебника

Это руководство разделено на пять частей. они:

  1. Классификация прогнозного моделирования
  2. Несбалансированные проблемы классификации
  3. Причины дисбаланса классов
  4. Вызов несбалансированной классификации
  5. Примеры несбалансированной классификации

Классификация прогнозного моделирования

Классификация — это проблема прогнозного моделирования, которая включает присвоение метки класса каждому наблюдению.

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

— стр. 248, Прикладное прогнозное моделирование, 2013.

Каждый пример состоит как из наблюдений, так и из метки класса.

  • Пример : Наблюдение из домена ( вход ) и связанная метка класса ( выход ).

Например, мы можем собрать размеры цветка и классифицировать виды цветка ( этикетка ) на основе измерений. Количество классов для задачи прогнозного моделирования обычно фиксируется, когда проблема сформулирована или описана, и, как правило, количество классов не меняется.

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

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

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

— стр. 248, Прикладное прогнозное моделирование, 2013.

Например, учитывая измерения цветка ( наблюдение ), мы можем предсказать вероятность ( вероятность ) того, что цветок является примером каждого из двадцати различных видов цветов.

Количество классов для задачи прогнозного моделирования обычно фиксируется, когда проблема сформулирована или описана, и обычно количество классов не меняется.

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

  • Проблема бинарной классификации : Задача прогнозного моделирования классификации, в которой все примеры принадлежат к одному из двух классов.
  • Проблема многоклассовой классификации : Задача прогнозного моделирования классификации, в которой все примеры принадлежат к одному из трех классов.

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

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

  • Набор обучающих данных : ряд примеров, собранных из предметной области, которые включают входные наблюдения и метки выходных классов.

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

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

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

Хотите начать работу с классификацией дисбаланса?

Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).

Нажмите, чтобы зарегистрироваться, а также получить бесплатную электронную версию курса в формате PDF.

Загрузите БЕСПЛАТНЫЙ мини-курс

Несбалансированные проблемы классификации

Количество примеров, принадлежащих каждому классу, можно назвать распределением по классам.

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

То есть, когда распределение классов не является равным или близким к равному, а вместо этого является смещенным или асимметричным.

  • Несбалансированная классификация : Задача прогнозного моделирования классификации, при которой распределение примеров по классам неравномерно.

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

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

— стр. 419, Прикладное прогнозное моделирование, 2013.

Мы называем эти типы проблем « несбалансированная классификация » вместо « несбалансированная классификация ». Несбалансированное относится к распределению классов, которое было сбалансированным и теперь более не сбалансированным, тогда как несбалансированное относится к распределению классов, которое по своей сути несбалансировано.

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

  • Предсказание редких событий.
  • Предсказание экстремальных явлений.
  • Серьезный дисбаланс классов.

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

… дисбаланс классов должен определяться по отношению к конкретному набору данных или распределению. Поскольку метки классов необходимы для определения степени дисбаланса классов, дисбаланс классов обычно оценивается по отношению к распределению обучения.

— стр. 16, Несбалансированное обучение: основы, алгоритмы и приложения, 2013.

Несбалансированность классов в наборе данных принято описывать в терминах соотношения.

Например, проблема несбалансированной бинарной классификации с дисбалансом от 1 до 100 (1:100) означает, что на каждый пример в одном классе приходится 100 примеров в другом классе.

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

Теперь, когда мы знакомы с определением проблемы несбалансированной классификации, давайте рассмотрим некоторые возможные причины того, почему классы могут быть несбалансированными.

Причины дисбаланса классов

Несбалансированность распределения классов в задаче прогностического моделирования с несбалансированной классификацией может иметь множество причин.

Возможно, есть две основные группы причин дисбаланса, которые мы можем захотеть рассмотреть; это выборка данных и свойства домена.

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

  • Смещенная выборка.
  • Ошибки измерения.

Например, возможно, примеры были собраны из узкого географического региона или периода времени, а распределение классов может быть совершенно другим или, возможно, даже собранным другим способом.

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

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

Дисбаланс может быть свойством проблемного домена.

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

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

Вызов несбалансированной классификации

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

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

  • Небольшой дисбаланс . Проблема несбалансированной классификации, при которой распределение примеров в наборе обучающих данных незначительно неравномерно (например, 4:6).
  • Тяжелый дисбаланс . Проблема несбалансированной классификации, когда распределение примеров в обучающем наборе данных неравномерно (например, 1:100 или более).

Большинство современных работ по классовому дисбалансу концентрируются на соотношениях дисбаланса в диапазоне от 1:4 до 1:100.[…] В реальных приложениях, таких как обнаружение мошенничества или химическая информатика, мы можем иметь дело с проблемами с коэффициентом дисбаланса в диапазоне от 1: 1000 до 1: 5000.

— Изучение несбалансированных данных — Открытые проблемы и будущие направления, 2016 г.

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

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

— Страница 19, Изучение несбалансированных наборов данных, 2018 г.

Класс или классы с обильными примерами называются основными или мажоритарными классами, тогда как класс с небольшим количеством примеров (а обычно бывает только один) называется второстепенным или миноритарным классом.

  • Класс большинства : Класс (или классы) в задаче прогностического моделирования с несбалансированной классификацией, которая имеет множество примеров.
  • Класс меньшинства : Класс в задаче прогнозного моделирования с несбалансированной классификацией, который имеет несколько примеров.

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

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

— Изучение несбалансированных данных — Открытые проблемы и будущие направления, 2016 г.

Класс меньшинства труднее предсказать, потому что по определению примеров этого класса немного.Это означает, что модели сложнее изучить характеристики примеров из этого класса и отличить примеры из этого класса от большинства классов (или классов).

Обилие примеров из класса (или классов) большинства может затопить класс меньшинства. Большинство алгоритмов машинного обучения для моделей прогнозирования классификации разрабатываются и демонстрируются на задачах, предполагающих равное распределение классов. Это означает, что наивное применение модели может сосредоточиться только на изучении характеристик множества наблюдений, пренебрегая примерами из класса меньшинства, который на самом деле представляет больший интерес и чьи предсказания более ценны.

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

— Страница vii, Изучение несбалансированных наборов данных, 2018 г.

Несбалансированная классификация не « решена ».

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

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

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

— Изучение несбалансированных данных — Открытые проблемы и будущие направления, 2016 г.

Теперь, когда мы знакомы с проблемой несбалансированной классификации, давайте рассмотрим несколько распространенных примеров.

Примеры несбалансированной классификации

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

Удивительно, что несбалансированная классификация не привлекает больше внимания, чем она.

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

— Страница 2, Несбалансированное обучение: основы, алгоритмы и приложения, 2013 г.

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

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

  • Обнаружение мошенничества.
  • Претензия Прогноз
  • Прогноз по умолчанию.
  • Прогноз оттока.
  • Обнаружение спама.
  • Обнаружение аномалии.
  • Обнаружение выбросов.
  • Обнаружение вторжения
  • Прогноз конверсий.

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

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

Дисбаланс может присутствовать в любом наборе данных или приложении, поэтому специалист-практик должен знать о последствиях моделирования данных такого типа.

— стр. 419, Прикладное прогнозное моделирование, 2013.

Обратите внимание, что большинство, если не все примеры, вероятно, являются проблемами бинарной классификации. Заметьте также, что примеры из класса меньшинства редки, экстремальны, ненормальны или в чем-то необычны.

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

Теперь у нас есть надежный обзор прогнозного моделирования несбалансированной классификации.

Дополнительное чтение

В этом разделе содержится больше ресурсов по теме, если вы хотите углубиться.

Учебники

Книги

Бумаги

Статьи

Резюме

В этом учебном пособии вы обнаружили прогнозное моделирование с несбалансированной классификацией.

В частности, вы узнали:

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

Есть вопросы?
Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.

Разберитесь с несбалансированной классификацией!

Разработка несбалансированных моделей обучения за считанные минуты

…. всего несколькими строками кода Python

Узнайте, как в моей новой электронной книге:
Несбалансированная классификация с Python

Это обеспечивает самообученных учебных пособий и концевых проектов и на: 9002 Метрики производительности , Спогима без привязки , Smote , Пороговое значение , Калибровка вероятности , .
и многое другое…

Использование несбалансированных методов классификации в ваших проектах машинного обучения

Посмотреть, что внутри

Знакомство с методами выборки данных для несбалансированной классификации

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

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

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

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

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

После прохождения этого урока вы будете знать:

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

Начните свой проект с моей новой книги «Несбалансированная классификация с помощью Python», включающей пошаговых руководств и файлы исходного кода Python для всех примеров.

Начнем.

Экскурсия по методам повторной выборки данных для несбалансированной классификации
Фото Бернарда Спрагга. Новая Зеландия, некоторые права защищены.

Обзор учебника

Это руководство разделено на три части; они:

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

Проблема несбалансированного распределения классов

Несбалансированная классификация включает набор данных, в котором распределение классов не равно.

Это означает, что количество примеров, принадлежащих каждому классу в обучающем наборе данных, часто варьируется в широких пределах. Нередки серьезные перекосы в распределении по классам, такие как соотношение 1:10, 1:1000 или даже 1:1000 примеров в классе меньшинства к примерам в классе большинства.

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

— Страница 1, Несбалансированное обучение: основы, алгоритмы и приложения, 2013.

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

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

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

Загвоздка с несбалансированными наборами данных заключается в том, что стандартные алгоритмы обучения классификации часто смещены в сторону классов большинства (известных как «отрицательные»), и поэтому существует более высокий уровень ошибочной классификации в экземплярах классов меньшинства (называемых «положительным» классом).

— Страница 79, Изучение несбалансированных наборов данных, 2018.

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

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

Хотите начать работу с классификацией дисбаланса?

Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).

Нажмите, чтобы зарегистрироваться, а также получить бесплатную электронную версию курса в формате PDF.

Загрузите БЕСПЛАТНЫЙ мини-курс

Сбалансируйте распределение классов с помощью выборки данных

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

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

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

— стр. 3, Несбалансированное обучение: основы, алгоритмы и приложения, 2013 г.

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

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

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

— стр. 427, Прикладное прогнозное моделирование, 2013 г.

Алгоритмы машинного обучения, такие как наивный байесовский классификатор, изучают вероятность наблюдения примеров из каждого класса из обучающего набора данных. Подгонка этих моделей к выборочному обучающему набору данных с искусственно более равномерным распределением классов позволяет им изучить менее предвзятую априорную вероятность и вместо этого сосредоточиться на особенностях (или свидетельствах) каждой входной переменной для различения классов.

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

— стр. 426, Прикладное прогнозное моделирование, 2013.

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

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

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

— стр. 29, Несбалансированное обучение: основы, алгоритмы и приложения, 2013.

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

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

Обзор популярных методов выборки данных

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

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

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

.

— стр. 429, Прикладное прогнозное моделирование, 2013.

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

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

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

— стр. 3, Несбалансированное обучение: основы, алгоритмы и приложения, 2013 г.

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

Приведенный здесь список в основном основан на подходах, доступных в дружественной к scikit-learn библиотеке, называемой несбалансированным-обучением. Более длинный список методов выборки данных см. в главе 5 «Методы предварительной обработки на уровне данных» в книге 2018 года «Обучение на несбалансированных наборах данных».

Какой ваш любимый метод выборки данных?
Я пропустил хороший метод?
Дайте мне знать в комментариях ниже.

Методы передискретизации

Методы передискретизации дублируют примеры в миноритарном классе или синтезируют новые примеры из примеров в миноритарном классе.

Некоторые из наиболее широко используемых и реализованных методов передискретизации включают:

  • Случайная передискретизация
  • Метод передискретизации синтетического меньшинства (SMOTE)
  • Пограничный SMOTE
  • Пограничная передискретизация с SVM
  • Адаптивная синтетическая выборка (ADASYN)

Давайте подробнее рассмотрим эти методы.

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

Самый популярный и, возможно, самый успешный метод передискретизации — SMOTE ; это аббревиатура от Synthetic Minority Oversampling Technique.

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

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

Borderline-SMOTE включает в себя выбор тех экземпляров класса меньшинства, которые были неправильно классифицированы, например, с помощью модели классификации k-ближайших соседей, и создание только синтетических выборок, которые « трудно » классифицировать.

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

Адаптивная синтетическая выборка (ADASYN) — еще одно расширение SMOTE, которое генерирует синтетические выборки, обратно пропорциональные плотности примеров в классе меньшинства. Он предназначен для создания синтетических примеров в областях пространства признаков, где плотность примеров меньшинства низкая, и меньше или нет там, где плотность высока.

Методы недостаточной выборки

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

Некоторые из наиболее широко используемых и реализованных методов недостаточной выборки включают:

  • Случайная неполная выборка
  • Сокращенное правило ближайшего соседа (CNN)
  • Почти промах недовыборки
  • Недостаточная выборка ссылок Tomek
  • Отредактированное правило ближайших соседей (ENN)
  • Односторонний выбор (OSS)
  • Правило уборки территории (NCR)

Давайте подробнее рассмотрим эти методы.

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

Одна группа методов включает в себя выбор надежного и репрезентативного подмножества примеров в мажоритарном классе.

Правило Condensed Nearest Neighbours , или сокращенно CNN, было разработано для уменьшения памяти, необходимой для алгоритма k ближайших соседей. Он работает путем перечисления примеров в наборе данных и добавления их в хранилище только в том случае, если они не могут быть правильно классифицированы текущим содержимым хранилища, и может применяться для уменьшения количества примеров в большинстве классов после всех примеров в меньшинстве. Класс добавлен в магазин.

Почти промах относится к семейству методов, которые используют KNN для выбора примеров из класса большинства. NearMiss-1 выбирает примеры из класса большинства, которые имеют наименьшее среднее расстояние до трех ближайших примеров из класса меньшинства. NearMiss-2 выбирает примеры из класса большинства, которые имеют наименьшее среднее расстояние до трех самых дальних примеров из класса меньшинства. NearMiss-3 включает в себя выбор заданного количества примеров класса большинства для каждого примера в классе меньшинства, которые являются ближайшими.

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

Возможно, наиболее широко известный подход к субдискретизации с удалением называется Tomek Links , изначально разработанный как часть расширения правила сокращенных ближайших соседей. Ссылка Tomek относится к паре примеров в обучающем наборе данных, которые являются ближайшими соседями (имеют минимальное расстояние в пространстве признаков) и принадлежат к разным классам.Ссылки Tomek часто представляют собой неправильно классифицированные примеры, найденные вдоль границы класса, а примеры в большинстве классов удаляются.

Правило Edited Nearest Neighbours , сокращенно ENN, — это еще один метод выбора примеров для удаления. Это правило включает в себя использование k=3 ближайших соседей для поиска тех примеров в наборе данных, которые неправильно классифицированы, и их удаления.

Процедуру ENN можно повторять несколько раз для одного и того же набора данных, что улучшает выбор примеров в мажоритарном классе.Это расширение изначально упоминается как «неограниченное редактирование», хотя чаще его называют «Неоднократно редактируемые ближайшие соседи».

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

Односторонний выбор , или сокращенно OSS, представляет собой метод субдискретизации, сочетающий ссылки Tomek и правило сокращенного ближайшего соседа (CNN).Метод Tomek Links используется для удаления зашумленных примеров на границе класса, тогда как CNN используется для удаления избыточных примеров из внутренней части плотности большинства класса.

Правило очистки соседей , или сокращенно NCR, представляет собой еще один комбинированный метод субдискретизации, который сочетает в себе как правило сокращенного ближайшего соседа (CNN) для удаления избыточных примеров, так и правило отредактированных ближайших соседей (ENN) для удаления зашумленных или неоднозначных примеров.

Комбинации методов

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

Некоторые из наиболее широко используемых и реализованных комбинаций методов выборки данных включают:

  • SMOTE и случайная неполная выборка
  • SMOTE и ссылки Tomek
  • SMOTE и отредактированное правило ближайших соседей

Давайте подробнее рассмотрим эти методы.

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

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

Обычно SMOTE сочетается с методом недостаточной выборки, который выбирает примеры из набора данных для удаления, и процедура применяется к набору данных после SMOTE, позволяя применить шаг редактирования как к меньшинству, так и к большинству классов. Цель состоит в том, чтобы удалить зашумленные точки вдоль границы класса из обоих классов, что, по-видимому, влияет на лучшую производительность классификаторов, подходящих для преобразованного набора данных.

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

Дополнительное чтение

В этом разделе содержится больше ресурсов по теме, если вы хотите углубиться.

Бумаги

Книги

Статьи

Резюме

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

В частности, вы узнали:

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

Есть вопросы?
Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.

Разберитесь с несбалансированной классификацией!

Разработка несбалансированных моделей обучения за считанные минуты

… всего несколькими строками кода Python

Узнайте, как в моей новой электронной книге:
Несбалансированная классификация с Python

Это обеспечивает самообученных учебных пособий и концевых проектов и на: 9002 Метрики производительности , Спогима без привязки , Smote , Пороговое значение , Калибровка вероятности , .
и многое другое…

Использование несбалансированных методов классификации в ваших проектах машинного обучения

Посмотреть, что внутри

Обучение на несбалансированных данных.

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

Обучение модели машинного обучения на несбалансированном наборе данных может создать уникальные проблемы для задачи обучения.Несбалансированные данные обычно относятся к проблеме классификации, когда количество наблюдений в классе распределено неравномерно; часто у вас будет большой объем данных/наблюдений для одного класса (называемого классом большинства ) и гораздо меньше наблюдений для одного или нескольких других классов (называемых классами меньшинства ). Например, предположим, что вы создаете классификатор, чтобы классифицировать транзакцию по кредитной карте как мошенническую или подлинную — у вас, вероятно, будет 10 000 подлинных транзакций на каждую 1 мошенническую транзакцию, это довольно дисбаланс!

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

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

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

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

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

Метрики

При работе с несбалансированными данными стандартные метрики классификации неадекватно отражают производительность ваших моделей. Например, предположим, что вы создаете модель, которая просматривает медицинские записи человека и классифицирует вероятность наличия у него редкого заболевания. Точность 99,5 % может выглядеть великолепно, пока вы не поймете, что она правильно классифицирует 99,5 % здоровых людей как «здоровых», а неправильно классифицирует 0,5 % людей, которые делают больных, как здоровых.Я обсуждал это в своем посте об оценке модели машинного обучения, но здесь я также расскажу о полезных метриках при работе с несбалансированными данными.

Точность определяется как доля релевантных примеров (истинно положительных результатов) среди всех примеров, которые, по прогнозам, принадлежат к определенному классу.

[{\rm{точность}} = \frac{{{\rm{истинные \hspace{2мм} положительные результаты}}}}{{{\rm{истинные \hspace{2мм} положительные положительные + ложные \hspace{2мм} положительные }}}}]

Отзыв определяется как доля примеров, принадлежность которых была предсказана к классу, по отношению ко всем примерам, которые действительно принадлежат этому классу.2} \cdot {\rm{точность}}} \right) + {\rm{отзыв}}}}]

Параметр $\beta$ позволяет нам контролировать компромисс важности между точностью и полнотой. $\beta < 1$ больше фокусируется на точности, а $\beta > 1$ больше фокусируется на отзыве.

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

[{\rm{TPR}} = {\rm{}}\frac{{{\rm{true \hspace{2mm} положительных результатов}}}}{{{\rm{true \hspace{2mm} положительных результатов + false \hspace{2мм} негативы}}}}]

[{\ rm {FPR}} = {\ rm { }} \ frac {{ {\ rm {ложные \ hspace {2 мм} положительные результаты}}}} {{{\ rm {ложные \ hspace {2 мм} положительные + истинные \hspace{2мм} негативы}}}}]

Для классификаторов, которые производят только результаты факторов (т. е. непосредственно выводят класс), существуют фиксированные TPR и FPR для обученной модели. Однако другие классификаторы, такие как логистическая регрессия, способны давать вероятностные результаты (т.вероятность того, что данное наблюдение принадлежит к положительному классу). Для этих классификаторов мы можем указать порог вероятности, выше которого мы будем предсказывать, что наблюдение относится к положительному классу.

Кредит изображения и Кредит изображения

Если мы установим очень низкое значение для этого порога вероятности, мы можем увеличить нашу истинную положительную долю, так как у нас будет больше шансов зафиксировать все положительные наблюдения. Однако это также может привести к ряду ложноположительных классификаций, увеличивая наш показатель ложноположительных результатов.Интуитивно существует компромисс между максимизацией нашего истинного положительного показателя и минимизацией нашего ложноположительного показателя. Идеальная модель правильно идентифицирует все положительные наблюдения как принадлежащие к положительному классу (TPR=1) и не будет неправильно классифицировать отрицательные наблюдения как принадлежащие к положительному классу (FPR=0).


Изображение предоставлено

Этот компромисс можно визуализировать в этой демонстрации, в которой вы можете настроить распределение классов и порог классификации.

Площадь под кривой (AUC) — это метрика с одним значением, для которой делается попытка обобщить кривую ROC для оценки качества классификатора. Как следует из названия, эта метрика аппроксимирует площадь под ROC-кривой для данного классификатора. Напомним, что идеальная кривая как можно ближе охватывает верхний левый угол, что дает нам возможность идентифицировать все истинные положительные результаты, избегая при этом ложных срабатываний; эта идеальная модель будет иметь AUC, равную 1. С другой стороны, если бы ваша модель была не лучше, чем случайное предположение, ваши TPR и FPR будут увеличиваться параллельно друг другу, что соответствует AUC, равному 0.5.

  импортировать matplotlib.pyplot как plt
из sklearn.metrics импортировать roc_curve, roc_auc_score

предс = модель.прогноз(X_test)
fpr, tpr, пороги = roc_curve (y_test, preds, pos_label = 1)

auc = roc_auc_score (y_test, pres)

рис, топор = plt.subplots()
ax.plot(fpr, tpr)
ax.plot([0, 1], [0, 1], color='темно-синий', linestyle='--', label='random')
plt.title(f'AUC: {auc}')
ax.set_xlabel('Ложноположительный показатель')
ax.set_ylabel('Истинный положительный показатель')
  

Вес класса

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

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

  из sklearn.utils.class_weight импорта calculate_class_weight
веса = вычислить_класс_вес («сбалансированный», классы, у)
  

В древовидной модели, где вы определяете оптимальное разделение в соответствии с некоторыми показателями, такими как снижение энтропии, вы можете просто масштабировать энтропийную составляющую каждого класса с помощью соответствующего веса, чтобы сделать больший упор на классы меньшинства.{} {p_i}{\log}\left( {{p_i}} \right) $$

, где $p_i$ — доля точек данных в классе $i$.

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

$$ -\sum_i y_i \log \hat{y}_ i $$

, где $y_i$ представляет собой истинный класс (обычно вектор с горячим кодированием), а $\hat{y}_ i$ представляет предсказанное распределение классов.

Передискретизация

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

Случайная передискретизация

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

СМОТРЕТЬ

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

Для заданного наблюдения $x_i$ создается новое (синтетическое) наблюдение путем интерполяции между одним из k ближайших соседей, $x_{zi}$.

$$x_{новый} = x_i + \lambda (x_{zi} — x_i)$$

, где $\lambda$ — случайное число в диапазоне $\left[ {0,1} \right]$. Эта интерполяция создаст выборку на линии между $x_{i}$ и $x_{zi}$.

Изображение предоставлено

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

  1. обычный : Нет правил выбора, случайным образом выбираются все возможные $x_i$.
  2. borderline : Разделяет все возможные $x_i$ на три класса, используя k ближайших соседей каждой точки.
    • шум : все ближайшие соседи принадлежат к другому классу, чем $x_i$
    • в опасности : по крайней мере половина ближайших соседей принадлежит к тому же классу, что и $x_i$
    • сейф : все ближайшие соседи принадлежат к тому же классу, что и $x_i$
  3. svm : использует классификатор SVM для определения опорных векторов (выборки, близкие к границе решения) и выборки $x_i$ из этих точек.
АДАСИН
Выборка

Adaptive Synthetic (ADASYN) работает аналогично SMOTE, однако количество выборок, сгенерированных для данного $x_i$, пропорционально количеству соседних выборок, которые не принадлежат к тому же классу, что и $x_i$. . Таким образом, ADASYN имеет тенденцию сосредотачиваться исключительно на выбросах при создании новых синтетических обучающих примеров.

Недостаточная дискретизация

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

Случайная недостаточная выборка

Как и в случае передискретизации, наивной реализацией было бы просто случайным образом выбирать большинство классов до тех пор, пока не будет достигнуто такое же количество наблюдений, что и в классах меньшинства. Например, если в вашем классе большинства имеется 1000 наблюдений, а в классе меньшинства — 20 наблюдений, вы должны собрать обучающие данные для класса большинства, выбрав случайным образом 20 наблюдений из исходной 1000. Как и следовало ожидать, потенциально это может привести к удалению ключевых характеристик большинства классов.

Почти промах

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

NearMiss-1 выбрать образцы из класса большинства, для которых среднее расстояние N ближайших образцов класса меньшинства наименьшее.


Изображение предоставлено

NearMiss-2 выбрать образцы из класса большинства, для которых среднее расстояние N самых дальних образцов класса меньшинства наименьшее.


Изображение предоставлено

Ссылки Томекс

Ссылка Томека определяется как два наблюдения разных классов ($x$ и $y$), таких, что нет примера $z$, для которого:

$$d(x, z) < d(x, y) \text{ или } d(y, z) < d(x, y)$$

, где $d()$ — расстояние между двумя образцами. Другими словами, связь Томека существует, если два наблюдения разных классов являются ближайшими соседями друг друга. На рисунке ниже ссылка Томека показана путем выделения интересующих образцов зеленым цветом.


Изображение предоставлено

Для этой стратегии недостаточной выборки мы удалим все наблюдения из мажоритарного класса , для которых идентифицирована связь Томека. В зависимости от набора данных этот метод на самом деле не позволит достичь баланса между классами — он просто «очистит» набор данных, удалив некоторые зашумленные наблюдения, что может привести к более легкой проблеме классификации. Как я уже говорил ранее, большинство классификаторов по-прежнему будут адекватно работать с несбалансированными наборами данных, если существует четкое разделение между классификаторами.Таким образом, сосредоточившись на удалении зашумленных примеров класса большинства, мы можем улучшить производительность нашего классификатора, даже если мы не обязательно уравновешиваем классы.

Отредактированы ближайшие соседи

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

Это тот же подход, что и ссылки Томека, в том отношении, что мы не обязательно сосредоточены на фактическом достижении баланса классов, мы просто пытаемся удалить зашумленные наблюдения, пытаясь упростить задачу классификации.

Пример

Чтобы продемонстрировать эти различные методы, я обучил несколько моделей на наборе данных UCI Wine Quality, где я сгенерировал свою цель, утверждая, что наблюдения с оценкой качества менее или равной 4 являются вином «низкого качества» и наблюдениями. с оценкой качества выше или равной 5 являются «высококачественными» винами.

Как видите, это внесло дисбаланс между двумя классами.

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

Дерево решений
Передискретизация

Недостаточная дискретизация

Случайный лес
Передискретизация

Недостаточная дискретизация

Логистическая регрессия
Передискретизация

Недостаточная дискретизация

SVM-классификатор
Передискретизация

Недостаточная дискретизация

КНН
Передискретизация

Недостаточная дискретизация

Классификатор AdaBoost
Передискретизация

Недостаточная дискретизация

Простая нейронная сеть
Передискретизация

Недостаточная дискретизация

Дальнейшее чтение

Обучение на несбалансированных классах — наука о данных Силиконовой долины

Возвращение в четверг  | 16 ноября 2017 г.

Примечание редактора: Добро пожаловать в «Возвратные четверги»! Каждый третий четверг месяца мы публикуем классическую публикацию из первых дней существования нашей компании, слегка обновляемую по мере необходимости.Мы по-прежнему находим их полезными, и мы думаем, что вы тоже! Исходный пост можно найти здесь.

Если вы только что закончили курс машинного обучения, скорее всего, большинство наборов данных, которые вы использовали, были довольно простыми. Среди прочего, когда вы строили классификаторы, примеры классов были сбалансированными , то есть было примерно одинаковое количество примеров каждого класса. Преподаватели обычно используют очищенные наборы данных, чтобы сосредоточиться на обучении конкретным алгоритмам или методам, не отвлекаясь на другие вопросы.Обычно вам показывают примеры, подобные рисунку ниже, в двух измерениях, с точками, представляющими примеры, и разными цветами (или формами) точек, представляющих класс:

Цель алгоритма классификации состоит в том, чтобы попытаться изучить разделитель (классификатор), который может их различать. Есть много способов сделать это, основанных на различных математических, статистических или геометрических предположениях:

Но когда вы начинаете смотреть на настоящие неочищенные данные, первое, что вы замечаете, это то, что они намного более шумные и несбалансированные .Диаграммы рассеяния реальных данных часто выглядят примерно так:

Основная проблема в том, что эти классы несбалансированы: количество красных точек намного меньше, чем синих.

Исследования несбалансированных классов часто считают несбалансированным класс меньшинства от 10% до 20%. На самом деле наборы данных могут быть гораздо более несбалансированными. — Вот несколько примеров:

  1. Около 2% счетов кредитных карт ежегодно мошеннически 1 . (Большинство доменов обнаружения мошенничества сильно несбалансированы.)
  2. Медицинский скрининг на наличие какого-либо заболевания обычно проводится среди большого числа людей, не страдающих этим заболеванием, для выявления небольшого меньшинства с ним (например, распространенность ВИЧ в США составляет ~0,4%).
  3. Отказы жестких дисков составляют приблизительно ~1% в год.
  4. По оценкам, коэффициент конверсии интернет-рекламы находится в диапазоне от 10 -3 до 10 -6 .
  5. Уровень заводского брака обычно составляет около 0,1%.

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

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

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

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

Примечание. Цель этой записи в блоге — дать понимание и конкретные советы о том, как решать такие проблемы.Однако это не учебник по программированию, который шаг за шагом проведет вас по коду. У меня есть Jupyter Notebooks (также ссылка в конце поста), которые пригодятся для экспериментов с этими идеями, но в этом посте я объясню некоторые фундаментальные идеи и принципы.

Обработка несбалансированных данных

Обучение на несбалансированных данных активно изучается в области машинного обучения уже около двух десятилетий. Это было предметом многих статей, семинаров, специальных сессий и диссертаций (недавний обзор содержит около 220 ссылок).Было опробовано огромное количество методов с разными результатами и несколькими четкими ответами. Специалисты по данным, сталкивающиеся с этой проблемой впервые, часто задают вопрос Что делать, если мои данные несбалансированы? На этот вопрос нет однозначного ответа по той же причине, что и на общий вопрос Какой алгоритм обучения лучше? не имеет однозначного ответа: это зависит от данных.

Тем не менее, вот примерный обзор полезных подходов. Они перечислены примерно в порядке усилий:

  • Ничего не делать.Иногда везет и ничего делать не надо. Вы можете тренироваться на так называемом естественном (или стратифицированном ) распределении, и иногда оно работает без необходимости модификации.
  • Каким-то образом сбалансируйте тренировочный набор:
    • Передискретизируйте класс меньшинства.
    • Недостаточная выборка мажоритарного класса.
    • Синтезировать новые классы меньшинств.
  • Отбросьте примеры меньшинств и переключитесь на систему обнаружения аномалий.
  • На уровне алгоритма или после него:
    • Скорректировать вес класса (затраты на неправильную классификацию).
    • Скорректируйте порог принятия решения.
    • Изменить существующий алгоритм, чтобы он был более чувствителен к редким классам.
  • Разработайте совершенно новый алгоритм, который будет хорошо работать с несбалансированными данными.

Отступление: оценка того, что можно и чего нельзя делать

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

  1. Не используйте точность (или частоту ошибок) для оценки вашего классификатора! С ним есть две существенные проблемы. Точность применяет наивный порог 0,50 для выбора между классами, и это обычно неверно, когда классы несбалансированы. Во-вторых, точность классификации основана на простом подсчете ошибок, и вы должны знать больше. Вы должны знать, какие классы путают и где (в верхней части оценок, в нижней части, повсюду?). Если вы не понимаете эти моменты, может быть полезно прочитать Основы оценки классификатора, часть 2.Вы должны визуализировать производительность классификатора, используя кривую ROC, кривую точного отзыва, кривую подъема или кривую прибыли (прироста).

    ROC-кривая

  2. Не получайте жестких классификаций (меток) от вашего классификатора (через оценка 3 или предсказать ). Вместо этого получите оценки вероятности с помощью proba или predict_proba .
  3. Когда вы получаете оценки вероятности, не используйте слепо порог принятия решения 0,50 для разделения классов.Посмотрите на кривые производительности и решите для себя, какой порог использовать (подробнее об этом см. в следующем разделе). В ранних работах было сделано много ошибок, потому что исследователи наивно использовали 0,5 в качестве порога.
  4. Независимо от того, что вы делаете для обучения, всегда проверяйте естественное (стратифицированное) распределение, с которым будет работать ваш классификатор. См. sklearn.cross_validation.StratifiedKFold .
  5. Без вероятностных оценок можно обойтись, но если они нужны, используйте калибровку (см. sklearn.калибровка.CalibratedClassifierCV )

Двумерные графики в первом списке выше всегда более информативны, чем одно число, но если вам нужна одночисловая метрика, то предпочтительнее точность:

  1. Площадь под ROC-кривой (AUC) — хороший общий статистический показатель. Он равен вероятности того, что случайный положительный пример будет ранжирован выше случайного отрицательного примера.
  2. Оценка F1 представляет собой гармоническое среднее значение точности и полноты.Он обычно используется при обработке текста, когда требуется совокупная мера.
  3. Каппа Коэна — это оценочный статистический показатель, учитывающий вероятность совпадения при случайном совпадении.

Избыточная и недостаточная выборка

Самые простые подходы требуют незначительных изменений в этапах обработки и просто включают корректировку наборов примеров до тех пор, пока они не будут сбалансированы. Передискретизация случайным образом воспроизводит экземпляры меньшинства для увеличения их популяции. Недостаточная выборка случайным образом понижает выборку мажоритарного класса.Некоторые специалисты по данным (наивно) думают, что избыточная выборка лучше, потому что она дает больше данных, тогда как недостаточная выборка отбрасывает данные. Но имейте в виду, что репликация данных не лишена последствий — поскольку она приводит к дублированию данных, переменные кажутся более низкими, чем они есть на самом деле. Положительным следствием является дублирование количества ошибок: если классификатор делает ложноотрицательную ошибку в исходном наборе данных меньшинства, и этот набор данных повторяется пять раз, классификатор сделает шесть ошибок в новом наборе.И наоборот, недостаточная выборка может привести к тому, что независимые переменные будут выглядеть так, как будто они имеют более высокую дисперсию, чем они есть на самом деле.

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

Большинство пакетов машинного обучения могут выполнять простую корректировку выборки. Пакет R unbalanced реализует ряд методов выборки, характерных для несбалансированных наборов данных, и scikit-learn.cross_validation имеет базовые алгоритмы выборки.

Байесовский аргумент Wallace et al.

Возможно, лучший теоретический аргумент — и практические советы по поводу — дисбаланса классов был выдвинут в статье Дисбаланс классов, Redux , Уоллеса, Смола, Бродли и Трикалиноса 4 . Они выступают за недостаточную выборку класса большинства. Их аргументация математическая и тщательная, но здесь я приведу только пример, который они используют, чтобы доказать свою точку зрения.

Они утверждают, что два класса должны быть различимы в хвосте некоторого распределения некоторой объясняющей переменной.Предположим, у вас есть два класса с одной зависимой переменной x . Каждый класс порождается гауссианом со стандартным отклонением 1. Среднее значение класса 1 равно 1, а среднее значение класса 2 равно 2. Мы будем произвольно называть класс 2 мажоритарным классом. Выглядят они так:

Учитывая значение x , какое пороговое значение вы бы использовали, чтобы определить, к какому классу оно относится? Должно быть ясно, что наилучшая линия разделения между ними находится в их средней точке, x = 1.5, показанной вертикальной линией: если новый пример x подпадает под 1,5, он, вероятно, относится к классу 1, в противном случае — к классу 2. Изучая примеры, мы надеемся, что получим отсечку дискриминации на уровне 1,5, и если классы равномерно сбалансированы вот примерно то, что должно получиться. Точки на оси x показывают выборки, сгенерированные из каждого распределения.

Но мы сказали, что класс 1 является классом меньшинства, поэтому предположим, что у нас есть 10 образцов из него и 50 образцов из класса 2.Вероятно, мы узнаем смещенную разделительную линию, например:

.

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

Итак, последний шаг — использовать пакетирование для объединения этих классификаторов. Весь процесс выглядит так:

Этот метод не был реализован в Scikit-learn, хотя файл с именем blabbing.Доступен py (сбалансированный пакет), который реализует BlaggingClassifier, который уравновешивает образцы с начальной загрузкой перед агрегированием.

Подходы на основе соседей

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

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

Алгоритм Томека ищет такие пары и удаляет большинство экземпляров пары. Идея состоит в том, чтобы уточнить границу между классами меньшинства и большинства, сделав регион(ы) меньшинства более отчетливым. На приведенной выше диаграмме показан простой пример удаления ссылки Tomek. Пакет R unbalanced реализует удаление ссылок Tomek, как и ряд методов выборки, специфичных для несбалансированных наборов данных.В Scikit-learn нет встроенных модулей для этого, хотя есть несколько независимых пакетов (например, TomekLink).

Синтез новых примеров: SMOTE и потомки

Другое направление исследований заключалось не в повторной выборке примеров, а в синтезе новых. Наиболее известным примером такого подхода является система SMOTE (Synthetic Minority Oversampling TEchnique) компании Chawla. Идея состоит в том, чтобы создать новые примеры меньшинств путем интерполяции между существующими. Процесс в основном заключается в следующем.Предположим, у нас есть набор примеров большинства и меньшинства, как и прежде:

.

SMOTE в целом был успешным и привел к появлению множества вариантов, расширений и адаптаций к различным алгоритмам обучения концепции. SMOTE и варианты доступны в R в несбалансированном пакете и в Python в пакете UnbalancedDataset .

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

Регулировка веса класса

Во многих наборах инструментов машинного обучения есть способы настроить «важность» классов. Например, в Scikit-learn есть много классификаторов, которые принимают необязательный параметр class_weight , который может быть установлен выше единицы. Вот пример, взятый прямо из документации scikit-learn, показывающий эффект увеличения веса класса меньшинства на десять.Сплошная черная линия показывает разделяющую границу при использовании настроек по умолчанию (оба класса имеют одинаковый вес), а пунктирная линия после того, как параметр class_weight для меньшинства (красных) классов изменился на десять.

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

Следует отметить, что корректировка важности класса обычно влияет только на стоимость ошибок класса (False Negatives, если класс меньшинства положителен).Он отрегулирует разделяющую поверхность, чтобы соответственно уменьшить их. Конечно, если классификатор не делает ошибок в ошибках обучающей выборки, корректировка может не произойти, поэтому изменение весов классов может не иметь никакого эффекта.

И далее

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

Новые алгоритмы

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

В 2014 году Гох и Рудин опубликовали статью Box Drawings for Learning with Disbalance Data 5 , в которой были представлены два алгоритма обучения на данных с искаженными примерами. Эти алгоритмы пытаются построить «коробки» (на самом деле гиперпрямоугольники, параллельные осям) вокруг кластеров примеров класса меньшинства:

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

Они вводят два алгоритма, один из которых ( Exact Boxes ) использует смешанное целочисленное программирование для получения точного, но довольно дорогого решения; другой ( Fast Boxes ) использует более быстрый метод кластеризации для создания исходных блоков, которые впоследствии уточняются. Экспериментальные результаты показывают, что оба алгоритма очень хорошо работают на большом наборе тестовых наборов данных.

Ранее я упоминал, что один из подходов к решению проблемы дисбаланса состоит в том, чтобы отбросить примеры меньшинства и рассматривать их как проблему одного класса (или обнаружение аномалий).Одна из недавних методик обнаружения аномалий на удивление хорошо сработала именно для этой цели. Лю, Тинг и Чжоу представили метод под названием Isolation Forests 6 , который пытался выявить аномалии в данных путем изучения случайных лесов и последующего измерения среднего количества разбиений решений, необходимых для изоляции каждой конкретной точки данных. Полученное число можно использовать для расчета оценки аномалии каждой точки данных, что также можно интерпретировать как вероятность принадлежности примера к классу меньшинства.Действительно, авторы протестировали свою систему, используя сильно несбалансированные данные, и сообщили об очень хороших результатах. В последующем документе Бандарагода, Тинг, Альбрехт, Лю и Уэллс 7 представили ансамбли ближайших соседей как аналогичную идею, которая смогла преодолеть несколько недостатков изолированных лесов.

Покупка или создание дополнительных данных

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

Но вы можете столкнуться с родственной, более сложной проблемой: у вас просто недостаточно экземпляров редкого класса. Ни один из вышеперечисленных методов вряд ли сработает. Что вы делаете?

В некоторых доменах реального мира вы можете покупать или создавать экземпляры редкого класса. Это область продолжающихся исследований в области машинного обучения. Если редкие данные просто должны быть надежно помечены людьми, распространенный подход — краудсорсинг через такой сервис, как Mechanical Turk.Надежность человеческих меток может быть проблемой, но в области машинного обучения была проделана работа по объединению человеческих меток для оптимизации надежности. Наконец, Клаудия Перлич в своем докладе «Все данные и все еще недостаточно» приводит примеры того, как можно решить проблемы с редкими или несуществующими данными, используя суррогатные переменные или проблемы, по существу используя прокси и скрытые переменные, чтобы сделать, казалось бы, невозможные проблемы возможными. С этим связана стратегия использования трансферного обучения для изучения одной проблемы и переноса результатов на другую проблему с редкими примерами, как описано здесь.

Комментарии или вопросы?

Здесь я попытался собрать большую часть своих практических знаний в один пост. Я знаю, что это было много, и я был бы признателен за ваши отзывы. Я пропустил что-то важное? Любые комментарии или вопросы по этому сообщению в блоге приветствуются.

Ресурсы и дополнительная литература

  1. Доступно несколько блокнотов Jupyter, иллюстрирующих аспекты несбалансированного обучения.
    • Блокнот, иллюстрирующий выбранные гауссианы, приведенные выше, имеет гауссианы.IPINB .
    • Простая реализация метода Уоллеса доступна по адресу blabbing.py . Это простая вилка существующей реализации sklearn для пакетирования, в частности ./sklearn/ensemble/bagging.py .
    • Блокнот, использующий этот метод, доступен по адресу ImbalancedClasses.ipynb . Он загружает несколько доменов и сравнивает благгинг с другими методами в разных дистрибутивах.
  2. Исходный код Box Drawings в MATLAB доступен по адресу: http://web.mit.edu/rudin/www/code/BoxDrawingsCode.zip
  3. Исходный код для изолированных лесов в R доступен по адресу: https://sourceforge.net/projects/iforest/
  4. .

Благодарим Chloe Mawer за дизайн Jupyter Notebook.

1. Об этом говорит Натали Хокхэм в своем выступлении Машинное обучение с несбалансированными наборами данных, которое фокусируется на несбалансированности в контексте обнаружения мошенничества с кредитными картами. ↩
2. По определению существует меньше экземпляров редкого класса, но проблема возникает из-за того, что цена их отсутствия ( ложноотрицательный результат ) намного выше.↩
3. Подробная информация в courier относится к Python’s Scikit-learn. ↩
4. «Дисбаланс классов, Redux». Уоллес, Смолл, Бродли и Трикалинос. Конференция IEEE по интеллектуальному анализу данных. 2011. ↩
5. Чертежи коробок для обучения с несбалансированными данными». Сионг Тье Го и Синтия Рудин. KDD-2014, 24–27 августа 2014 г., Нью-Йорк, штат Нью-Йорк, США.↩
6. «Обнаружение аномалий на основе изоляции». Лю, Тин и Чжоу. Транзакции ACM по обнаружению знаний из данных, Vol.6, № 1. 2012. ↩
7. «Эффективное обнаружение аномалий путем изоляции с использованием ансамбля ближайших соседей». Бандарагода, Тинг, Альбрехт, Лю и Уэллс. ICDM-2014↩

Как справиться с несбалансированными классами в машинном обучении

Несбалансированные классы выводят «точность» из строя. Это удивительно распространенная проблема в машинном обучении (особенно в классификации), возникающая в наборах данных с непропорциональным соотношением наблюдений в каждом классе.

Стандартная точность больше не позволяет надежно измерять производительность, что значительно усложняет обучение модели.

Несбалансированные классы появляются во многих доменах, в том числе:

  • Обнаружение мошенничества
  • Фильтрация спама
  • Скрининг заболеваний
  • Отток подписчиков SaaS
  • Переходы по рекламе

В этом руководстве мы рассмотрим 5 эффективных способов обработки несбалансированных классов.

Интуиция: пример скрининга заболеваний

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

Но вот в чем загвоздка… болезнь относительно редкая; это происходит только у 8% пациентов, прошедших скрининг.

Теперь, прежде чем вы начнете, вы видите, как проблема может решиться? Представьте, что вы вообще не удосужились обучить модель. Вместо этого, что, если вы просто написали одну строку кода, которая всегда предсказывает «Нет болезни»?

def Болезнь_скрин(пациент_данные):

    # Игнорировать пациент_данные

    return ‘Нет болезни.

Ну и что? Ваше «решение» будет иметь точность 92%!

К сожалению, такая точность вводит в заблуждение.

  • Для пациентов, у которых нет болезни, вы получите 100% точность.
  • Для пациентов, у которых от до есть заболевание, у вас будет точность 0%.
  • Ваша общая точность будет высокой просто потому, что у большинства пациентов нет болезни (а не потому, что ваша модель хороша).

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

Важные примечания, прежде чем мы начнем:

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

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

Кроме того, не каждый описанный ниже метод подойдет для решения каждой проблемы.Однако в 9 случаях из 10 по крайней мере один из этих методов должен сработать.

Набор данных весов весов

В этом руководстве мы будем использовать синтетический набор данных под названием «Данные шкалы баланса», который вы можете скачать из репозитория машинного обучения UCI здесь.

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

import pandas as pd

import numpy as np

 

# Чтение набора данных

df = pd.read_csv(‘balance-scale.data’,

                Names=[‘balance’, ‘var1’, ‘var2’, ‘var3’, ‘var4’])

 

# Отображение примеров наблюдений

df.head( )

Набор данных содержит информацию о том, сбалансированы весы или нет, на основе веса и расстояния между двумя рычагами.

  • Имеет 1 целевую переменную, которую мы пометили остаток средств .
  • Он имеет 4 функции ввода, которые мы пометили var1 – переменная4 .

Целевая переменная имеет 3 класса.

  • R для правой тяжелой, т.е. когда переменная3 * переменная4 > переменная1 * переменная2
  • L для левой тяжелой, т.е. когда переменная3 * переменная4 < переменная1 * переменная2
  • B для сбалансированных, т.е. когда переменная3 * переменная4 = переменная1 * переменная2

df[‘balance’].value_counts()

# R    288

# L    288

# B     49

# Name: balance, dtype: int64

Однако для этого урока мы собираемся превратить это в задачу бинарной классификации .

Мы собираемся пометить каждое наблюдение как 1 (положительный класс), если шкала сбалансирована, или 0 (отрицательный класс), если шкала не сбалансирована:

# Преобразование в двоичную классификацию

df[‘balance’] = [1 if b==’B’ else 0 for b в df.balance]

 

df[‘balance’].value_counts()

# 0    576

# 1     49

# Название: balance, dtype: int64

# Около 8% были сбалансированы

Как видите, только около 8% наблюдений были уравновешены.Следовательно, если бы мы всегда предсказывали 0 , мы бы достигли точности 92%.

Опасность несбалансированных классов

Теперь, когда у нас есть набор данных, мы действительно можем показать опасность несбалансированных классов.

Во-первых, давайте импортируем алгоритм логистической регрессии и показатель точности из Scikit-Learn.

из sklearn.linear_model импортировать LogisticRegression

из sklearn.импорт метрик precision_score

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

# Отдельные входные функции (X) и целевая переменная (y)

y = df.balance

X = df.drop(‘balance’, axis=1)

 

# Модель поезда

clf_0 = LogisticRegression ().fit(X, y)

 

# Прогноз на тренировочном наборе

pred_y_0 = clf_0.предсказать(X)

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

Мы можем это подтвердить:

# Как точность?

печать (показатель точности (пред_у_0, у))

# 0,9216

Итак, наша модель имеет общую точность 92%, но это потому, что она предсказывает только 1 класс?

# Стоит ли волноваться?

печать( нп.уникальный( pred_y_0 ))

# [0]

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

Далее мы рассмотрим первый метод обработки несбалансированных классов: повышающую выборку миноритарного класса.

1. Класс меньшинства повышенной выборки

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

Для этого существует несколько эвристик, но наиболее распространенным способом является просто повторная выборка с заменой.

Сначала мы импортируем модуль передискретизации из Scikit-Learn:

из sklearn.utils импортировать повторную выборку

Далее мы создадим новый DataFrame с расширенным классом меньшинства. Вот шаги:

  1. Во-первых, мы разделим наблюдения из каждого класса на разные кадры данных.
  2. Затем мы изменим выборку миноритарного класса с заменой , установив количество выборок таким образом, чтобы оно соответствовало количеству выборок класса большинства.
  3. Наконец, мы соединим обработанный с повышением дискретизации класс DataFrame меньшинства с исходным классом большинства DataFrame.

Вот код:

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

18

# Отдельные классы большинства и меньшинства

df_majority = df[df.Баланс == 0]

df_minority = df [df.balance == 1]

# Upsample Minority Class

DF_Minity_UppsAmpled = Resample (DF_Minity,

Заменить = True, # Образец с заменой

N_SAMPLES = 576, # чтобы соответствовать классу большинства

                                random_state=123) # воспроизводимые результаты

 

# Объединить класс большинства с классом меньшинства с повышенной дискретизацией

df_upsampled = pd.CONCAT ([DF_MAJORITY, DF_MINORITY_UPSAMPLED])

# Дисплей Новый класс Counts

DF_UPSAMPLED.Balance.value_counts ()

# 1 576

# 0 576

# Название: Баланс, DTYPE: INT64

Как видите, новый DataFrame содержит больше наблюдений, чем исходный, а соотношение двух классов теперь составляет 1:1.

Давайте обучим другую модель с помощью логистической регрессии, на этот раз на сбалансированном наборе данных:

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

# Отдельные входные объекты (X) и целевая переменная (y)

y = df_upsampled.balance

X = df_upsampled.drop(‘balance’, axis=1)

 

# Модель поезда

clf_1 = LogisticRegression().fit(X, y)

 

# Predict на обучающем наборе = clf_1.predict(X)

 

# Наша модель все еще предсказывает только один класс?

print( np.unique( pred_y_1 ))

# [0 1]

 

# Как наша точность?

print(accuracy_score(y, pred_y_1))

# 0.513888888889

Отлично, теперь модель больше не предсказывает только один класс. Хотя точность также резко упала, теперь она более значима как показатель производительности.

2. Класс большинства с пониженной выборкой

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

Наиболее распространенная эвристика для этого — повторная выборка без замены.

Процесс аналогичен процессу повышения частоты дискретизации.Вот шаги:

  1. Во-первых, мы разделим наблюдения из каждого класса на разные кадры данных.
  2. Затем мы пересэмплируем мажоритарный класс без замены , установив количество сэмплов, соответствующее количеству сэмплов миноритарного класса.
  3. Наконец, мы объединим DataFrame большинства классов с уменьшенной выборкой и исходным DataFrame класса меньшинства.

Вот код:

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

18

# Отдельные классы большинства и меньшинства

df_majority = df[df.Баланс == 0]

df_minority = df [df.balance == 1]

# Downsample Максимальный класс

df_majority_downsampled = Resample (df_majority,

Заменить = false, # Образец без замены

n_samples = 49, # чтобы соответствовать классу меньшинства

                                random_state=123) # воспроизводимые результаты

 

# Объединить класс меньшинства с классом большинства с пониженной дискретизацией

df_downsampled = pd.concat ([df_majority_downsampled, df_minity])

# Дисплей Новый класс Counts

df_downsampled.balance.value_counts ()

# 1 49

# 0 49

# Название: Баланс, DTYPE: INT64

На этот раз в новом DataFrame меньше наблюдений, чем в исходном, а соотношение двух классов теперь составляет 1:1.

Опять же, давайте обучим модель с помощью логистической регрессии:

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

# Отдельные входные объекты (X) и целевая переменная (y)

y = df_downsampled.balance

X = df_downsampled.drop(‘balance’, axis=1)

 

# Модель поезда

clf_2 = LogisticRegression().fit(X, y)

 

# Predict на обучающем наборе = clf_2.predict(X)

 

# Наша модель все еще предсказывает только один класс?

print( np.unique( pred_y_2 ))

# [0 1]

 

# Как наша точность?

print(accuracy_score(y, pred_y_2))

# 0.581632653061

Модель не предсказывает только один класс, и точность кажется выше.

Мы по-прежнему хотели бы проверить модель на невидимом тестовом наборе данных, но результаты более обнадеживающие.

3. Измените показатель эффективности

До сих пор мы рассматривали два способа устранения несбалансированных классов путем повторной выборки набора данных. Далее мы рассмотрим использование других показателей производительности для оценки моделей.

Альберт Эйнштейн однажды сказал: «Если судить о рыбе по ее способности взбираться на дерево, она проживет всю жизнь, считая себя глупой.» Эта цитата действительно подчеркивает важность выбора правильного показателя оценки.

В качестве метрики общего назначения для классификации мы рекомендуем Площадь под кривой ROC (AUROC).

  • Мы не будем вдаваться в подробности в этом руководстве, но вы можете прочитать об этом подробнее здесь.
  • Интуитивно AUROC представляет вероятность того, что ваша модель различает наблюдения из двух классов.
  • Другими словами, если вы случайным образом выберете одно наблюдение из каждого класса, какова вероятность того, что ваша модель сможет правильно «ранжировать» их?

Мы можем импортировать эту метрику из Scikit-Learn:

от sklearn.импорт метрик roc_auc_score

Чтобы рассчитать AUROC, вам понадобятся предсказанные вероятности классов, а не только предсказанные классы. Вы можете получить их с помощью .predict_proba()    функция примерно так:

# Прогнозные вероятности класса

prob_y_2 = clf_2.predict_proba (x)

# Держите только положительный класс

prob_y_2 = [p [1] для p в prob_y_2]

prob_y_2 [: 5] # Пример

# [0.4541

26479618,

# 0.48205962213283882213283882,

# 0.468623270663

,

# 0.47868378832689096,

# 0.58143856820159667]

Итак, как эта модель (обученная на наборе данных с уменьшенной выборкой) показала себя с точки зрения AUROC?

print( roc_auc_score(y, prob_y_2))

# 0.568096626406

Хорошо… и как это соотносится с исходной моделью, обученной на несбалансированном наборе данных?

prob_y_0 = clf_0.predict_proba (x)

prob_y_0 = [p [1] для p в prob_y_0]

Печать (roc_auc_score (y, prob_y_0))

# 0.530518537415

Помните, наша исходная модель, обученная на несбалансированном наборе данных, имела точность 92 %, что намного выше, чем 58 % точность модели, обученной на наборе данных с уменьшенной выборкой.

Однако последняя модель имеет AUROC 57 %, что выше, чем 53 % исходной модели (но ненамного).

Примечание: , если вы получили AUROC 0,47, это просто означает, что вам нужно инвертировать прогнозы, потому что Scikit-Learn неправильно интерпретирует положительный класс. AUROC должен быть >= 0,5.

4. Штрафные алгоритмы (обучение с учетом затрат)

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

 Популярным алгоритмом для этой техники является Penalized-SVM:

.

из sklearn.svm импорт SVC

Во время обучения мы можем использовать аргумент class_weight=’balanced’ , чтобы штрафовать ошибки в классе меньшинства на сумму, пропорциональную тому, насколько он недопредставлен.

Мы также хотим включить аргумент Вероятность=Истина, если мы хотим включить оценки вероятности для алгоритмов SVM.

Давайте обучим модель с помощью Penalized-SVM на исходном несбалансированном наборе данных:

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

18

19

20

20

21

22

23

240002 23

24

25

26

27

# Отдельные входные функции (X) и целевая переменная (y)

y = df.Баланс

x = df.drop («Баланс», ось = 1)

# Поезд Модель

# Train

CLF_3 = SVC (Kernel = ‘Linear’,

Class_Weight = ‘Balanced’, # Penlize

Вероятность = True)

 

clf_3.fit(X, y)

 

# Предсказание на тренировочном наборе

pred_y_3 = clf_3.predict(X)

# Только один класс все еще предсказывает

?

print( np.unique( pred_y_3 ))

# [0 1]

 

# Как наша точность?

print(accuracy_score(y, pred_y_3))

# 0.688

 

# Что насчет AUROC?

prob_y_3 = clf_3.predict_proba(X)

prob_y_3 = [p[1] для p в prob_y_3]

print( roc_auc_score(y, prob_y_3) )

# 0,530 5236078

78

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

5. Используйте древовидные алгоритмы

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

В современном прикладном машинном обучении ансамбли деревьев (случайные леса, деревья с усилением градиента и т. д.) почти всегда превосходят одиночные деревья решений, поэтому мы сразу перейдем к ним:

из импорта sklearn.ensemble RandomForestClassifier

Теперь давайте обучим модель с использованием случайного леса на исходном несбалансированном наборе данных.

1

2

2

3

4

4

5

6

70002

8

10

11

12

13

12

14

15

14

15

16

17

18

19

20

21

22

23

24

# Отдельные входные функции (X) и целевая переменная (y)

y = df.balance

X = df.drop(‘balance’, axis=1)

 

# Модель поезда

clf_4 = RandomForestClassifier()

clf_4.fit(X, y)

# Predict on training set

pred_y_4 = clf_4.predict(X)

 

# Наша модель все еще предсказывает только один класс?

print( np.unique( pred_y_4 ))

# [0 1]

 

# Как наша точность?

print(accuracy_score(y, pred_y_4))

# 0.9744

 

# Что насчет AUROC?

prob_y_4 = clf_4.predict_proba(X)

prob_y_4 = [p[1] для p в prob_y_4]

print( roc_auc_score(y, prob_y_4) )

# 0,99

108040

Вау! Точность 97% и почти 100% AUROC? Это магия? Ловкость рук? Мошенничество? Слишком хорошо, чтобы быть правдой?

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

Однако:

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

Примечание: ваши числа могут незначительно отличаться из-за случайности в алгоритме. Вы можете установить случайное начальное число для воспроизводимых результатов.

Почетные упоминания

Несколько тактик, которые не вошли в этот туториал:

Создание синтетических образцов (дополнение данных)

Создание синтетических сэмплов является близким родственником повышения дискретизации, и некоторые люди могут объединять их в одну категорию.Например, алгоритм SMOTE представляет собой метод повторной выборки из класса меньшинства с небольшим искажением значений признаков, что создает «новые» выборки.

Вы можете найти реализацию SMOTE в библиотеке imblearn.

Объединение классов меньшинств

Объединение миноритарных классов вашей целевой переменной может подойти для некоторых задач с несколькими классами.

Предположим, вы хотите предсказать мошенничество с кредитными картами. В вашем наборе данных каждый метод мошенничества может быть помечен отдельно, но вы можете не заботиться об их различении.Вы можете объединить их все в один класс «Мошенничество» и рассматривать проблему как бинарную классификацию.

Переформулировать как обнаружение аномалии

Обнаружение аномалий, также известное как обнаружение выбросов, предназначено для обнаружения выбросов и редких событий. Вместо построения модели классификации у вас будет «профиль» обычного наблюдения. Если новое наблюдение слишком далеко отклоняется от этого «нормального профиля», оно будет помечено как аномалия.

Заключение и следующие шаги

В этом руководстве мы рассмотрели 5 тактик обработки несбалансированных классов в машинном обучении:

  1. Повышение дискретизации класса меньшинства
  2. Понижающая выборка мажоритарного класса
  3. Измените показатель производительности
  4. Алгоритмы наказания (обучение с учетом затрат)
  5. Использовать древовидные алгоритмы

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

Классы медицинских устройств FDA: различия и примеры

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

Управление по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA) регулирует все медицинские устройства, продаваемые в США, которые сгруппированы в три широких класса. Любое медицинское устройство, одобренное Центром устройств и радиологического здоровья FDA, классифицируется как класс I, II или III в зависимости от риска, инвазивности и влияния нового устройства на общее состояние здоровья пациента.Но где проходят границы между каждым из этих трех классов и почему?

Руководство FDA по классификации медицинских устройств может вводить в заблуждение производителей медицинских устройств, которые могут иметь ограниченное воздействие на систему. Существует огромная разница в оптимальном пути выхода на рынок для производителей в зависимости от того, как сгруппировано ваше устройство. На устройства класса I распространяется гораздо меньше нормативных требований, чем на устройства класса II или III. Прежде чем вы начнете создавать медицинское устройство, вам нужно знать, к какому классу оно относится, чтобы вы могли следовать правильным процедурам и правилам, установленным США.С. Управление по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA).

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

Различия между классами медицинских устройств FDA

FDA классифицировало более 1700 различных типов медицинских устройств. Устройства организованы в Своде федеральных правил (CFR) по 16 специальностям, таким как сердечно-сосудистые или гематологические устройства.Классификация вашего медицинского устройства по одной из 16 специальностей — это первый шаг к пониманию того, производите ли вы медицинские устройства класса I, II или III. Эти 16 специальностей включают:

  • Анестезиология
  • Сердечно-сосудистые заболевания
  • Химия
  • Стоматология
  • Ухо, нос и горло
  • Гастроэнтерология и урология
  • Общая и пластическая хирургия
  • Больница общего профиля
  • Гематология
  • Иммунология
  • Микробиология
  • Неврология
  • Акушерско-гинекологический
  • Офтальмологический
  • Ортопедический
  • Патология
  • Физическая медицина
  • Радиология
  • Токсикология

После классификации устройства по назначению FDA дает производителям указание приступить к предварительному уведомлению, зная, освобождено ли их устройство.Медицинские устройства класса I, представляющие наименее опасную и инвазивную категорию, не подлежат предварительному уведомлению. Определенные устройства класса II также освобождаются от предпродажного утверждения.

Другие типы устройств могут быть освобождены от некоторых нормативных требований в зависимости от их предполагаемого использования. Гуманитарное исключение может быть выдано для устройств, предназначенных для помощи при редких заболеваниях, поскольку размер выборки часто слишком мал для получения достаточного количества клинических доказательств, чтобы соответствовать стандартам разумной гарантии FDA в отношении «безопасности и эффективности», изложенным в разделах 514 и 515. Федеральный закон о пищевых продуктах, лекарствах и косметических средствах (Закон FD&C).

Однако все устройства, регулируемые FDA, подпадают под действующие требования надлежащей производственной практики (cGMP) в отношении регистрации, маркировки и качества. Но как узнать, относится ли ваше устройство к классу I или II и требуется ли предварительное уведомление?

Класс 1

Управление по санитарному надзору за качеством пищевых продуктов и медикаментов определяет устройства класса I как устройства, « не предназначенные для использования в целях поддержания или сохранения жизни или имеющие существенное значение для предотвращения ухудшения здоровья человека, и они не могут представлять потенциальный необоснованный риск заболевания или травмы. »
Эти устройства относятся к наиболее распространенному классу устройств, регулируемому FDA, что составляет 47 процентов одобренных устройств на рынке.

Устройства класса I имеют минимальный контакт с пациентами и мало влияют на общее состояние здоровья пациента. В целом, класс устройств I изделия не соприкасаются с внутренними органами пациента, ЦНС, сердечно-сосудистой системой, к ним предъявляется наименьшее количество нормативных требований

Примеры устройств класса I:

  • Электрическая зубная щетка
  • Депрессор языка
  • Кислородная маска
  • Многоразовый хирургический скальпель
  • Бинты
  • Больничные койки
  • Неэлектрическая инвалидная коляска

Вывод на рынок медицинских изделий класса I

Устройства

класса I являются самыми быстрыми и легкими для вывода на рынок, поскольку они представляют наименьший риск для пациента и редко имеют решающее значение для поддержания жизни.На большинство устройств класса I не распространяются требования FDA по предварительному уведомлению (510k) и предварительному одобрению (PMA).

Устройства

класса I не освобождаются от общего контроля FDA, серии команд, которые применяются к медицинским устройствам классов I, II и III. Положения этого закона касаются фальсификации, неправильного брендинга, регистрации устройств, записей и надлежащей производственной практики. Производители медицинского оборудования, относящиеся к классу А, по-прежнему обязаны внедрять систему управления качеством и соблюдать стандарты для обеспечения качества продукции.

СВЯЗАННЫЕ ЛИТЕРАТУРЫ: Разница между предварительным уведомлением 510(k) и предварительным одобрением

Класс 2

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

Управление по санитарному надзору за качеством пищевых продуктов и медикаментов определяет устройства класса II как « устройства , для которых общие меры контроля недостаточны для обеспечения разумной гарантии безопасности и эффективности устройства . »

Примеры медицинских изделий класса II:

  • Катетеры
  • Манжеты для измерения артериального давления
  • Наборы для тестов на беременность
  • Шприцы
  • Наборы для переливания крови
  • Контактные линзы
  • Хирургические перчатки
  • Рассасывающиеся нити

Вывод на рынок медицинских изделий класса II

Элементы управления различаются в зависимости от устройства, но, согласно FDA, могут включать:

  • Производительность устройства
  • Послепродажное наблюдение
  • Регистры пациентов
  • Особые требования к маркировке
  • Требования к предпродажным данным
  • Руководство

Большинство устройств класса II одобрены FDA для продажи в рамках процесса предварительного уведомления или 510(k).

Устройства

класса II подлежат тем же общим контролям, упомянутым выше, но FDA определяет их как « устройства, для которых общий контроль недостаточен для обеспечения разумной гарантии безопасности и эффективности устройства». По этой причине устройства класса II также подлежат специальному контролю. Эти правила зависят от устройства и могут включать специальные требования к маркировке, реестры пациентов и стандарты производительности.

Большинство устройств класса II поступают на рынок с использованием процесса предварительного уведомления (510k).510(k) — это сложная заявка в FDA, которая демонстрирует безопасность и эффективность устройства, демонстрируя, что это устройство эквивалентно другому устройству, представленному на рынке.

Этот процесс включает демонстрацию «существенной эквивалентности» другому устройству, известному на языке FDA как «предикат». Это не означает, что устройства должны быть идентичными, но они должны иметь значительное сходство в использовании, дизайне, материалах, маркировке, стандартах и ​​других характеристиках.

В начале 2018 года FDA выпустило список исключений, который исключает более 800 универсальных медицинских устройств классов I и II из процесса 510(k).Если у вас есть универсальное медицинское устройство класса II, вы можете узнать, освобождено ли оно от подачи заявки 510(k), выполнив поиск в базе данных классификации продуктов FDA.

ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА: 5 причин Пересмотр FDA 510(k) — отличный шаг.

Класс 3

FDA определяет устройства класса III как продукты, которые «обычно поддерживают или поддерживают жизнь, имплантируются или представляют потенциальный необоснованный риск заболевания или травмы».

Всего 10 процентов устройств, регулируемых Управлением по санитарному надзору за качеством пищевых продуктов и медикаментов США, попадают в класс III.Эта классификация обычно распространяется на постоянные имплантаты, интеллектуальные медицинские устройства и системы жизнеобеспечения.

В то время как класс III, как правило, предназначен для самых инновационных и передовых медицинских устройств, существуют и другие устройства, которые могут попасть в класс III по разным причинам. Некоторые устройства, изначально отнесенные к классу II, могут быть переведены в класс III, если производитель не сможет продемонстрировать существенную эквивалентность предикату (существующему продукту) в процессе подачи заявки PMA (510k).Если это произойдет с вашим устройством, вы сможете использовать классификацию De Novo, которая представляет собой альтернативный путь, по которому FDA проводит оценку вашего медицинского устройства на основе рисков.

Примеры медицинских изделий класса III:

  • Грудные имплантаты
  • Кардиостимуляторы
  • Дефибрилляторы
  • Вентиляторы высокочастотные
  • Кохлеарные импланты
  • Мониторы для забора крови плода
  • Имплантируемые протезы

Вывод на рынок медицинских устройств класса III Устройства

класса III подлежат всем процедурам общего контроля FDA и процессу предпродажного одобрения FDA (PMA).FDA пишет: «Из-за уровня риска, связанного с устройствами класса III, FDA определило, что одних только общих и специальных мер контроля недостаточно для обеспечения безопасности и эффективности устройств класса III».

PMA — это наиболее интенсивный тип приложения для маркетинга устройств, требуемого FDA. Некоторые устройства класса III FDA освобождены и могут претендовать на регистрацию 510 (k), но ожидается, что большинство из них получит предварительное одобрение.

Процесс PMA и предварительная проверка требуют тщательного изучения медицинского устройства для подтверждения его безопасности и эффективности посредством разработки профиля пользы/риска на основе данных.Процесс PMA обычно включает в себя клинические испытания и значительное время и ресурсы для сбора достаточного количества данных. В течение этого времени FDA также проведет тщательную проверку вашей системы качества. Единственным исключением из процесса PMA в классе III являются устройства с существенным эквивалентом. Вы можете определить, может ли устройство класса III продаваться с 510(k), выполнив поиск в базе данных FDA Premarket Approval (PMA) и базе данных 510(k) Premarket Notification.

Как определить свой класс

Первым шагом к классификации вашего медицинского устройства является изучение правил классификации FDA, списка из 16 категорий медицинских устройств в соответствии с медицинской специализацией.

В качестве примера мы покажем вам, как определить классификацию сигнала тревоги артериального давления. Устройство относится к категории 870: Сердечно-сосудистые устройства.

Источник изображения

Найдя соответствующую медицинскую специальность, нажмите на категорию и перемещайтесь по списку устройств, пока не найдете эквивалент и соответствующий код устройства.

Источник изображения

Нажмите на код устройства и откройте рекомендации. Классификация устройств указана в разделе (b).

Источник изображения

Если ваше устройство не имеет эквивалента в списке среди 1700 устройств, классифицированных FDA, скорее всего, это инновационное устройство без существенного эквивалента, и оно будет отнесено к классу III.

Понимание классов медицинских устройств FDA

Различия между медицинскими устройствами, классифицированными FDA как классы I, II или III, в основном заключаются в риске, степени контакта с пациентом и его внутренними системами, а также в том, имеет ли устройство решающее значение для поддержания жизни.

В дополнение к этим факторам FDA учитывает существенную эквивалентность при определении того, как устройство классифицируется в своей системе классификации. Это означает, что они проверяют, является ли ваше новое устройство таким же безопасным и эффективным, как другое устройство, продаваемое на законных основаниях в США. Если ваше устройство имеет низкий уровень риска и минимально контактирует с пациентом, вы, скорее всего, соответствуете классу I и упрощенному процессу утверждения на рынке. . Устройства класса II и III, представляющие более высокий риск, должны демонстрировать безопасность посредством существенной эквивалентности, регистрации 510 (k) или процесса предпродажного утверждения.

admin

Добавить комментарий

Ваш адрес email не будет опубликован.