Hileli İş Tahmini
Bir işin gerçek mi yoksa sahte mi olduğunu tahmin eden bir sınıflandırıcı
giriiş
Dijital dünyadaki hızlı kullanıcı akışı nedeniyle yıllar içinde sahte iş ilanlarında bir artış oldu. COVID 19 ve yaklaşan küresel durgunluk gibi faktörler, iş piyasasını tamamen alt üst etti ve büyük çaplı işten çıkarmalara neden oldu. 2022'nin ilk çeyreğinde 20.700'den fazla iş ve istihdam fırsatı dolandırıcılığı bildirildi ve bunların yaklaşık üçte biri kurbanlar için mali kayıplara neden oldu. Google, Facebook ve Apple gibi teknoloji devlerinin son zamanlarda işe alımları dondurması ve büyük ölçekli işten çıkarmaları, küresel iş piyasasının yokuş aşağı gittiğini gösteren bir başka kanıt.
İşsizlikteki bu artış, dolandırıcıların, mali durumlarıyla ilgili olarak ipin ucuna takılan insanları avlamalarına zemin hazırladı. Bu dolandırıcılar, iş arayanları başvurmaya ikna etmek için hileli bir iş vaatleri yayınlar. Çoğu zaman, bu iş teklifleri, başvuru sahibinden ara sıra yatırım talep eden son derece kazançlı kariyer fırsatları içerir. Herhangi bir yatırım gerekli olmasa bile, bu hileli iş ilanları, dolandırıcıların banka hesap bilgileri, sosyal güvenlik numarası, adresler vb. kişisel bilgileri almasına olanak tanır. Bu bilgiler daha sonra kimlik hırsızlığı veya finansal dolandırıcılık için kullanılabilir.
Odak noktamız, gönderide sağlanan bilgilere dayanarak belirli bir iş ilanının gerçek mi yoksa sahte mi olduğunu yeterli hassasiyetle tahmin etmektir.
veri kümesi
Bu proje, Kaggle'da sağlanan bir veri kümesini kullanır . Bu veri seti 18.000 giriş içerdiğinden, popülasyonun yalnızca bir alt kısmı için veri toplandığı için örneklem olarak sınıflandırılabilir. Bu özel veri kümesini seçtik çünkü hem metinsel iş tanımlarını hem de işlerle ilgili meta bilgileri içeren zengin özelliklere sahip. İşte verilerde bulunan tüm sütunları gösteren bir pasaj:
Seçtiğimiz veri setinde ilk 16'sı özellik sütunları ve sonuncusu çıktı sütunu olmak üzere 17 sütun bulunmaktadır. Özellik sütunları tamsayı, ikili ve metinsel veri türlerinin bir karışımıyken, çıktı sütunu bir booledir. 'Sahte' sütunundaki 0 değeri, yayınlanan işin gerçek olduğunu, 1 değeri ise işin sahte olduğunu gösterir.
Sahte iş tanımlarını tespit edebilen bir sınıflandırma modeli oluşturmamızı sağlayabilecek tüm temel özellikleri içerdiğinden, veri setinin çok değerli olduğuna inanıyoruz.
Hedefler
Aşağıdaki Keşifsel Veri Analizine (EDA) dayanarak, projemiz için aşağıdaki iki araştırma sorusunu kısa listeye alıyoruz:
RQ1: İş arayanların sahte iş tekliflerini tespit etmek için kullanabileceği bazı belirteçler nelerdir?
RQ2: Bir iş ilanının gerçek mi yoksa sahte mi olduğunu yeterince tanımlayabilen bir sınıflandırıcı modeli eğitebilir miyiz?
Keşifsel Veri Analizi
Analizimize, veri setimizin her bir sütununda bulunan NaN değerlerinin sayısını bir çubuk grafiği kullanarak görselleştirerek başlıyoruz.
Görselleştirme, "departman" ve "maaş_aralığı" sütunlarının yüksek sayıda NaN değerine sahip olduğunu göstermektedir. Sonuç olarak, bu iki sütun bırakılır.
İş tanımlarının yaklaşık %95'i gerçekken, iş tanımlarının sadece %5'i sahtedir. Sınıf oranları oldukça çarpık olduğundan, hileli işlerin azınlık sınıfını oluşturduğu dengesiz verilerle uğraşıyoruz. Aşağıda gerçek ve sahte işlerin sayısını görselleştiriyoruz.
Artık verilerimizin ilk temizliğini bitirdiğimize ve bireysel sınıf sayılarını görselleştirdiğimize göre, veri setinde bulunan farklı eğilimleri belirlemeye devam edebiliriz. İlk adım, sayısal veriler arasındaki ilişkiyi analiz etmektir. Aşağıdaki korelasyon ısı haritası, sayısal veriler arasında herhangi bir güçlü pozitif veya negatif korelasyon olmadığını gösterir.
Veri kümesine göz gezdirildiğinde, dünyanın her yerinden girişler içerdiği açıktır. Mevcut demografiyi doğru bir şekilde değerlendirmek için her Ülkedeki İş Sayısını çiziyoruz.
Çizimde görüldüğü gibi, işlerin ezici bir çoğunluğu (10.000'den fazla iş) yalnızca Amerika Birleşik Devletleri'nden (ABD) gelmektedir ve İngilizce dilindedir. Bu nedenle, dil sorunlarını önlemek için yalnızca ABD'deki iş ilanlarını filtreliyoruz. Bu karar, sahte iş tahmini için iş tanımları ve diğer metinsel özellikler üzerine bağlamsal bir model eğitmek için sözcük yerleştirmeleri ve diğer Doğal Dil İşleme tekniklerini kullanma planımızı göz önünde bulundurarak alınmıştır.
İşlem kolaylığı için konum sütununu ülke, eyalet ve şehre ayırdık. Orijinal "konum" sütunu bırakılır. Ayrıca, verilerin işlenmesinde sorun yaşamamak için eyalet ve şehrin boş veya NaN olduğu satırları kaldırdık.
Veri kümemiz şu anda yalnızca ABD'den değerler içerdiğinden, her eyaletteki sahte ve gerçek işlerin sayısı arasında bir karşılaştırma görebiliriz. Aşağıdaki grafik, New York, California ve Texas'ın en fazla sayıda gerçek iş ilanına ve buna bağlı olarak en fazla sahte iş ilanına sahip olduğunu göstermektedir. Görüldüğü gibi Texas ve California'da New York'tan daha fazla sahte iş ilanı bulunuyor.
Ancak bu tür görsel analizler, gerçek iş ilanlarıyla karşılaştırıldığında sahte iş ilanlarının sayısını doğru bir şekilde temsil etmez. Bu nedenle, eyaletler ve şehirler sahte verilere göre şartlandırılır ve sahte ve gerçek işler arasındaki oran hesaplanır. Örneğin,
Yalnızca oranı > 1 olan şehirler, yani gerçek işlerden daha fazla sahte iş, dağınıklığı önlemek için çubuk grafikte görüntülenir.
İstihdam türü, gerekli deneyim, gerekli eğitim, has_company_logo ve işlev sütunlarında farklı sınıflar için sahte işlerin dağılımını araştırmak; verileri aşağıda gösterildiği gibi çizildi.
Bu grafikleri özetlemek gerekirse, sahte işler tipik olarak tam zamanlı, giriş seviyesi, mühendislik ve idari pozisyonlardır ve genellikle lise diplomasına eşdeğer gerekli eğitime sahiptir. Logosu olmayan şirketlerin sahte işler gönderme şansı, diğerlerine göre daha yüksektir.
Son olarak, metin sütunlarında kapsayıcı analiz için, bunların tümü, hileli ve hileli olmayan işler arasındaki karakter sayısı farkını gözlemlemek için bir histogramın çizildiği tek bir sütunda birleştirilir. Görüldüğü gibi hileli işlerin, hilesiz işlere göre çok daha az sözü vardır.
sınıflandırma
Özellik seti
İşlem kolaylığı için tüm metin sütunlarını tek bir sütunda harmanlıyoruz. Tek tek metin sütunları bırakılır. Harmanlanmış metnin toplam karakter sayısını başka bir sütun olarak ekliyoruz.
Tren Testi Bölümü
Daha sonra verileri eğitim ve doğrulama kümelerine ayırdık. %70 tren — %30 test ayrımı yapıyoruz . Tren verilerimiz, 442'si (%6,4) sahte olmak üzere 6.923 işe sahiptir. Test verilerimiz, 187'si (%6,3) sahte olan 2.968 işe sahiptir.
Değerlendirme metrikleri
Bir sınıflandırma modelini değerlendirmek için aşağıdaki dört metriği kullanırız:
- Kesinlik
3. Hatırlama
4. F1 Skoru
Eğitim
Öncelikle verilerdeki sayısal özellikleri kullanarak bir işin gerçek mi yoksa sahte mi olduğunu tahmin etmeye çalışıyoruz.
Aşağıdaki sınıflandırıcı modellerini eğitiyor ve değerlendiriyoruz:
1. Lojistik Regresyon
2. Destek Vektör Makinesi (SVM) Sınıflandırıcı yani SVC
3. Rastgele Orman Sınıflandırıcısı
Bu üç yaklaşımın sonuçları aşağıdaki tabloda özetlenmiştir:
Rastgele Orman Sınıflandırıcı oldukça doğru sınıflandırmalar yapabilmesine rağmen, sadece sayısal özellikler kullanılarak eğitilen sınıflandırıcı modellerin üçü de çok düşük kesinlik, hatırlama ve F1 puanlarına sahiptir.
Sayısal özelliklerle eğitilen modellerin hiçbiri sahte işleri doğru bir şekilde sınıflandıramadığından, daha iyi tahminler yapabilmek için metinsel özellikleri Doğal Dil İşleme teknikleriyle kullanmalıyız.
Doğal Dil İşleme
Aşağıdaki adımları içeren bir boru hattı uyguluyoruz:
- CountVectorizer : Metin ön işleme, tokenizasyon ve stopwords filtreleme özelliklerinin tümü
CountVectorizer, bir özellikler sözlüğü oluşturan ve belgeleri özellik vektörlerine dönüştüren 'e dahil edilmiştir. - TfidfTransformer : Daha uzun belgeler, daha kısa belgelerden ortalama olarak daha fazla kelime sayısına sahip olacaktır. Bu sorunun üstesinden gelmek için, Tfidf dönüştürücü terim frekanslarını (tf) elde etmek için bir belgedeki her bir kelimenin geçiş sayısını belgedeki toplam kelime sayısına böler. Ayrıca, çok sayıda örnekte geçen kelimelerin ağırlıklarını da düşürür. Bunun nedeni, bu kelimelerin sınıflandırmada daha az yararlı olacağıdır.
- Sınıflandırıcı : Bir iş ilanının kategorisini (sahte veya değil) tahmin etme sınıflandırma görevini gerçekleştiren sınıflandırıcı modeli.
- SGD Sınıflandırıcı
Metin sınıflandırma görevleri için en iyi sınıflandırıcı modellerinden biri olarak kabul edilen doğrusal bir SVM veren menteşe kaybını kullanıyoruz. Ayrıca, verilerimizde büyük bir sınıf dengesizliği olduğu için class_weight=”balanced” kullanıyoruz. Bu özelliği kullanırken, dengesiz sınıflandırmaya otomatik olarak daha yüksek bir ağırlık atanır. - Rastgele Orman Sınıflandırıcısı
Hiperparametreler maksimum derinlik ve tahminci sayısı için en uygun değerleri elde etmek amacıyla rastgele orman üzerinde çapraz doğrulama gerçekleştiriyoruz. Kayıp fonksiyonu olarak Ortalama Karesel Hata (MSE) kullanıyoruz. Aşağıda, maksimum derinlik ve tahminci sayısı için bir değer aralığına karşı ortalama kare hata fonksiyonunun 3B çizimi yer almaktadır. Optimum parametreler tahmin edici sayısı = 50 ve maksimum derinlik = 16 olarak bulundu. Daha sonra bu değerler için rastgele orman sınıflandırıcı modelini değerlendiriyoruz. Ayrıca veri setindeki sınıf dengesizliğini gidermek için sklearn tarafından sağlanan class_weight parametresini kullanarak otomatik sınıf ağırlıklarını da kullanıyoruz.
Karşılaştırma yapıldığında, SGD'nin verilerimizde rastgele orman sınıflandırıcısından çok daha iyi performans gösterdiği açıktır. Boru hattındaki SGD sınıflandırıcısını kullanarak, bir işin gerçek mi yoksa sahte mi olduğunu yeterli hassasiyet ve geri çağırma ile tahmin edebiliyoruz.
Sonuçlar
Aşağıdaki tablo, en iyi modelimiz için bu ölçümleri özetlemektedir:
Model tarafından yapılan sınıflandırmalar için karışıklık matrisi aşağıdadır. 187 sahte işin 2781 gerçek 27'sinden sadece 14'ünü yanlış sınıflandırdı.
Doğrulama setinde toplam 2781 gerçek ve 187 sahte iş vardı.
Modelimiz, 2781 gerçek işten 2767'sini gerçek (doğruluk = %99,50) ve 187 sahte işten 160'ını sahte (doğruluk = %85,56) olarak doğru bir şekilde sınıflandırdı.
Gelecek iş
Modelimiz, gerçek işleri mükemmele yakın doğrulukla doğru bir şekilde tahmin ediyor, ancak sahte işlerin tahmin doğruluğu geliştirilebilir. Bunun nedeni, veri kümesindeki sahte işlerin oranının gerçekten küçük olmasıdır (~ %6). Takip çalışması, daha fazla sahte iş içeren yeni ve dengeli bir veri kümesinin toplanmasına odaklanabilir. Sentetik Azınlık Aşırı Örnekleme Tekniği (SMOTE) gibi teknikler, sınıf dengesizliği sorununu çözmek için kullanılabilir. Bir başka potansiyel iyileştirme, verilerdeki hem metinsel hem de sayısal özellikleri kullanan tahmin için bir topluluk yöntemi kullanmak olacaktır.
Referanslar
- https://www.kaggle.com/datasets/shivamb/real-or-fake-fake-jobposting-prediction
- https://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
- https:///@corymaklin/synthetic-minority-over-sampling-technique-smote-7d419696b88c

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































