Бинарная классификация, набор данных «Доход взрослых»

Если вас интересуют статьи, связанные с моим опытом, свяжитесь со мной:linkedin.com/in/nattapong-thanngam

Обзор источника данных:

  • Название источника данных: Набор данных для взрослых
  • Абстрактный. Предскажите, превысит ли доход 50 000 долларов США в год на основе данных переписи населения. Также известен как набор данных «Доход переписи».
  • 48 842 точки данных + 14 характеристик (возраст, рабочий класс, семейное положение, род занятий, пол, прирост/потеря капитала и т. д.)

Шаг 1) Разделить данные для обучения/тестирования

  • Пример необработанных данных

  • На самом деле мы не знаем результат в начальный период. Поэтому я думаю, что будет лучше сначала разделить Train/Test.

Шаг 2) Визуализация данных

  • Тепловая карта корреляции

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

  • Просмотреть все данные

  • У нас будет больше понимания данных, когда мы увидим график

Шаг 3) Маркировка данных

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

Шаг 4) Выбор функции

  • Я выбираю объекты, получившие оценку выше 4, как «X_selection»
  • Тем не менее, я по-прежнему сохраняю все функции как «X_original».

Шаг 5) Сравнение моделей

  • Для этого проекта я сравниваю 7 алгоритмов (DecisionTree, LogisticRegression, kNN, RandomForest, XGBoost, LightGBM, GradientBoostingClassifier)
  • Я использую 9 моделей ресемплинга (без ресемплера, андерсемплера, аверсемплера, smote, smote_tomek, smote_svm, smote_enn, smote_borderline, adasyn)
  • Я использую функцию «StratifiedKFold», установив «n_splits = 5»
  • Рейтинг по «Среднему показателю AUC»

Шаг 6) Настройка модели

  • После настройки показатель AUC увеличился с 92,69% до 92,90%.

Шаг 7) Предсказать тестовые данные

  • После настройки показатель AUC увеличился с 92,69% до 92,90%.

  • Ключевой показатель должен зависеть от цели проекта. Тем не менее, мы должны сравнить результаты поезда и теста. (Выберите AUC для этого проекта)
    — показатель AUC = 92,56 % (модель = 92,90 %)
    — Точность = 83,84 % (модель = 83,54 %)
    — Точность = 61,78 % (test_model = 61,38 %)
    — отзыв = 85,06 % (test_model = 85,78 %)
    — показатель F1 = 71,58 % (test_model = 71,55 %)
    — тип I error_per_Total = 12,59 % (test_model = 12,92 % )
    — error_per_Total типа II = 3,57% (test_model = 3,44%)

Примечание.
 – Ошибка типа I → (Реальное значение = Class_0, Прогноз = Класс_1) = 291/8141
 – Ошибка типа II → (Реальное значение = Class_1, Прогноз = Class_0) = 1025/8141

Пожалуйста, не стесняйтесь обращаться ко мне, я готов поделиться и обменяться мнениями по темам, связанным с наукой о данных и цепочками поставок.
Facebook: facebook.com/nattapong.thanngam
Linkedin:
linkedin.com/in/nattapong-thanngam