Мошенническое предсказание работы

Dec 05 2022
Классификатор, предсказывающий, является ли вакансия реальной или поддельной. Введение За последние годы увеличилось количество поддельных объявлений о вакансиях из-за быстрого притока пользователей в цифровом мире. Такие факторы, как COVID-19 и надвигающаяся глобальная рецессия, полностью разрушили рынок труда и привели к массовым увольнениям.

Классификатор, который предсказывает, является ли работа реальной или поддельной

Введение

За последние годы из-за быстрого притока пользователей в цифровом мире увеличилось количество поддельных объявлений о вакансиях. Такие факторы, как COVID-19 и надвигающаяся глобальная рецессия, полностью разрушили рынок труда и привели к массовым увольнениям. В первом квартале 2022 года было зарегистрировано более 20 700 мошеннических действий в сфере бизнеса и трудоустройства, причем примерно треть из них привела к финансовым потерям для жертв. Недавнее замораживание найма и массовые увольнения со стороны технологических гигантов, таких как Google, Facebook и Apple, являются еще одним доказательством того, что мировой рынок труда идет вниз.

Этот рост безработицы подготовил почву для того, чтобы мошенники охотились на людей, которые едва держатся на волоске в отношении своего финансового положения. Эти мошенники публикуют мошеннические обещания о работе, чтобы побудить соискателей подать заявку. Чаще всего эти предложения о работе содержат чрезвычайно прибыльные карьерные возможности, которые иногда требуют инвестиций от заявителя. Даже если вложения не требуются, эти мошеннические объявления о вакансиях позволяют мошенникам получать личную информацию, такую ​​как информация о банковском счете, номер социального страхования, адреса и т. д. Позже эта информация может быть использована для кражи личных данных или финансового мошенничества.

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

Набор данных

В этом проекте используется набор данных, предоставленный на Kaggle . Поскольку этот набор данных содержит 18 000 записей, его можно классифицировать как выборку, поскольку данные собираются только для части населения. Мы выбрали именно этот набор данных, потому что он имеет богатый набор функций, включая как текстовые описания вакансий, так и метаинформацию о вакансиях. Вот фрагмент, показывающий все столбцы, присутствующие в данных:

В выбранном нами наборе данных есть 17 столбцов, из которых первые 16 являются столбцами признаков, а последний — выходным столбцом. Столбцы функций представляют собой смесь целочисленных, двоичных и текстовых типов данных, тогда как выходной столбец является логическим. Значение 0 в столбце «Мошенничество» указывает на то, что опубликованная вакансия была реальной, тогда как значение 1 указывает на то, что вакансия была поддельной.

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

Цели

Основываясь на Исследовательском анализе данных (EDA), приведенном ниже, мы составили список следующих двух исследовательских вопросов для нашего проекта:

RQ1: Какие маркеры могут использовать соискатели, чтобы определить фальшивые предложения о работе?

RQ2: Можем ли мы обучить модель классификатора, которая сможет адекватно определять, является ли объявление о вакансии реальным или поддельным?

Исследовательский анализ данных

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

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

Приблизительно 95% описаний вакансий являются реальными, и только 5% вакансий являются поддельными. Поскольку пропорции классов сильно искажены, мы имеем дело с несбалансированными данными, в которых мошеннические рабочие места составляют класс меньшинства. Мы визуализируем количество реальных и поддельных рабочих мест ниже.

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

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

Как видно из графика, подавляющее большинство (более 10 000 вакансий) вакансий поступает исключительно из Соединенных Штатов (США) и выполняется на английском языке. Таким образом, мы фильтруем объявления о вакансиях только из США, чтобы избежать языковых проблем. Это решение принято с учетом нашего плана по использованию встраивания слов и других методов обработки естественного языка для обучения контекстной модели на описаниях вакансий и других текстовых функциях для поддельного предсказания работы.

Для простоты обработки мы разделили столбец местоположения на страну, штат и город. Исходный столбец «местоположение» удален. Кроме того, мы удалили строки, в которых штат и город пусты или содержат NaN, чтобы избежать проблем с обработкой данных.

Поскольку наш набор данных сейчас содержит значения только из США, мы можем увидеть сравнение количества мошеннических и реальных рабочих мест в каждом штате. График ниже показывает, что Нью-Йорк, Калифорния и Техас имеют наибольшее количество реальных объявлений о вакансиях и, соответственно, наибольшее количество поддельных объявлений о вакансиях. Как видно, в Техасе и Калифорнии больше поддельных объявлений о вакансиях, чем в Нью-Йорке.

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

Только города с соотношением > 1, т. е. больше поддельных рабочих мест, чем реальных рабочих мест, отображаются на гистограмме, чтобы избежать беспорядка.

Исследовать распределение поддельных вакансий для разных классов в столбцах: тип занятости, требуемый опыт, требуемое образование, has_company_logo и функция; их данные были нанесены на график, как показано ниже.

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

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

Классификация

Набор функций

Мы объединяем все текстовые столбцы в один столбец для простоты обработки. Отдельные текстовые столбцы удаляются. Мы добавляем общее количество символов сопоставленного текста в качестве еще одного столбца.

Тренировочный тестовый сплит

Затем мы разделяем данные на наборы для обучения и проверки. Мы делаем 70% поезд — 30% тестовый сплит. Наши данные о поездах содержат 6 923 рабочих места, из которых 442 (6,4 %) являются поддельными. Наши тестовые данные содержат 2 968 вакансий, из которых 187 (6,3%) являются поддельными.

Метрики оценки

Мы используем следующие четыре метрики для оценки модели классификации:

  1. Точность

3. Вспомнить

4. Оценка F1

Подготовка

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

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

1. Логистическая регрессия

2. Классификатор метода опорных векторов (SVM), т.е. SVC

3. Классификатор случайного леса

Результаты для этих трех подходов приведены в таблице ниже:

Результаты классификации только по числовым признакам

Хотя классификатор Random Forest способен проводить достаточно точную классификацию, все три модели классификатора, обученные с использованием только числовых признаков, имеют очень низкую точность, полноту и баллы F1.

Матрица путаницы для классификатора случайного леса, обученного только на числовых данных: хотя модель способна достичь достаточно высокой точности, она только предсказывает поддельные задания с точностью примерно 37%. Высокая точность модели обусловлена ​​тем, что она правильно предсказывает реальные рабочие места с почти идеальной точностью 94,4%. Поскольку 95% рабочих мест в наших данных являются реальными, это обеспечивает высокую общую точность.

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

Обработка естественного языка

Мы реализуем конвейер со следующими шагами:

  1. CountVectorizer : предварительная обработка текста, токенизация и фильтрация стоп-слов включены в CountVectorizer, который создает словарь функций и преобразует документы в векторы функций.
  2. TfidfTransformer : в более длинных документах в среднем будет больше слов, чем в более коротких документах. Чтобы преодолеть эту проблему, преобразователь Tfidf делит количество вхождений каждого слова в документе на общее количество слов в документе, чтобы получить частоты терминов (tf). Кроме того, он уменьшает вес слов, которые встречаются в большом количестве выборок. Это потому, что эти слова будут менее полезными в классификации.
  3. Классификатор : модель классификатора, которая выполняет задачу классификации по прогнозированию категории (мошенническая или нет) публикации о вакансии.
  1. Классификатор SGD
    Мы используем потерю шарнира, которая дает линейный SVM, который считается одной из лучших моделей классификатора для задач классификации текста. Кроме того, мы используем class_weight="balanced", так как в наших данных существует большой дисбаланс классов. При использовании этой функции несбалансированным классам автоматически присваивается более высокий вес.
  2. Классификатор случайного леса
    Мы выполняем перекрестную проверку случайного леса, чтобы получить оптимальные значения максимальной глубины гиперпараметров и количества оценок. Мы используем среднеквадратичную ошибку (MSE) в качестве функции потерь. Ниже приведен трехмерный график функции среднеквадратичной ошибки в зависимости от диапазона значений максимальной глубины и количества оценок. Найдены оптимальные параметры: количество оценщиков = 50 и максимальная глубина = 16. Затем мы оцениваем модель классификатора случайного леса для этих значений. Кроме того, мы также используем автоматические веса классов с помощью параметра class_weight, предоставленного sklearn, для преодоления дисбаланса классов в наборе данных.
Результаты классификации на основе текстовых данных с использованием Natural Language Processing

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

Полученные результаты

В таблице ниже приведены эти показатели для нашей лучшей модели:

Ниже приводится матрица путаницы для классификаций, сделанных моделью. Он неправильно классифицировал только 14 из 2781 реальной работы и 27 из 187 поддельных вакансий.

Всего в проверочном наборе было 2781 реальное и 187 поддельных заданий.

Наша модель правильно классифицировала 2767 из 2781 реальных рабочих мест как настоящие (точность = 99,50 %) и 160 из 187 поддельных рабочих мест как поддельные (точность = 85,56 %).

Будущая работа

Наша модель правильно предсказывает реальные рабочие места с почти идеальной точностью, но точность предсказания поддельных рабочих мест может быть улучшена. Это связано с тем, что доля поддельных вакансий в наборе данных действительно мала (~ 6%). Последующая работа может быть сосредоточена на сборе нового сбалансированного набора данных с большим количеством поддельных заданий. Для решения проблемы дисбаланса классов можно использовать такие методы, как TEchnique синтетического меньшинства с избыточной выборкой (SMOTE) . Другим потенциальным улучшением может быть использование метода ансамбля для предсказания с использованием как текстовых, так и числовых признаков в данных.

использованная литература

  1. https://www.kaggle.com/datasets/shivamb/real-or-fake-fake-jobposting-prediction
  2. https://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
  3. https:///@corymaklin/synthetic-minority-over-sampling-technique-smote-7d419696b88c