Бинарная классификация, набор данных «Доход взрослых»
Если вас интересуют статьи, связанные с моим опытом, свяжитесь со мной: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