Pada kesempatan kali ini, saya akan melakukan prediksi terhadap karyawan yang akan meninggalkan perusahaan dan tidak meninggalkan perusahan berdasarkan kategori dan beberapa variabel penunjangnya. Algoritma yang akan saya gunakan yaitu menggunakan model Classfication yang terdiri dari Logistik Regression, Classification Tree, Random Forsets dan Super Vector Machine (SVM) yang termasuk dalam Supervised Learning.
Dataset yang digunakan untuk studi kasus ini bisa didownload https://drive.google.com/file/d/14JF0M6G-RXjaNBhuJQEEY1yOtJENMPQS/view?usp=drivesdk
Proses mengimprot data dalam format csv dapat dilakukan menggunakan fungsi rea.csv() dan menyebutkan nama file beserta folder tempat menyimpanya.
Sebelum melangkah lebih jauh bekerja dengan data, saya perlu mengetahui informasi dasar dari data yang saya miliki. Informasi dasar meliputi ukuran/banyaknya data dan nama-nama kolom atau variabel didalamnya.
glimpse(karyawan)
Rows: 1,058
Columns: 35
$ Age <int> 41, 49, 37, 33, 27, 32, 59, 30, 38, 36, 35, 29, 31, 34, 28, 29, 32, 22, 53,~
$ Attrition <int> 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, ~
$ BusinessTravel <chr> "Travel_Rarely", "Travel_Frequently", "Travel_Rarely", "Travel_Frequently",~
$ DailyRate <int> 1102, 279, 1373, 1392, 591, 1005, 1324, 1358, 216, 1299, 809, 153, 670, 134~
$ Department <chr> "Sales", "Research & Development", "Research & Development", "Research & De~
$ DistanceFromHome <int> 1, 8, 2, 3, 2, 2, 3, 24, 23, 27, 16, 15, 26, 19, 24, 21, 5, 16, 2, 2, 11, 9~
$ Education <int> 2, 1, 2, 4, 1, 2, 3, 1, 3, 3, 3, 2, 1, 2, 3, 4, 2, 2, 4, 3, 2, 4, 4, 2, 1, ~
$ EducationField <chr> "Life Sciences", "Life Sciences", "Other", "Life Sciences", "Medical", "Lif~
$ EmployeeCount <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
$ EmployeeNumber <int> 1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 2~
$ EnvironmentSatisfaction <int> 2, 3, 4, 4, 1, 4, 3, 4, 4, 3, 1, 4, 1, 2, 3, 2, 1, 4, 1, 4, 1, 3, 1, 3, 2, ~
$ Gender <chr> "Female", "Male", "Male", "Female", "Male", "Male", "Female", "Male", "Male~
$ HourlyRate <int> 94, 61, 92, 56, 40, 79, 81, 67, 44, 94, 84, 49, 31, 93, 50, 51, 80, 96, 78,~
$ JobInvolvement <int> 3, 2, 2, 3, 3, 3, 4, 3, 2, 3, 4, 2, 3, 3, 2, 4, 4, 4, 2, 3, 4, 2, 3, 3, 3, ~
$ JobLevel <int> 2, 2, 1, 1, 1, 1, 1, 1, 3, 2, 1, 2, 1, 1, 1, 3, 1, 1, 4, 1, 2, 1, 3, 1, 1, ~
$ JobRole <chr> "Sales Executive", "Research Scientist", "Laboratory Technician", "Research~
$ JobSatisfaction <int> 4, 2, 3, 3, 2, 4, 1, 3, 3, 3, 2, 3, 3, 4, 3, 1, 2, 4, 4, 4, 3, 1, 2, 4, 1, ~
$ MaritalStatus <chr> "Single", "Married", "Single", "Married", "Married", "Single", "Married", "~
$ MonthlyIncome <int> 5993, 5130, 2090, 2909, 3468, 3068, 2670, 2693, 9526, 5237, 2426, 4193, 291~
$ MonthlyRate <int> 19479, 24907, 2396, 23159, 16632, 11864, 9964, 13335, 8787, 16577, 16479, 1~
$ NumCompaniesWorked <int> 8, 1, 6, 1, 9, 0, 4, 1, 0, 6, 0, 0, 1, 0, 5, 1, 0, 1, 2, 5, 0, 7, 0, 1, 2, ~
$ Over18 <chr> "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", ~
$ OverTime <chr> "Yes", "No", "Yes", "Yes", "No", "No", "Yes", "No", "No", "No", "No", "Yes"~
$ PercentSalaryHike <int> 11, 23, 15, 11, 12, 13, 20, 22, 21, 13, 13, 12, 17, 11, 14, 11, 12, 13, 16,~
$ PerformanceRating <int> 3, 4, 3, 3, 3, 3, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, ~
$ RelationshipSatisfaction <int> 1, 4, 2, 3, 4, 3, 1, 2, 2, 2, 3, 4, 4, 3, 2, 3, 4, 2, 3, 3, 4, 2, 3, 4, 3, ~
$ StandardHours <int> 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,~
$ StockOptionLevel <int> 0, 1, 0, 0, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, ~
$ TotalWorkingYears <int> 8, 10, 7, 8, 6, 8, 12, 1, 10, 17, 6, 10, 5, 3, 6, 10, 7, 1, 31, 6, 5, 10, 1~
$ TrainingTimesLastYear <int> 0, 3, 3, 3, 3, 2, 3, 2, 2, 3, 5, 3, 1, 2, 4, 1, 5, 2, 3, 3, 5, 4, 4, 6, 2, ~
$ WorkLifeBalance <int> 1, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, ~
$ YearsAtCompany <int> 6, 10, 0, 8, 2, 7, 1, 1, 9, 7, 5, 9, 5, 2, 4, 10, 6, 1, 25, 3, 4, 5, 12, 0,~
$ YearsInCurrentRole <int> 4, 7, 0, 7, 2, 7, 0, 0, 7, 7, 4, 5, 2, 2, 2, 9, 2, 0, 8, 2, 2, 3, 6, 0, 2, ~
$ YearsSinceLastPromotion <int> 0, 1, 0, 3, 2, 3, 0, 0, 1, 7, 0, 0, 4, 1, 0, 8, 0, 0, 3, 1, 1, 0, 2, 0, 1, ~
$ YearsWithCurrManager <int> 5, 7, 0, 0, 2, 6, 0, 0, 8, 7, 3, 8, 3, 2, 3, 8, 5, 0, 7, 2, 3, 3, 11, 0, 3,~
Tampaknya bahwa ada sebanyak 1085 baris pada data dengan varaibel sebanyak 35 dan ada baiknya saya mengetahui berapa banyak karyawan yang statusnya tergolong No Attrion (Tidak memiliki atirisi) dan Yes Attrion (Mengalmani Atrisi), karena varaibel ini merupakan variabel yang akan saya gunakan dalam pemodelan sebagai variabel target.
menggunakan fungsi tabel () yang dapat menghasilkan frekuensi dari setap kategori, sedangkan prop.table() dapat menghasilkan proporsi atau presentasi-nya,
table(karyawan$Attrition)
0 1
879 179
Cek Prosentase Variabel Target
prop.table(table(karyawan$Attrition))
0 1
0.8308129 0.1691871
Beradasarkan hasi di atas diperoleh bahwa karyawan yang mengalami Attriton ada sebanyak 179 karyawan atau sebanyak 17% dari keseluruhan yang ada.
Cek Missing Value (Apakah ada nilai yang kosong atau NA)
colSums(is.na(karyawan))
Age Attrition BusinessTravel DailyRate
0 0 0 0
Department DistanceFromHome Education EducationField
0 0 0 0
EmployeeCount EmployeeNumber EnvironmentSatisfaction Gender
0 0 0 0
HourlyRate JobInvolvement JobLevel JobRole
0 0 0 0
JobSatisfaction MaritalStatus MonthlyIncome MonthlyRate
0 0 0 0
NumCompaniesWorked Over18 OverTime PercentSalaryHike
0 0 0 0
PerformanceRating RelationshipSatisfaction StandardHours StockOptionLevel
0 0 0 0
TotalWorkingYears TrainingTimesLastYear WorkLifeBalance YearsAtCompany
0 0 0 0
YearsInCurrentRole YearsSinceLastPromotion YearsWithCurrManager
0 0 0
Menghapus varaibel yang tidak dibutuhkan dalam project ini
Saya akan membandingkan 8 variabel yaitu (Age, Attrition, Education, JobLevel, PercentSalayrHike, MontlyIncome, PerformanceRating, TotalWorkingYears)
cor(karyawan_1)
Age Attrition Education JobLevel PercentSalaryHike MonthlyIncome
Age 1.00000000 -0.172067255 0.18072285 0.50648393 -0.02485555 0.49739211
Attrition -0.17206725 1.000000000 -0.03263074 -0.16920128 0.00490725 -0.16359969
Education 0.18072285 -0.032630740 1.00000000 0.09492171 -0.02671213 0.09253269
JobLevel 0.50648393 -0.169201277 0.09492171 1.00000000 -0.07018046 0.95396393
PercentSalaryHike -0.02485555 0.004907250 -0.02671213 -0.07018046 1.00000000 -0.06025745
MonthlyIncome 0.49739211 -0.163599695 0.09253269 0.95396393 -0.06025745 1.00000000
PerformanceRating -0.03342552 0.007754974 -0.04300827 -0.06153236 0.76979309 -0.05822517
TotalWorkingYears 0.69042789 -0.177136556 0.13121292 0.78692544 -0.05325025 0.77817684
PerformanceRating TotalWorkingYears
Age -0.033425523 0.69042789
Attrition 0.007754974 -0.17713656
Education -0.043008270 0.13121292
JobLevel -0.061532363 0.78692544
PercentSalaryHike 0.769793092 -0.05325025
MonthlyIncome -0.058225173 0.77817684
PerformanceRating 1.000000000 -0.02749099
TotalWorkingYears -0.027490995 1.00000000
Dari hasil diatas, diperoleh bahwa tidak ada feature yang secara langsung memiliki nilai corelation cukup tinggi terhadap Attrition. Namun terdapat beberapa hal yang higlight disini Persentase JobLevel koresali yang tinggi yaitu (0.95 dari skala 1) dengan Monthly Income. dan saya akan menghapus Variabel JobLevel, Karena dari Monthly Income sudah bisa menjelaskan bhaw gaji ditentukan sesuai dengan job level masing-masing karyawan.
Sebelum memvisualisasikan data, saya ingin mengubah tipe data variabel Integer, Character ke varaiabel factor agar mudah untuk memvisualisasikan data dan menggunakan model.
Mari lihat apakah variabel character dan Integer berubah ke variabel factor
glimpse(karyawan)
Rows: 1,058
Columns: 29
$ Age <int> 41, 49, 37, 33, 27, 32, 59, 30, 38, 36, 35, 29, 31, 34, 28, 29, 32, 22, 53,~
$ Attrition <fct> Yes, No, Yes, No, No, No, No, No, No, No, No, No, No, No, Yes, No, No, No, ~
$ BusinessTravel <fct> Travel_Rarely, Travel_Frequently, Travel_Rarely, Travel_Frequently, Travel_~
$ DailyRate <int> 1102, 279, 1373, 1392, 591, 1005, 1324, 1358, 216, 1299, 809, 153, 670, 134~
$ Department <fct> Sales, Research & Development, Research & Development, Research & Developme~
$ DistanceFromHome <int> 1, 8, 2, 3, 2, 2, 3, 24, 23, 27, 16, 15, 26, 19, 24, 21, 5, 16, 2, 2, 11, 9~
$ Education <int> 2, 1, 2, 4, 1, 2, 3, 1, 3, 3, 3, 2, 1, 2, 3, 4, 2, 2, 4, 3, 2, 4, 4, 2, 1, ~
$ EducationField <fct> Life Sciences, Life Sciences, Other, Life Sciences, Medical, Life Sciences,~
$ EnvironmentSatisfaction <fct> Medium, High, Very, Very, Low, Very, High, Very, Very, High, Low, Very, Low~
$ Gender <fct> Female, Male, Male, Female, Male, Male, Female, Male, Male, Male, Male, Fem~
$ HourlyRate <int> 94, 61, 92, 56, 40, 79, 81, 67, 44, 94, 84, 49, 31, 93, 50, 51, 80, 96, 78,~
$ JobInvolvement <int> 3, 2, 2, 3, 3, 3, 4, 3, 2, 3, 4, 2, 3, 3, 2, 4, 4, 4, 2, 3, 4, 2, 3, 3, 3, ~
$ JobRole <fct> Sales Executive, Research Scientist, Laboratory Technician, Research Scient~
$ JobSatisfaction <fct> Very, Medium, High, High, Medium, Very, Low, High, High, High, Medium, High~
$ MaritalStatus <fct> Single, Married, Single, Married, Married, Single, Married, Divorced, Singl~
$ MonthlyIncome <int> 5993, 5130, 2090, 2909, 3468, 3068, 2670, 2693, 9526, 5237, 2426, 4193, 291~
$ MonthlyRate <int> 19479, 24907, 2396, 23159, 16632, 11864, 9964, 13335, 8787, 16577, 16479, 1~
$ NumCompaniesWorked <fct> 8, 1, 6, 1, 9, 0, 4, 1, 0, 6, 0, 0, 1, 0, 5, 1, 0, 1, 2, 5, 0, 7, 0, 1, 2, ~
$ PercentSalaryHike <int> 11, 23, 15, 11, 12, 13, 20, 22, 21, 13, 13, 12, 17, 11, 14, 11, 12, 13, 16,~
$ PerformanceRating <int> 3, 4, 3, 3, 3, 3, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, ~
$ RelationshipSatisfaction <int> 1, 4, 2, 3, 4, 3, 1, 2, 2, 2, 3, 4, 4, 3, 2, 3, 4, 2, 3, 3, 4, 2, 3, 4, 3, ~
$ StockOptionLevel <int> 0, 1, 0, 0, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, ~
$ TotalWorkingYears <int> 8, 10, 7, 8, 6, 8, 12, 1, 10, 17, 6, 10, 5, 3, 6, 10, 7, 1, 31, 6, 5, 10, 1~
$ TrainingTimesLastYear <int> 0, 3, 3, 3, 3, 2, 3, 2, 2, 3, 5, 3, 1, 2, 4, 1, 5, 2, 3, 3, 5, 4, 4, 6, 2, ~
$ WorkLifeBalance <int> 1, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, ~
$ YearsAtCompany <int> 6, 10, 0, 8, 2, 7, 1, 1, 9, 7, 5, 9, 5, 2, 4, 10, 6, 1, 25, 3, 4, 5, 12, 0,~
$ YearsInCurrentRole <int> 4, 7, 0, 7, 2, 7, 0, 0, 7, 7, 4, 5, 2, 2, 2, 9, 2, 0, 8, 2, 2, 3, 6, 0, 2, ~
$ YearsSinceLastPromotion <int> 0, 1, 0, 3, 2, 3, 0, 0, 1, 7, 0, 0, 4, 1, 0, 8, 0, 0, 3, 1, 1, 0, 2, 0, 1, ~
$ YearsWithCurrManager <int> 5, 7, 0, 0, 2, 6, 0, 0, 8, 7, 3, 8, 3, 2, 3, 8, 5, 0, 7, 2, 3, 3, 11, 0, 3,~
Analysis Univariat adalah suatu teknik analysis data terhadap satu variabel secara mandiri, tiap variabel dianalysis tanpa dikaitkan dengan variabel lainya.
Attrition
Dari diagram ini, menjelaskan bahwa di perusahaan ini mengalami Atrition cukup tinggi yaitu sebanyak 16.9% atau 17% dari sebanyak 1058 karyawan yang bekerja diperusahaan, 179 karyawan meninggalkan perusahaan. Angka 179 karyawan ini perlu saya lihat apa yang menyebabkan mereka bisa meninggalkan perusahaan.
Gender
Ternyata di perusahaan ini banyak karyawan laki-laki yang bekerja diperusahaan dari pada karyawan perempuan. Lebih dari itu 60% populasinya adalah 620 karyawan laki-laki dan 438 karyawan perempuan.
Marital Status
Status pernikahan banyak yang sudah menikah ada 464 yang menikah, 352 yang single, dan divorced 242 karyawan.
Environment Saatisfaction
kepuasan lingkungakan kerja banyak yang High, dan ada juga yang low. sebanyak 209 karyawan yang merasa lingkungan kerjanya tidak sehat.
Job Satisfaction
Kepuasan terhadap pekerjaan banyak yang very dan high, sangat tinggi. tetapi ada juga yang rendah, sebanyak 205 karyawan dari 1058 karyawan yang merasa tidak puas dengan pekerjaanya. Ini juga perlu diteliti kenapa banyak karyawan yang tidak puas dengan pekerjaanya. Apa karena beban kerja yang terlalu tinggi, atau alasan lain.
Num Companies Worked
Jumlah pengalaman pegawai yang bekerja di perusahaan lain, banyak yang 1 kali, ada 356 karyawan yang mempunyai pengalaman kerja 1 kali. Artinya karyawan ini pernah bekerja di perusahaan lain selama satu tahun.
Analysis Bivariat adalah dilakukan mengatahui ada tidaknya hubungan kedua variabel
Karyawan yang mengalami attrition berdasarkan gender
Dari diagaram ini ternyata yang mengalami attrisi paling banyak adalah laki-laki. Nah ini saya perlu cari tahu alasan kenapa laki-laki lebih banyak yang meninggalkan perusahaan dari pada wanita.
karyawan yang mengalami Attrition berdasarkan Marital Status
Dari diagaram ini ternyata yang mengalami Attrition paling banyak adalah yang berstatus single. Bearti kemungkinan 17% Attrition disebabkan karena Kontrak Habis, PHK, atau pengunduran diri, bukan karena Pensiun.
Karyawan yang mengalami atrition berdasarkan Departement
Dari diagaram ini yang paling banyak meninggalkan perusahaan adalah dari Departement Research & Development
Karyawan yang mengalami Attrition berdasarkan Environment Satisfaction
Dari diagaram ini telah membuktikan bahwa banyak karyawan yang merasa tidak puas dengan lingkungan kerjanya. Jadi sebagai pihak manajemen perusahaan mestinya selalu memeriksa apakah suasana kantornya harmonis atau tidak, apakah karyawannya dapat mengembangkan diri, kepercayaan satu sama lain atau tidak.
Karyawan yang mengalami attrition berdasarkan job satisfaction
Dari diagaram ini menjelaskan bahwa ada beberapa karyawan yang merasa puas dengan pekerjaanya, ada juga yang tidak puas dengan pekerjaanya ini juga cukup banyak yang tidak puas dengan pekerjaanya dan perlu saya galih lebih dalam lagi apa yang membuat karyawan tidak puas dengan pekerjaanya.
Karyawan yang mengalami attrition berdasarkan Num Compaines Workd
Dari diagram ini menjelaskan bahwa banyak yang mempunyai pengalaman kerja di perusahaan lain hanya 1 kali atau sudah mempunyai pengamalaman 1 tahun, Artinya banyak yang memulai karir. Mungkin alasanya karena mereka ingin memperluas jaringan saja atau ingin mencoba pengalaman baru.
Analysis Multivariat adalah membandingkan dua variabel / lebih dari 2 variabel atau melihat pengaruhnya variabel lainya.
Karyawan yang mengalami attrition berdasarkan usia dan lama bekerja di perusahaan
Dari plot ini menjelaskan bahwa karyawan perusahaan paling banyak berada di rentang usia 30-40 tahun. Dan jumlah karyawan yang paling banyak meninggalkan perusahaan adalah karyawan di kelompok rentang usia dibawah 30 tahun dan rentang usia 30-40 tahun. Dan berstatus single yang paling tinggi dibandingkan status lainya. dan rata-rata paling banyak bekerja di perusahaan selama 0 - 10 tahun.
Karyawan yang mengalami attrition berdasrakan gaji dan lama bekerja di perusahaan
Dari plot ini menjelaskan bahwa banyak karyawan yang meninggalkan perusahaan ini rata-rata memiliki dibawah 5 juta dan telah bekerja selama 0 - 10 tahun. Dan kebanyakan stasus nya adalah single, disini juga ada yang sudah bekerja selama 20 tahun tidak kunjung naik gaji. Mungkin ini juga bisa jadi suatu alasan mengapa karyawan meninggalkan perusahaan.
Jadi kesimpulanya adalah Attrition yang paling banyak terjadi pada karyawan kategori usia muda (dibawah 40 tahun), berstatus single atau belum menikah, dan belum pernah memiliki pengalaman bekerja di perusahaan lain sebelumnya. Oleh karena itu, kelompok karyawan yang masuk kategori ini mungkin sebaliknya diberi perlakuan khusus seperti pembatasan rekrutmen.
Melakukan One Hot Encoding (OHE)
Setelah dataset dibersihkan, masih ada beberapa tahap yang perlu dilakukan agar dataset benar-benar siap untuk diproses oleh model machine learnig. OHE untuk Business Travel, Departement, Education, EducationField, EnvironmentSatisfaction, Gender dan MartialStatus
Membuat Variabel Dummy
library(caret)
dmy <- dummyVars("~ BusinessTravel+Department+Education+EducationField+
EnvironmentSatisfaction+Gender+MaritalStatus",
data = karyawan)
karyawan_ohe <- data.frame(predict(dmy, newdata = karyawan))
karyawan <- cbind(karyawan, karyawan_ohe)
Remove OHE
karyawan$BusinessTravel <- NULL
karyawan$Department <- NULL
karyawan$Education <- NULL
karyawan$EducationField <- NULL
karyawan$EnvironmentSatisfaction <- NULL
karyawan$MaritalStatus <- NULL
Melakukan Remove Outlier
Mendapatkan nilai outlier
out_stag
[1] 17 15 15 15 15 17 16 17 15 17 17 17
Mendapatkan indeks baris nilai outlier
out_idx
[1] 29 124 154 188 232 387 562 617 636 687 876 927
Hapus baris dengan outlier
karyawan <- karyawan[-out_idx,]
Membagi Data Testing dan Data Train
Data Testing = 30% : Data Traning = 70%
set.seed(2021)
m <- nrow(karyawan)
train_idx <- sample(m, 0.7 * m)
train_df <- karyawan[train_idx,]
test_df <- karyawan[-train_idx,]
summary(fit.logit)
Call:
glm(formula = Attrition ~ ., family = binomial(link = "logit"),
data = train_df)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.14865 -0.53246 -0.28516 -0.06424 3.11252
Coefficients: (7 not defined because of singularities)
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.885e+00 2.245e+00 0.840 0.400969
Age -2.315e-02 1.860e-02 -1.245 0.213230
DailyRate -3.994e-04 3.116e-04 -1.282 0.199865
DistanceFromHome 3.965e-02 1.470e-02 2.697 0.006992 **
GenderMale 3.080e-01 2.565e-01 1.201 0.229891
HourlyRate -1.363e-03 6.121e-03 -0.223 0.823717
JobInvolvement -4.186e-01 1.726e-01 -2.424 0.015332 *
JobRoleHuman Resources 1.815e+01 2.200e+03 0.008 0.993416
JobRoleLaboratory Technician 2.082e+00 7.251e-01 2.872 0.004082 **
JobRoleManager 1.686e-01 1.108e+00 0.152 0.879066
JobRoleManufacturing Director 4.807e-01 8.386e-01 0.573 0.566502
JobRoleResearch Director -1.583e+01 8.821e+02 -0.018 0.985681
JobRoleResearch Scientist 1.665e+00 7.283e-01 2.286 0.022227 *
JobRoleSales Executive 1.648e+00 1.431e+00 1.152 0.249338
JobRoleSales Representative 3.644e+00 1.512e+00 2.410 0.015969 *
JobSatisfactionMedium -1.005e+00 4.043e-01 -2.485 0.012947 *
JobSatisfactionHigh -4.565e-01 3.390e-01 -1.346 0.178172
JobSatisfactionVery -1.176e+00 3.511e-01 -3.349 0.000812 ***
MonthlyIncome 8.599e-05 8.351e-05 1.030 0.303140
MonthlyRate 1.968e-05 1.770e-05 1.112 0.266243
NumCompaniesWorked1 6.576e-01 4.249e-01 1.548 0.121690
NumCompaniesWorked2 7.553e-01 6.258e-01 1.207 0.227437
NumCompaniesWorked3 1.673e-01 6.433e-01 0.260 0.794798
NumCompaniesWorked4 7.919e-01 5.963e-01 1.328 0.184135
NumCompaniesWorked5 1.954e+00 6.392e-01 3.056 0.002241 **
NumCompaniesWorked6 1.572e+00 6.659e-01 2.360 0.018255 *
NumCompaniesWorked7 1.750e+00 6.359e-01 2.752 0.005922 **
NumCompaniesWorked8 1.455e+00 7.714e-01 1.886 0.059247 .
NumCompaniesWorked9 1.722e+00 7.529e-01 2.288 0.022159 *
PercentSalaryHike 5.435e-03 5.330e-02 0.102 0.918775
PerformanceRating 1.291e-01 5.216e-01 0.247 0.804527
RelationshipSatisfaction -3.039e-01 1.102e-01 -2.757 0.005827 **
StockOptionLevel 5.457e-02 2.194e-01 0.249 0.803617
TotalWorkingYears -3.182e-02 3.980e-02 -0.800 0.423989
TrainingTimesLastYear -2.961e-01 9.649e-02 -3.069 0.002147 **
WorkLifeBalance -5.895e-01 1.782e-01 -3.308 0.000938 ***
YearsAtCompany 1.731e-02 5.294e-02 0.327 0.743716
YearsInCurrentRole -1.369e-01 6.626e-02 -2.067 0.038748 *
YearsSinceLastPromotion 2.060e-01 5.933e-02 3.471 0.000518 ***
YearsWithCurrManager -9.589e-02 6.795e-02 -1.411 0.158225
BusinessTravel.Non.Travel -5.864e-01 4.694e-01 -1.249 0.211623
BusinessTravel.Travel_Frequently 5.491e-01 2.939e-01 1.868 0.061696 .
BusinessTravel.Travel_Rarely NA NA NA NA
Department.Human.Resources -1.489e+01 2.200e+03 -0.007 0.994598
Department.Research...Development 4.585e-01 1.294e+00 0.354 0.723097
Department.Sales NA NA NA NA
Education 6.503e-02 1.237e-01 0.526 0.599111
EducationField.Human.Resources -2.677e+00 1.541e+00 -1.737 0.082410 .
EducationField.Life.Sciences -1.443e+00 4.427e-01 -3.260 0.001114 **
EducationField.Marketing -5.805e-01 5.526e-01 -1.050 0.293553
EducationField.Medical -1.222e+00 4.485e-01 -2.725 0.006434 **
EducationField.Other -9.240e-01 6.676e-01 -1.384 0.166349
EducationField.Technical.Degree NA NA NA NA
EnvironmentSatisfaction.Low 1.125e+00 3.507e-01 3.209 0.001331 **
EnvironmentSatisfaction.Medium 4.502e-01 3.516e-01 1.281 0.200335
EnvironmentSatisfaction.High -7.604e-02 3.309e-01 -0.230 0.818239
EnvironmentSatisfaction.Very NA NA NA NA
Gender.Female NA NA NA NA
Gender.Male NA NA NA NA
MaritalStatus.Divorced -1.594e+00 4.981e-01 -3.199 0.001378 **
MaritalStatus.Married -1.038e+00 3.530e-01 -2.941 0.003270 **
MaritalStatus.Single NA NA NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 675.47 on 731 degrees of freedom
Residual deviance: 467.60 on 677 degrees of freedom
AIC: 577.6
Number of Fisher Scoring iterations: 17
Evaluasi Pengujian
pred
2 3 5 6 9 11 14
-3.636586752 -0.024447635 -0.660163448 -2.408886012 -2.002335739 -3.553382083 -3.320876294
15 21 25 26 31 33 36
0.912524291 -4.948029052 -0.606966253 -5.662858019 -2.590135263 -0.789190409 -4.427705166
39 40 41 43 46 59 63
-1.667584251 -2.996293977 -3.135949740 2.240062021 -16.630462801 -4.590789697 -15.890695648
65 66 72 75 79 84 87
-3.047214414 -4.161652340 -5.414120940 -3.075459307 -17.022186592 -4.538438662 -0.373874015
89 92 97 100 101 103 105
-3.805533074 -1.740757857 -1.064143238 -3.060405307 -3.354398812 -0.830425734 -5.721236750
111 112 123 132 133 137 142
-0.433063417 0.163248973 -0.963841035 -2.063206822 -1.285868178 -1.371784256 -0.381618404
143 147 156 160 164 166 171
-0.693722503 -2.680273654 -3.701085913 0.135831111 -4.500218915 -4.306529989 -1.841645349
172 179 186 192 194 197 205
1.941010689 -1.245076709 -5.405203105 -2.813608012 -6.269223234 -0.541464731 -1.100150782
210 212 214 221 223 224 225
-3.845994232 -3.170416332 -19.132722047 -3.788749815 -20.039988067 -4.552824030 -5.036185981
229 233 236 239 241 243 244
-2.729625891 -0.059674375 -4.917984463 -2.439723919 -2.017741335 -1.334611114 -1.051980347
249 253 254 255 260 270 271
-1.285256265 -1.480704855 -1.821452057 -3.299522178 -0.926202393 -4.916790592 -4.131932113
273 276 282 286 288 289 292
-3.491531788 -19.922783838 -3.303348301 -4.284046803 -3.316286149 -1.962213417 0.380039661
293 294 295 297 301 302 303
-1.150127844 0.004837980 -1.705713092 -0.303716600 -4.407565575 1.510254759 -3.790497258
309 313 319 320 323 329 331
-5.266873212 -2.705851639 -1.703955265 -2.006687394 -0.897225440 -2.159447779 -3.314664101
335 336 337 339 342 343 348
-1.382698418 -1.795678938 -1.452517269 -3.227730557 -22.181530030 -3.598984674 0.680939245
352 353 357 358 360 363 364
-4.363678911 -1.188753034 -3.311430409 2.143613137 -2.348865874 0.821929454 1.237810088
373 375 377 382 386 388 389
-2.778249967 -2.606867351 -5.293791764 0.511673458 0.462778873 -3.695149538 -3.262228183
392 395 400 405 411 415 416
-0.717779060 -3.937398281 -1.197767814 -2.343939234 -2.777665249 0.866694032 0.007476725
418 420 424 429 440 443 447
-8.094674538 -3.205727893 -3.486124184 -3.706208701 -1.014057069 -0.797998374 -3.514790263
449 453 461 465 472 474 480
-1.799632425 -5.193345843 -0.092188249 -3.203429839 -5.120202760 -22.041042742 -1.703859510
483 486 492 493 494 496 499
-0.954864621 -3.036439228 -2.752013897 -1.099388034 0.573379375 -1.704487629 -1.956352284
502 503 511 513 514 518 520
-1.911843635 -1.730660794 -0.858248848 -0.862687204 -1.852837529 -4.570362653 -4.231202065
522 523 526 531 536 540 546
-4.984661693 -2.329775172 0.982924758 -5.552226903 -17.980945510 0.258605596 -0.429237187
550 552 558 559 560 565 566
-3.119760216 -1.867958336 -5.535744110 -0.870139177 0.919984178 1.863227820 -0.749639347
567 570 573 574 578 579 583
-1.696647372 -1.412686026 -2.193528951 1.773540278 -2.474495189 -1.448068411 -5.991852237
584 591 593 594 596 598 601
-0.952719476 -21.674456768 -4.762036273 -5.223140920 -18.133487855 -5.023893192 -4.902894869
603 604 610 611 622 627 631
-1.118416192 -1.724440066 -17.418255144 -20.183381671 -5.067519452 -1.460186374 -0.765401604
638 640 647 649 652 653 655
-4.378983309 -1.664002628 -0.511066939 -0.042097452 -3.037100324 -2.335911071 -2.506825512
656 663 686 692 694 702 712
-6.096641679 0.430251326 -1.696610837 -2.167632188 -4.597121918 -3.681310637 -0.465176033
715 719 721 727 729 736 737
-19.861553056 -3.241477046 -0.631995144 -3.513834085 -3.405312022 -1.652412838 -3.218042244
739 740 744 746 750 755 758
-3.517976172 -3.836721162 -3.942930853 -4.958209593 -3.794018079 -0.966411263 -4.064956988
763 765 767 769 771 781 783
0.912524953 -1.455075369 -18.161259153 0.500012530 -18.730869945 -0.264551145 -1.866344580
786 787 796 802 803 804 806
-1.578487175 -1.341801932 -3.922841255 -2.547905768 -4.320732201 -3.838606174 -4.796183683
808 810 817 820 825 826 830
-3.233241194 -5.893603231 -1.024844013 -1.293256714 0.974647510 -3.182693086 0.251755381
832 833 836 840 842 843 847
-1.282703994 -3.176287369 2.113427316 -1.188251453 0.017270997 -3.328654050 -4.201807220
848 849 853 859 860 861 862
-3.279577909 -1.145679034 -4.419995171 -6.382862690 -1.651177414 -3.460186222 -1.237728283
869 872 873 877 879 883 885
-0.495717674 -0.962166859 -1.506384923 0.520832139 -1.242613733 -1.587302246 -0.782207176
889 891 893 897 900 902 903
-3.705673472 -2.580918060 -0.815187731 -2.752474023 -2.469424330 0.129901018 -2.404349899
904 908 909 910 921 923 924
-4.717315028 -4.442215707 -5.008929658 -1.172459329 -3.121066414 -3.645951430 -3.845567184
926 928 934 938 943 948 950
-3.032880673 -4.922619640 1.006176687 -1.531535848 -3.149532565 -0.408921536 -3.530750215
958 960 963 965 967 969 974
-1.587909138 -2.879595957 -22.042587723 -2.587611453 -2.429344124 -1.311354850 -3.146153276
977 978 980 984 989 999 1001
-2.386053657 -0.514012974 0.972293926 -5.211536201 -2.777735466 -1.670872768 -0.215410347
1003 1004 1005 1006 1008 1011 1015
-1.606977995 0.208868397 -2.581621216 1.519619855 -1.990151871 -23.679652210 -18.599034779
1016 1017 1022 1023 1025 1034 1038
-0.573437466 -0.998979459 1.746317559 -0.371486468 -20.481078262 -3.722895832 -2.901718258
1039 1042 1045 1046 1047 1052
-2.016423350 -2.579074101 -0.739200118 -4.239332635 -1.682797441 0.204242424
prob
2 3 5 6 9 11 14 15
2.566601e-02 4.938884e-01 3.407029e-01 8.249760e-02 1.189579e-01 2.783092e-02 3.486191e-02 7.135164e-01
21 25 26 31 33 36 39 40
7.047366e-03 3.527515e-01 3.460561e-03 6.977600e-02 3.123425e-01 1.180094e-02 1.587465e-01 4.759358e-02
41 43 46 59 63 65 66 72
4.164848e-02 9.037899e-01 5.990758e-08 1.004296e-02 1.255332e-07 4.533789e-02 1.534272e-02 4.433507e-03
75 79 84 87 89 92 97 100
4.413096e-02 4.049098e-08 1.057702e-02 4.076053e-01 2.176316e-02 1.492167e-01 2.565185e-01 4.477037e-02
101 103 105 111 112 123 132 133
3.375141e-02 3.035551e-01 3.264962e-03 3.933951e-01 5.407218e-01 2.761098e-01 1.127247e-01 2.165530e-01
137 142 143 147 156 160 164 166
2.023317e-01 4.057366e-01 3.332055e-01 6.414745e-02 2.410147e-02 5.339057e-01 1.098456e-02 1.330095e-02
171 172 179 186 192 194 197 205
1.368568e-01 8.744631e-01 2.235535e-01 4.473044e-03 5.659324e-02 1.890120e-03 3.678469e-01 2.497116e-01
210 212 214 221 223 224 225 229
2.091823e-02 4.029431e-02 4.906416e-09 2.212335e-02 1.980358e-09 1.042753e-02 6.456529e-03 6.124767e-02
233 236 239 241 243 244 249 253
4.850858e-01 7.260753e-03 8.019327e-02 1.173527e-01 2.083977e-01 2.588450e-01 2.166568e-01 1.853210e-01
254 255 260 270 271 273 276 282
1.392597e-01 3.558759e-02 2.836958e-01 7.269364e-03 1.579824e-02 2.955414e-02 2.226614e-09 3.545650e-02
286 288 289 292 293 294 295 297
1.359927e-02 3.501669e-02 1.232277e-01 5.938827e-01 2.404657e-01 5.012095e-01 1.537206e-01 4.246492e-01
301 302 303 309 313 319 320 323
1.203812e-02 8.190990e-01 2.208558e-02 5.133233e-03 6.262895e-02 1.539494e-01 1.185026e-01 2.896210e-01
329 331 335 336 337 339 342 343
1.034517e-01 3.507154e-02 2.005760e-01 1.423779e-01 1.896145e-01 3.813541e-02 2.326397e-10 2.662329e-02
348 352 353 357 358 360 363 364
6.639483e-01 1.257141e-02 2.334820e-01 3.518113e-02 8.950704e-01 8.715596e-02 6.946458e-01 7.751826e-01
373 375 377 382 386 388 389 392
5.851089e-02 6.869775e-02 4.997578e-03 6.251987e-01 6.136732e-01 2.424149e-02 3.688996e-02 3.278822e-01
395 400 405 411 415 416 418 420
1.912594e-02 2.318725e-01 8.754872e-02 5.854310e-02 7.040573e-01 5.018692e-01 3.050668e-04 3.895074e-02
424 429 440 443 447 449 453 461
2.970963e-02 2.398127e-02 2.661866e-01 3.104538e-01 2.889432e-02 1.418958e-01 5.522725e-03 4.769692e-01
465 472 474 480 483 486 492 493
3.903686e-02 5.939325e-03 2.677298e-10 1.539619e-01 2.779076e-01 4.580655e-02 5.997301e-02 2.498546e-01
494 496 499 502 503 511 513 514
6.395426e-01 1.538801e-01 1.238624e-01 1.287739e-01 1.505031e-01 2.977053e-01 2.967782e-01 1.355401e-01
518 520 522 523 526 531 536 540
1.024809e-02 1.432667e-02 6.795596e-03 8.868683e-02 7.276882e-01 3.863823e-03 1.552296e-08 5.642935e-01
546 550 552 558 559 560 565 566
3.943085e-01 4.229948e-02 1.337781e-01 3.927785e-03 2.952253e-01 7.150389e-01 8.656727e-01 3.208999e-01
567 570 573 574 578 579 583 584
1.549036e-01 1.958107e-01 1.003331e-01 8.548974e-01 7.766562e-02 1.902990e-01 2.492801e-03 2.783382e-01
591 593 594 596 598 601 603 604
3.862807e-10 8.475733e-03 5.361471e-03 1.332681e-08 6.535865e-03 7.370332e-03 2.463052e-01 1.513001e-01
610 611 622 627 631 638 640 647
2.724883e-08 1.715808e-09 6.258606e-03 1.884388e-01 3.174747e-01 1.238284e-02 1.592254e-01 3.749434e-01
649 652 653 655 656 663 686 692
4.894772e-01 4.577767e-02 8.819217e-02 7.538107e-02 2.245360e-03 6.059337e-01 1.549084e-01 1.026950e-01
694 702 712 715 719 721 727 729
9.980199e-03 2.457100e-02 3.857586e-01 2.367212e-09 3.763436e-02 3.470583e-01 2.892116e-02 3.212986e-02
736 737 739 740 744 746 750 755
1.607831e-01 3.849238e-02 2.880506e-02 2.110899e-02 1.902243e-02 6.976482e-03 2.200967e-02 2.755964e-01
758 763 765 767 769 771 781 783
1.687410e-02 7.135166e-01 1.892217e-01 1.296180e-08 6.224623e-01 7.333082e-09 4.342453e-01 1.339653e-01
786 787 796 802 803 804 806 808
1.710098e-01 2.072139e-01 1.940096e-02 7.256730e-02 1.311584e-02 2.107008e-02 8.193526e-03 3.793378e-02
810 817 820 825 826 830 832 833
2.749444e-03 2.640849e-01 2.153021e-01 7.260449e-01 3.982223e-02 5.626085e-01 2.170903e-01 4.006789e-02
836 840 842 843 847 848 849 853
8.922014e-01 2.335718e-01 5.043176e-01 3.460116e-02 1.474775e-02 3.627847e-02 2.412792e-01 1.189119e-02
859 860 861 862 869 872 873 877
1.687425e-03 1.609499e-01 3.046653e-02 2.248317e-01 3.785476e-01 2.764446e-01 1.814752e-01 6.273423e-01
879 883 885 889 891 893 897 900
2.239814e-01 1.697638e-01 3.138444e-01 2.399380e-02 7.037664e-02 3.067861e-01 5.994708e-02 7.802964e-02
902 903 904 908 909 910 921 923
5.324297e-01 8.284160e-02 8.859947e-03 1.163291e-02 6.633747e-03 2.364107e-01 4.224660e-02 2.543286e-02
924 926 928 934 938 943 948 950
2.092698e-02 4.596234e-02 7.227419e-03 7.322713e-01 1.777691e-01 4.110970e-02 3.991707e-01 2.844984e-02
958 960 963 965 967 969 974 977
1.696783e-01 5.317147e-02 2.673165e-10 6.993999e-02 8.096226e-02 2.122602e-01 4.124312e-02 8.424238e-02
978 980 984 989 999 1001 1003 1004
3.742533e-01 7.255765e-01 5.423713e-03 5.853923e-02 1.583079e-01 4.463547e-01 1.670086e-01 5.520281e-01
1005 1006 1008 1011 1015 1016 1017 1022
7.033066e-02 8.204825e-01 1.202408e-01 5.200651e-11 8.366462e-09 3.604440e-01 2.691421e-01 8.514877e-01
1023 1025 1034 1038 1039 1042 1045 1046
4.081819e-01 1.274033e-09 2.359377e-02 5.206869e-02 1.174893e-01 7.049738e-02 3.231791e-01 1.421231e-02
1047 1052
1.567254e-01 5.508838e-01
logit.perf
Predicted
Actual No Yes
No 241 21
Yes 36 16
True Negatif
Ada 241 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata memang benar dia tidak akan meninggalkan perusahaan.
True Positif
Ada 16 Karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata benar dia akan meninggalkan perusahaan.
False Positif
Ada 21 Karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 22 karyawan itu tidak meninggalkan perusahaan.
False Negatif
Ada 36 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata prediksinya salah, Ternyata 36 karyawan itu benar-benar meninggalkan perusahaan.
library(party)
Loading required package: grid
Loading required package: mvtnorm
Loading required package: modeltools
Loading required package: stats4
Loading required package: strucchange
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: sandwich
Attaching package: ‘strucchange’
The following object is masked from ‘package:stringr’:
boundary
Plot Pohon Keputusan
Hasil Prediksi
ctree.pred
[1] No Yes No No No No No No No No No Yes No No No No No No No No No No No No No No
[27] No No No No No No No Yes No No No No No No No No No No No No No No No Yes No No
[53] No No No No No No No No No No No No No No No No No No No No No No No No No No
[79] No No No No No No No No No Yes No Yes No No No No No No No No No No No No No No
[105] Yes No No No No No No Yes No No No No No No No No No No No No No No No No No No
[131] No No No No No No No No No No No No No No No No No No No No No No No No No No
[157] No No No No No No No No No No No No No No No No No No No No No No No No No No
[183] No No No No No No No No No No No No No No No No No No No No No No No No No No
[209] No No No No No No No No No No No No No No No No No No No No No No No No No No
[235] No Yes No No No No No No No No No No No No No No No No No No No No No No No No
[261] No No No No Yes No No No No No No No No No No No No No No No No No No No No No
[287] No No No No No No No No No No No No No No No No No No No No No No No No No No
[313] No No
Levels: No Yes
ctree.perf
Predicted
Actual No Yes
No 257 5
Yes 47 5
True Negatif
Ada 257 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata memang benar dia tidak akan meninggalkan perusahaan.
True Positif
Ada 5 karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata memang benar dia akan meninggalkan perusahaan.
False Positif
Ada 5 karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 5 pegawainya itu tidak meninggalkan perusahaan.
False Negatif
Ada 47 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 45 karyawan itu benar-benar meninggalkan perusahaan.
forest.pred
2 3 5 6 9 11 14 15 21 25 26 31 33 36 39 40 41 43 46 59 63 65
No No No No No No No No No No No No No No No No No Yes No No No No
66 72 75 79 84 87 89 92 97 100 101 103 105 111 112 123 132 133 137 142 143 147
No No No No No No No No No No No No No No No No No No No No No No
156 160 164 166 171 172 179 186 192 194 197 205 210 212 214 221 223 224 225 229 233 236
No No No No No Yes No No No No No No No No No No No No No No No No
239 241 243 244 249 253 254 255 260 270 271 273 276 282 286 288 289 292 293 294 295 297
No No No No No No No No No No No No No No No No No No No No No Yes
301 302 303 309 313 319 320 323 329 331 335 336 337 339 342 343 348 352 353 357 358 360
No Yes No No No No No No No No No No No No No No No No No No Yes No
363 364 373 375 377 382 386 388 389 392 395 400 405 411 415 416 418 420 424 429 440 443
No No No No No No No No No No No No No No No No No No No No No No
447 449 453 461 465 472 474 480 483 486 492 493 494 496 499 502 503 511 513 514 518 520
No No No No No No No No No No No No No No No No No No No No No No
522 523 526 531 536 540 546 550 552 558 559 560 565 566 567 570 573 574 578 579 583 584
No No No No No No No No No No No No No No No No No No No No No No
591 593 594 596 598 601 603 604 610 611 622 627 631 638 640 647 649 652 653 655 656 663
No No No No No No No No No No No No No No No No No No No No No Yes
686 692 694 702 712 715 719 721 727 729 736 737 739 740 744 746 750 755 758 763 765 767
No No No No No No No No No No No No No No No No No No No No No No
769 771 781 783 786 787 796 802 803 804 806 808 810 817 820 825 826 830 832 833 836 840
No No No No No No No No No No No No No No No No No No No No No No
842 843 847 848 849 853 859 860 861 862 869 872 873 877 879 883 885 889 891 893 897 900
No No No No No No No No No No No No No Yes No No No No No No No No
902 903 904 908 909 910 921 923 924 926 928 934 938 943 948 950 958 960 963 965 967 969
No No No No No No No No No No No No No No No No No No No No No No
974 977 978 980 984 989 999 1001 1003 1004 1005 1006 1008 1011 1015 1016 1017 1022 1023 1025 1034 1038
No No No No No No No No No No No No No No No No No No No No No No
1039 1042 1045 1046 1047 1052
No No No No No No
Levels: No Yes
forest.perf
Predicted
Actual No Yes
No 260 2
Yes 47 5
True Negatif
Ada 260 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata memang benar dia tidak akan meninggalkan perusahaan.
True Positif
Ada 5 karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata memang benar dia akan meninggalkan perusahaan.
False Positif
Ada 2 karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 2 pegawainya itu tidak meninggalkan perusahaan.
False Negatif
Ada 47 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 47 karyawan itu benar-benar meninggalkan perusahaan.
svm.pred
2 3 5 6 9 11 14 15 21 25 26 31 33 36 39 40 41 43 46 59 63 65
No No No No No No No No No No No No No No No No No No No No No No
66 72 75 79 84 87 89 92 97 100 101 103 105 111 112 123 132 133 137 142 143 147
No No No No No No No No No No No No No No No No No No No No No No
156 160 164 166 171 172 179 186 192 194 197 205 210 212 214 221 223 224 225 229 233 236
No No No No No Yes No No No No No No No No No No No No No No No No
239 241 243 244 249 253 254 255 260 270 271 273 276 282 286 288 289 292 293 294 295 297
No No No No No No No No No No No No No No No No No No No No No No
301 302 303 309 313 319 320 323 329 331 335 336 337 339 342 343 348 352 353 357 358 360
No No No No No No No No No No No No No No No No No No No No Yes No
363 364 373 375 377 382 386 388 389 392 395 400 405 411 415 416 418 420 424 429 440 443
No No No No No No No No No No No No No No No No No No No No No No
447 449 453 461 465 472 474 480 483 486 492 493 494 496 499 502 503 511 513 514 518 520
No No No No No No No No No No No No No No No No No No No No No No
522 523 526 531 536 540 546 550 552 558 559 560 565 566 567 570 573 574 578 579 583 584
No No No No No No No No No No No No No No No No No No No No No No
591 593 594 596 598 601 603 604 610 611 622 627 631 638 640 647 649 652 653 655 656 663
No No No No No No No No No No No No No No No No No No No No No No
686 692 694 702 712 715 719 721 727 729 736 737 739 740 744 746 750 755 758 763 765 767
No No No No No No No No No No No No No No No No No No No No No No
769 771 781 783 786 787 796 802 803 804 806 808 810 817 820 825 826 830 832 833 836 840
No No No No No No No No No No No No No No No No No No No No No No
842 843 847 848 849 853 859 860 861 862 869 872 873 877 879 883 885 889 891 893 897 900
No No No No No No No No No No No No No No No No No No No No No No
902 903 904 908 909 910 921 923 924 926 928 934 938 943 948 950 958 960 963 965 967 969
No No No No No No No No No No No No No No No No No No No No No No
974 977 978 980 984 989 999 1001 1003 1004 1005 1006 1008 1011 1015 1016 1017 1022 1023 1025 1034 1038
No No No No No No No No No No No No No No No No No No No No No No
1039 1042 1045 1046 1047 1052
No No No No No No
Levels: No Yes
svm.perf
Predicted
Actual No Yes
No 262 0
Yes 50 2
True Negatif
Ada 262 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata memang benar dia tidak akan meninggalkan perusahaan.
True Positif
Ada 2 Karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata memang benar dia akan meninggalkan perusahaan.
False Positif
Ada 0 karyawan yang diprediksi akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 0 karyawanya itu tidak meninggalkan perusahaan.
False Negatif
Ada 50 karyawan yang diprediksi tidak akan meninggalkan perusahaan, dan ternyata prediksinya salah. Ternyata 50 karyawan itu benar-benar meninggalkan perusahaan.
Performance Comparison
performance <- function(table){
tn <- table[1,1]
tp <- table[2,2]
fn <- table[1,2]
fp <- table[2,1]
accuracy <- (tn + tp) / (tn + tp + fn + fp)
precision <- tp / (tp + fp)
recall <- tp / (tp + fn)
f1score <- 2 * precision * recall / (precision + recall)
result <- paste("Accuracy = ", round(accuracy, 3),
"\nPrecision = ", round(precision, 3),
"\nRecall = ", round(recall, 3),
"\nF1 Score = ", round(f1score, 3), "\n")
cat(result)
}
Hasil Performance Comparison
performance(logit.perf)
Accuracy = 0.818
Precision = 0.308
Recall = 0.432
F1 Score = 0.36
performance(ctree.perf)
Accuracy = 0.834
Precision = 0.096
Recall = 0.5
F1 Score = 0.161
performance(forest.perf)
Accuracy = 0.844
Precision = 0.096
Recall = 0.714
F1 Score = 0.169
performance(svm.perf)
Accuracy = 0.841
Precision = 0.038
Recall = 1
F1 Score = 0.074
Setelah selesai melakukan beberapa algoritma, yang menghasilkan tingkat akurasi paling tinggi adalah model Random Forest sebesar 0.85 atau 85%.
Bisa dibuktikan melalui perhitungan confusion matrix, dengan hasil sebagai berikut:
Accuracy untuk model logistic regression = 241 karyawan
Accuracy untuk model classification tree = 257 karyawan
Accuracy untuk model random forest = 260 karyawan
Accuracy untuk model support vector machine = 262 karyawan
Jadi paling banyak adalah model random forest, sebanyak pegawai yang benar diprediksi tidak akan meninggalkan perusahaan.
Dan yang menghasilkan tingkat precision paling tinggi adalah model Support Vector Machine sebesar 100%. Bisa dibuktikan melalui perhitungan confusion matrix, dengan hasil sebagai berikut:
Precision untuk model logistic regression = 16 karyawan
Precision untuk model classification tree = 5 karyawan
Precision untuk model random forest = 5 karyawan
Precision untuk model support vector machine = 2 karyawan
Jadi paling sedikit yang meninggalkan perusahaan adalah model support vector machine, yaitu sebanyak 2 karyawan yang benar di prediksi akan meninggalkan perusahaan.
Sehingga dapat disimpulkan:
Projek ini dilakukan selama 18 hari
Untuk variabel utama yang digunakan dalam projek ini adalah attrition, age, monthlyincome, gender, maritalstatus, numcompaniesworked.
Untuk model, mungkin bisa di deploy lagi dalam meningkatkan nilai akurasinya.
Menurut saya, Model yang paling menguntungkan dalam segi bisnis adalah model Support Vector Machine. Karena precissionnya menunjukan yang paling sedikit meninggalkan perusahaan sebanyak 2 karyawan. Dan juga hasil presentase paling tinggi diantara model lainnya adalah precision sebesar 100%.
Sehingga dengan demikian kalau kita sudah mentreatment itu dengan lebih baik maka kita tidak akan kehilangan talenta-talenta baru diperusahaan. Dan akhirnya kita juga gak perlu keluar biaya atau effort untuk merekrut orang-orang baru lagi.
Projek ini dapat dimanfaatkan oleh seorang HR dalam mengefisiensi waktu dari kinerja nya untuk mengelola karyawannya.
Projek ini dapat dimanfaarkan oleh seorang Manager dalam memprediksi probabilitas attrition tiap karyawan, sehingga manajer bisa melihat dan mendalami alasan personal satu persatu karyawan dengan melihat nilai attrition probability yang tinggi.
Projek ini juga dapat membantu manager dalam menentukan kebijakan dalam usahanya untuk menurunkan nilai Attrition yang tinggi di perusahaan.