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

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

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

Будет ли студент бросить учебу?

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

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

Как узнать, «хороша» ли ваша модель?

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

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

В контексте проблемы отсева учащихся,

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

Что нам следует использовать: точность или отзыв?

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

Вот установка. У нас есть 100 специальностей по экономике, и 20 откажутся от основной, а остальные 80 будут окончить специальность. .

Кроме того, у нас достаточно сеансов консультирования только для 20 студентов, так что нам лучше рассчитывать наши прогнозы!

Использование точности

Предположим, наша модель предсказывает, что 10 из 100 студентов бросят учебу:

В этом случае из 10 прогнозируемых выпадений все 10 в конечном итоге выпадут, так что наша точность составляет 10/10 = 100%. Так что по точности мы проделали большую работу! Верно?

Ну, не совсем…

Мы поймали только 10 из 20 студентов, которые впоследствии бросят учебу, игнорируя 50% из них.

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

Использование отзыва

Что ж, тогда напоминание - это правильный показатель?

Предположим, наша модель предсказывает, что все 100 студентов выбывают из школы!

Что ж, в этом случае из 20 студентов, которые действительно бросят учебу, мы правильно определили всех 20, так что наш отзыв составляет 20/20 = 100%, что дает похоже, что модель работает на удивление хорошо.

Но, очевидно, здесь есть вопиющая проблема. Если прогнозируется, что все 100 студентов бросят учебу, как это поможет нам распределить эти 20 сеансов консультирования ?!

Подход к оценке моделей, ориентированный на людей

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

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

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

Для любого студента есть четыре возможных сценария:

  1. Этот студент закончит учебу, и мы прогнозируем, что они ее закончат:

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

2. Этот учащийся бросит учебу, и мы прогнозируем, что он бросит учебу:

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

3. Этот студент закончит учебу, но, по нашим прогнозам, он бросит учебу:

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

4. Этот студент бросит учебу, но, по нашим прогнозам, он закончит учебу:

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

Мы можем резюмировать это в матрице затрат ниже:

Какой наивысший балл мы можем получить? Что ж, это будет, если мы правильно определим всех 80 возможных выпускников (+1 умножить на 80 = 80) и правильно определим все 20 возможных выпускников (+2 умножить на 20 = 40) набирает 120.

Какую самую низкую оценку мы можем получить? Что ж, это будет, если мы неверно классифицируем всех 80 возможных выпускников (-4 умножить на 80 = -320) и неправильно классифицируем все 20 возможных выпускников (-8 умножить на 20 = -160) с общим баллом -480.

Поскольку наша оценка находится в диапазоне от -480 до 120, давайте просто прибавим 480 ко всем оценкам, чтобы сопоставить этот диапазон с от 0 до 600, чтобы мы можем брать проценты.

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

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

Как работает новый показатель?

Давайте протестируем новый показатель производительности!

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

Итак, мы правильно определяем всех 80 возможных выпускников (+1 умножить на 80 = 80), мы правильно определяем 10 возможных отсевов (+2 умножить на 10 = 20) и ошибочно классифицируем 10 возможных отсевов (-8 умножить на 10 = -80) за общий балл 20, к которому мы прибавляем 480, чтобы получить окончательный балл 500 из 600 или 83%. Хорошо, но в этой модели определенно есть возможности для улучшения.

Еще одно испытание! Какой балл даст новая метрика в случае, если мы прогнозируем, что все выбыли?

Мы правильно определяем все 20 возможных выбывших (+2 умножить на 20 = 40) и неверно классифицируем всех 80 возможных выпускников (-4 умножить на 80 = -320), получив общий балл -280, к которому мы прибавляем 480 для получения финала. оценка 200 из 600 или 33%. Это… действительно плохо, что имеет смысл, потому что прогнозировать, что все бросят учебу, - это ужасная стратегия с точки зрения отдела!

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

Разве опыт этих людей не должен влиять на нашу работу?

Спасибо, что прочитали ~