marcel739 commited on
Commit
8b278c3
Β·
verified Β·
1 Parent(s): 4e2ea2f

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +70 -0
README.md ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - tabular-classification
5
+ - employee-attrition
6
+ - human-resources
7
+ - scikit-learn
8
+ ---
9
+
10
+ # Employee Attrition Intelligence
11
+
12
+ Model klasifikasi untuk memperkirakan apakah seorang karyawan termasuk kelas bertahan (`left=0`) atau keluar (`left=1`) berdasarkan fitur HR yang tersedia.
13
+
14
+ ## Informasi proyek
15
+ - **Pembuat:** Marcel Ong
16
+ - **NIM:** 2025121043
17
+ - **Mata kuliah:** MN1135 β€” Business Data Science
18
+ - **Jenis tugas:** Binary classification
19
+ - **Algoritma:** Random Forest
20
+ - **Dataset:** HR Analytics / HR_comma_sep.csv
21
+ - **Target:** `left` (0 = bertahan, 1 = keluar)
22
+
23
+ ## Dataset dan sumber
24
+ Dataset berisi atribut pekerjaan karyawan, seperti kepuasan, evaluasi, jumlah proyek, jam kerja bulanan, masa kerja, kecelakaan kerja, promosi, departemen, dan tingkat gaji. Sumber dataset: [Kaggle HR Analytics](https://www.kaggle.com/ludobenistant/hr-analytics/data).
25
+
26
+ ## Fitur input
27
+ Model mengharapkan 17 fitur numerik yang sudah melalui encoding sesuai preprocessing saat pelatihan. Urutan kolom dijaga menggunakan `feature_names.joblib`.
28
+
29
+ - `satisfaction_level` β€” `float64`
30
+ - `last_evaluation` β€” `float64`
31
+ - `number_project` β€” `int64`
32
+ - `average_montly_hours` β€” `int64`
33
+ - `time_spend_company` β€” `int64`
34
+ - `Work_accident` β€” `int64`
35
+ - `promotion_last_5years` β€” `int64`
36
+ - `salary_encoded` β€” `int64`
37
+ - `sales_RandD` β€” `int64`
38
+ - `sales_accounting` β€” `int64`
39
+ - `sales_hr` β€” `int64`
40
+ - `sales_management` β€” `int64`
41
+ - `sales_marketing` β€” `int64`
42
+ - `sales_product_mng` β€” `int64`
43
+ - `sales_sales` β€” `int64`
44
+ - `sales_support` β€” `int64`
45
+ - `sales_technical` β€” `int64`
46
+
47
+ ## Performa pada data uji
48
+ - Accuracy: 0.9858
49
+ - Precision kelas keluar: 0.9892
50
+ - Recall kelas keluar: 0.9246
51
+ - F1-score kelas keluar: 0.9558
52
+
53
+ ## Berkas repository
54
+ - `model_final.joblib` β€” model hasil tuning
55
+ - `scaler.joblib` β€” objek StandardScaler dari tahap UTS
56
+ - `feature_names.joblib` β€” urutan fitur hasil encoding
57
+ - `metadata.json` β€” metadata model dan preprocessing
58
+
59
+ ## Cara memuat model
60
+ ```python
61
+ import joblib
62
+ model = joblib.load("model_final.joblib")
63
+ scaler = joblib.load("scaler.joblib")
64
+ feature_names = joblib.load("feature_names.joblib")
65
+ ```
66
+
67
+ Siapkan satu baris data yang sudah di-encoding dengan kolom sesuai `feature_names`. Jika `uses_scaling` bernilai `True`, standardisasi kolom pada `scale_columns` menggunakan objek scaler yang disimpan sebelum memanggil `model.predict()`.
68
+
69
+ ## Keterbatasan
70
+ Model hanya mempelajari pola dari dataset historis yang digunakan. Prediksi bukan kepastian bahwa seorang karyawan akan keluar. Data tidak mencakup seluruh faktor personal dan organisasi, serta dapat mengandung bias atau perubahan pola dari waktu ke waktu. Hasil model hanya boleh menjadi sinyal awal untuk peninjauan manusia oleh HR, bukan dasar tunggal keputusan terhadap karyawan.