Класифікація - Як встановити ваги класів для незбалансованих класів у Keras Data Science Stack

Я знаю, що в Keras є можливість зі словником параметрів class_weights при установці, але я не міг знайти жодного прикладу. Хтось такий люб'язний надати його?

ваги

До речі, у цьому випадку відповідним практичним завданням є просто зважування класу меншини пропорційно його недопредставленню?

8 відповідей 8

Якщо ви говорите про звичайний випадок, коли ваша мережа видає лише один вихід, тоді ваше припущення правильне. Для того, щоб змусити ваш алгоритм обробляти кожен екземпляр клас 1 як 50 примірників клас 0 ти мусиш:

Визначте словник зі своїми мітками та пов'язаними з ними вагами

Надайте словник як параметр:

EDIT: "обробляти кожен екземпляр клас 1 як 50 примірників клас 0"означає, що у вашій функції втрат ви присвоюєте цим екземплярам більш високе значення. Отже, втрата стає середньозваженою, де вага кожної вибірки визначається клас_важ та відповідний клас.

клас_важ: Необов’язковий словник, що відображає індекси класів (цілі числа) у значення ваги (плаваюче), що використовується для зважування функції втрат (лише під час навчання).