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

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

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

  • Пожертвование в случае чрезвычайных ситуаций
  • Пожертвование как акт благотворительности
  • Пожертвование только родственникам
  • Пожертвование только родственникам

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

Цели и задачи

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

Поток Процесс

  • Источник данных: набор данных из этого проекта загружается из Data Science Dojo.
  • Обучение модели. Здесь очищенные данные были обучены с использованием моделей RandomForest и GradientBoostingClassifier.
  • Оценка и проверка моделей. Производительность моделей измерялась с использованием показателей точности и отзыва в качестве показателей.

Подготовка данных и EDA

В наборе данных 5 признаков и 748 наблюдений.

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

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

Выбросы были удалены с использованием наблюдений в квантилях 25–75; удаление этих выбросов подтверждается следующей гистограммой функции «months_since_first_donation»

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

Построение моделей

Модели классификации Random Forest Classifier и Gradient Boosting Classifierбыли обучены с использованием следующих функций:

  • month_since_last_donation
  • объем_пожертвований
  • month_since_first_donation

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

Целевой ярлык «класс» содержит двоичные значения (0 и 1), отражающие, сдавал ли он/она кровь в марте 2007 г.

  • 1 стойка для сдачи крови
  • 0 означает отказ от сдачи крови

Обе модели были передискретизированы с использованием передискретизаторов и аномализаторов. Затем были настроены гиперпараметры с помощью GridSearchCV.

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

  1. Классификатор случайного леса
  • Оценка точности = 0,68
  • Напомним: 0,82

2. Классификатор повышения градиента

  • Оценка точности = 0,64
  • Напомним: 0,78

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

  • максимальная_глубина = 20
  • n_оценщиков = 75
  • случайное_состояние = 32

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

Выводы

В порядке важности следующие факторы могут помешать донорам сделать еще одно пожертвование:

  • Месяцы с момента первого пожертвования
  • Месяцы с момента последнего пожертвования
  • Объем пожертвований

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

Ссылка на ноутбук: https://github.com/GentRoyal/Household-Electric-Power-Consumment/blob/main/Clustering%20with%20K-Means%20algorithm.ipynb