Bu proje, IBM HR Analytics veri setini kullanarak çalışan devamsızlık tahmini ve performans faktörlerinin analizini içerir. Makine öğrenmesi modelleriyle %87 doğruluk elde edilmiştir.
- Python 3.8+
- Kütüphaneler:
- Pandas, NumPy (Veri İşleme)
- Matplotlib, Seaborn (Görselleştirme)
- Scikit-learn (Random Forest, Gradient Boosting, Logistic Regression)
- Imbalanced-learn (SMOTE)
- Veri Kaynağı: Kaggle IBM HR Dataset
- 1470 gözlem, 35 özellik
- Hedef Değişken:
Attrition(Ayrılma Durumu) - Temel Özellikler:
Age,Department,JobRoleMonthlyIncome,YearsAtCompany
- Eksik Veri Yok
-
Veri Ön İşleme
- Gereksiz sütunların çıkarılması
- Kategorik değişken kodlaması (One-Hot Encoding)
- Veri normalizasyonu (
StandardScaler)
-
Keşifsel Veri Analizi ![Departmana Göre Ayrılma Oranları]
- Satış departmanında ayrılma oranı: 20.6%
- Yaş gruplarına göre dağılım analizi
-
Model Geliştirme
- SMOTE ile veri dengelenmesi
- GridSearchCV ile hiperparametre optimizasyonu
- Çapraz doğrulama (5-fold)
-
En Etkili Faktörler:
- Aylık Gelir (
MonthlyIncome) - Yaş (
Age) - Toplam Çalışma Süresi (
TotalWorkingYears)
- Aylık Gelir (
-
Çarpıcı İstatistikler:
- 18-25 yaş grubunda ayrılma oranı: 30.4%
- İş Tatmini Düşük çalışanlarda ayrılma: 3.2x daha fazla
| Model | Doğruluk | ROC-AUC | Hassasiyet (Ayrılanlar) |
|---|---|---|---|
| Random Forest | 87.2% | 0.93 | 72.1% |
| Gradient Boosting | 85.6% | 0.91 | 68.9% |
| Logistic Regression | 82.3% | 0.88 | 63.4% |