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

«Образование - это самое мощное оружие, которое вы можете использовать, чтобы изменить мир» - Нельсон Мандела

Введение

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

Проблема

Я наткнулся на задачу на Kaggle под названием PASSNYC: Data Science for Good. Задача была создана PASSNYC, некоммерческой организацией, которая стремится помочь учащимся государственных школ в Нью-Йорке оценить потребности учащихся, используя общедоступные данные для количественной оценки проблем, с которыми они сталкиваются в школе, и способов поощрения учащихся. сдать вступительный экзамен в специализированную среднюю школу (SHSAT). PASSNYC хочет выяснить, какие школы нуждаются в помощи, чтобы увеличить количество учащихся, сдают тесты. Хотя эта задача была интересна сама по себе, я хотел решить другую проблему, используя подход машинного обучения: как мы можем помочь повысить успеваемость учащихся в государственных школах?

Задача: можем ли мы предсказать рейтинг успеваемости учащихся государственных школ?

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

Под контролем: нам были предоставлены целевые данные для данных обучения.

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

Исследовательский анализ данных

Первый подход, как и в любом другом проекте по науке о данных, заключался в изучении данных. В наборе данных было 160 характеристик / столбцов, состоящих как из числовых, так и из категориальных значений. Основываясь на характеристиках, я смог выделить 4 разных типа групп: экономические, расовые, образовательные рейтинги и тесты. Например, характеристики, относящиеся к экономической группе, состояли из оценки доходов школы (числовой) и индекса экономической потребности (числового), которые используются для определения экономического статуса государственной школы.

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

  • Как первоначально выглядело распределение оценок успеваемости учащихся?

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

Связь между целью и функциями

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

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

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

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

Разработка / выбор функций

Следующим шагом в процессе было внесение изменений в функции для оптимизации производительности моделей. Столбцы с процентными значениями были изменены с числовых на порядковые с использованием одного горячего кодирования, от 0 до 3. Например, наблюдение, которое имело значение 23% (0,23) для функции Percent Hispanic , было обновлено до порядкового значения 1, в то время как наблюдение, которое имело значение 88% (0,88) для той же функции, было обновлено до значения 3. Это было сделано для всех функций, у которых был процент (числовой ) значение улучшило точность моделей!

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

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

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

Выбор и тестирование модели

Поскольку это был контролируемый анализ машинного обучения с несколькими классификациями, я создал четыре модели классификации:

  • Классификатор случайных лесов (РФ)
  • Классификация линейных опорных векторов (LSVC)
  • Гауссовский наивный байесовский (GNB)
  • Линейный дискриминантный анализ (LDA)

Метрика

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

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

Модель линейного дискриминантного анализа (LDA) имела наивысший балл микро F1 с 0,66 (чем выше, тем лучше) при 10-кратной перекрестной проверке. Модель Random Forest (RF) заняла второе место с оценкой 0,62. Модель, которая (на удивление) не показала хороших результатов, была Gaussian Naive Bayes (GNB), которая получила значительно более низкие оценки, чем другие модели.

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

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

Вывод

Вот некоторые вещи, которые я узнал из анализа:

  • Школы с более низким уровнем дохода, похоже, нуждаются в улучшении. Если PASSNYC хочет предоставить средства / помощь школам, им следует обратить внимание на школы, нуждающиеся в экономической помощи, и школы с более высоким процентом меньшинств (чернокожих / латиноамериканцев).
  • Экономический статус школы играет важную роль в успеваемости ее учеников: чем больше экономических потребностей в школе, тем ниже ее успеваемость.
  • Экономический статус школы зависит от доминирующей расы школ: чем больше в школе учеников из числа меньшинств (чернокожих / латиноамериканцев), тем больше у нее экономических потребностей.
  • Линейный дискриминантный анализ (LDA) показал хорошие результаты в этом мультиклассовом анализе машинного обучения по сравнению с другими моделями.

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

  • Всегда здорово обновить выбор моделей / разработку! Хотя этот совет рекомендуется почти во всех материалах, связанных с наукой о данных, я полностью осознавал его ценность. Данные, предоставленные Kaggle, содержат более 100 функций, которые я использовал на своих первых моделях, но затем, вернувшись к процессу выбора / разработки, я удалил большинство из них. То, что функции доступны, не означает, что они будут полезны.
  • Дополнительные (неизбыточные) функции. Предоставленные данные могли иметь более полезные функции, такие как размер школы или соотношение учеников и учителей. Этот тип данных потенциально мог повысить точность наших моделей.

Не стесняйтесь оставлять отзывы или конструктивную критику! :) Также подписывайтесь на меня в Twitter и Medium!

Весь код, использованный для этого поста, можно найти на GitHub, организованном в этой записной книжке.