Факторы университетского уровня, влияющие на количество выпускников

Завершающий проект для Data Scientist Nanodegree

Определение

Обзор проекта

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

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

Постановка задачи

Цель проекта — определить факторы университетского уровня, которые предсказывают и влияют на количество выпускников в американских университетах, используя набор данных College Scorecard.

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

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

Будут выполнены следующие задачи:

  1. Исследуйте и обрабатывайте данные
  2. Оцените 3 алгоритма регрессии и выберите лучшую модель, предсказывающую скорость градации,
  3. Выберите наиболее важные функции из наиболее эффективной модели.

Показатели

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

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

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

Анализ

Исследование данных

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

Объединенный набор данных состоит из 74171 строки и 1899 столбцов.

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

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

Примечания

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

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

Примечания

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

Обзор функций

Набор данных содержит информацию, сгруппированную в разные группы:

Учреждение

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

Расходы

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

Студенческий состав

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

Финансовая помощь и погашение

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

Доход

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

Завершение и сохранение

Функции предоставляют подробную информацию о показателях завершения и удержания для каждого учреждения. К ним относятся показатели завершения обучения для студентов очной формы обучения, студентов-первокурсников (100 и 150 процентов, а также через 6 и 8 лет после поступления).

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

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

Примечания

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

Визуализация данных

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

Одна группа интересных особенностей включает в себя:

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

Карта корреляции функций

Кажется, существует сильная корреляция между COSTT4_A (Средняя стоимость посещения (учебный год в учреждениях)) и NPT4_PUB (средняя чистая цена), что имеет смысл!

Пара интересных функций

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

cols_plot = ['COSTT4_A','PCTPELL','RET_FT4','SCH_DEG','SAT_AVG_ALL']

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

Методология

Предварительная обработка данных

Шаги предварительной обработки, которые я выполнил, можно обобщить ниже, сопоставив заголовки в моей последней тетради «capstone_education_final».

  1. Объединить показатель завершения для многолетних учебных заведений и менее 4-летних учебных заведений для студентов дневной формы обучения. Это мой целевой столбец

Во-первых, как упоминалось ранее, необходимо объединить показатель завершения для многолетних учебных заведений и менее 4-летних учебных заведений для студентов дневной формы обучения. Столбцы будут объединены для формирования итогового столбца с целевыми показателями завершения, поскольку значения записываются в зависимости от типа учебного заведения. Записанное значение имеется либо в C100_4 (вуз с четырехлетним сроком обучения), либо в C1004_L4 (вуз менее четырех лет), но не в обоих случаях. Особенности.

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

COSTT4_A,COSTT4_P — Средняя стоимость посещения, обучения и сборов для учебных заведений учебного года и учебных заведений учебного года

NPT4_PRIV,NPT4_OTHER,NPT4_PUB,NPT4_OTHER — средняя чистая цена для государственных колледжей, частных колледжей, программ и других учебных заведений.

RET_PTL4 и RET_PT4 — Коэффициент удержания для учебных заведений с годами и менее чем для 4-летних учебных заведений для студентов-заочников

RET_FTL4 и RET_FT4 — Коэффициент удержания для учебных заведений с годами и менее 4-летних учебных заведений для студентов очной формы обучения.

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

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

5. Отбросьте все строки с отсутствующими данными.

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

Реализация

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

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

Уменьшение размерности

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

Из рисунка выше видно, что 90 % дисперсии объясняются 20 основными компонентами. Меня также интересует объясненная дисперсия для каждого основного компонента.

Первая компонента объясняет 86,0%, а вторая 6,1% общей изменчивости данных. 20 компонентов объясняют более 90% дисперсии, и я буду придерживаться этих принципов.

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

Алгоритмы

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

  • Линейная регрессия
  • Регрессия случайного леса
  • Регрессор повышения градиента

Разделить набор данных, чтобы выбрать целевую переменную

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

Разделить данные на тестовые и обучающие наборы

Алгоритм 1 — линейная регрессия

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

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

Получить лучшие параметры

Использование лучшего оценщика - подгонка набора обучающих данных

Рассчитайте обучающую среднеквадратичную ошибку (RSME) для обучающей выборки.

Алгоритм 2 — регрессор случайного леса

Второй алгоритм — это регрессор случайного леса, и, как и прежде, я использую скалер и PCA.

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

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

Рассчитайте обучающую среднеквадратичную ошибку (RSME) для обучающей выборки.

Алгоритм 3 — регрессор с усилением градиента

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

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

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

Уточнение

Работа с PCA с 3 вариантами (10, 20, 150) занимала очень много времени, и, учитывая изменчивость, 20 компонентов PCA объясняли большую часть дисперсии, поэтому я решил сократить до двух вариантов PCA. С 150 компонентами я смог увидеть больше функций, которые могли повлиять на уровень предсказания, но после 10 функций значимость уменьшилась.

Результаты

Оценка и проверка модели

Прогноз регрессионного теста Liner: 0:12

Предсказание теста случайного леса: 0:12

Регрессор повышения градиента: 0,10

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

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

Обоснование

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

NUMBRANCH: количество филиалов для каждого учреждения.

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

ОСНОВНОЙ: главный кампус

SCH_DEG: Присуждается преобладающая степень (перекодируется 0 и 4)

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

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

PCIP14: Процент ученых степеней, присуждаемых в области инженерии.

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

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

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

Вывод

Отражение

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

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

Улучшение

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

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

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

Ссылки

¹ https://collegescorecard.ed.gov/assets/FullDataDocumentation.pdf

² https://www.dataquest.io/blog/understanding-regression-error-metrics/





Лицензирование и благодарность

Все права на изображение, использованное выше, принадлежат https://www.mdcacademy.org/event/class-2019-graduation/