Использование моделей классификации для прогнозов
Здоровая кровь является настоящим достоянием центров переливания крови. Одной из наиболее важных целей центров переливания крови является получение здоровой крови, которую собирают у добровольных доноров крови, которые могут сдавать здоровую кровь.
Есть несколько причин, по которым люди сдают кровь, и эти причины различаются у разных людей. Некоторые из этих причин включают в себя:
- Пожертвование в случае чрезвычайных ситуаций
- Пожертвование как акт благотворительности
- Пожертвование только родственникам
- Пожертвование только родственникам
В этом проекте мы будем использовать классификацию моделей машинного обучения, чтобы выяснить, будет ли донор сдавать кровь в марте, а также выясним важные факторы, которые могут помешать сдаче крови.
Цели и задачи
В этом проекте мы попытаемся сгруппировать домохозяйства на основе их использования электроэнергии.
Поток Процесс
- Источник данных: набор данных из этого проекта загружается из 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.
При оценке показателей мы получили следующие результаты.
- Классификатор случайного леса
- Оценка точности = 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