Skip to content

Repository files navigation

Прогнозирование дохода населения (Adult Income Dataset)

Ссылка на dataset (https://www.kaggle.com/datasets/wenruliu/adult-income-dataset/data). Набор данных содержит демографическую информацию о переписи населения и используется для прогнозирования того, превышает ли годовой доход человека 50 000 долларов США.

Характеристики:

Набор данных содержит 48 842 наблюдения, 14 признаков и 1 целевая переменная (income).

Признаки:

  • age: Возраст человека.
  • workclass: Тип работодателя. Категориальный признак.
  • fnlwgt: Вес, присвоенный Бюро переписи населения для представления долей населения.
  • education: Уровень образования. Категориальный признак с пятью значениями.
  • education-num: Количество лет обучения.
  • marital-status: Семейное положение. Категориальный признак.
  • occupation: Род занятий. Категориальный признак.
  • relationship: Семейная роль. Категориальный признак.
  • race: Раса. Категориальный признак.
  • sex: Пол. Категориальный признак.
  • capital-gain: Доход от капиталовложений (в долларах).
  • capital-loss: Убыток от капиталовложений (в долларах).
  • hours-per-week: Количество рабочих часов в неделю.
  • native-country: Страна происхождения. Категориальный признак.

Целевая переменная:

  • income: Категориальная переменная, указывающая, превышает ли годовой доход человека 50 000 долларов США. Имеет два значения: <=50K и >50K.

Разведочный анализ данных

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

Обработка данных

  • Удалил строки с дубликатами.
  • Преобразовал типы данных: для количественных переменных установил тип float32, а для категориальных category.
  • С помощью RFECV отобрал факторы. Удалил has-spouse, gender, race, self-employed, gov-sector, from-usa, full-time, capital-gain_yeo, capital-loss_yeo.

Эффект от обработки данных

  • За счет удаления факторов скорость работы модели увеличилась.

Подбор гиперпараметров модели

  • В начале было зафиксировано: is_unbalance = True.
  • Стартовое количество деревьев (n_estimators) было подобрано с помощью замера метрики (average_precision) на кросс-валидации с критерием останова early_stopping_rounds = 50. Оно равнялось 126.
  • Количество листов в дереве (num_leaves) было подобрано с помощью замера метрики на кросс-валидации. Значения были в диапазоне от 7 до 50. Лучшим оказалось 27.
  • Параметры сэмплирования относительно столбцов (colsample_bytree) и строк (subsample) подбирались таким же образом. Оптимальные значения - subsample = 0.1, colsample_bytree = 0.4.
  • Скорректировал количество деревьев (n_estimators) - оптимальным оказалось число 118.

Эффект от подбора гиперпараметров модели

  • Доля правильных ответов для положительного класса (>50K) сильно увеличилась.
  • Увеличилась метрика recall для положительного класса (>50K).

Метрики итоговой модели на обучающей и тестовой выборке

Метрика Train Test
roc_auc 0.943 0.928
accuracy 0.845 0.830
weighted avg precision 0.881 0.866
weighted avg recall 0.845 0.830
weighted avg f1-score 0.853 0.839

Отсутствует переобучение.

About

Прогнозирование дохода населения

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages