Mô hình Gradient BoostingĐặc điểm: • Boosting là một quá trình tuần tự, không thể xử lý song song Thời gian train tương đối lâu • Sau mỗi vòng lặp, error có thể giảm theo cấp số nhân •
Trang 2BÁO CÁO BÀI TẬP LỚN PHÂN TÍCH NGHIỆP VỤ THÔNG MINH
Trang 3ĐỀ TÀI: DỰ ĐOÁN KHẢ NĂNG NGHỈ
VIỆC
CỦA NHÂN VIÊN TRONG CÔNG TY
Giáo viên hướng dẫn: TS Nguyễn Bình Minh
Sinh viên thực hiện: Nguyễn Hoàng
Nguyễn Đức Thắng 2019417
0 Phạm Văn Nam 2018359
8
Trang 41 Giới thiệu đề tài
Trang 51 Giới thiệu đề tài
Nhân viên nghỉ việc là một vấn đề
gây nhiều hao tổn cho công ty
Theo thống kê, các công ty thường
phải trả khoảng 1/5 tiền lương để
thay thế một nhân viên
Nắm bắt được tại sao và khi nào
nhân viên có khả năng nghỉ việc
cao có thể giúp nhà quản lý đưa ra
các phương án hành động phù hợp
Trang 62 Mô hình đề xuất
Mô hình sử dụng:
• Mô hình hồi quy tuyến tính
• Mô hình SVM
• Mô hình Gradient Bootsting
• Mô hình rừng ngẫu nhiên
Trang 73.1 Mô hình hồi quy tuyến tính
3.2 Support Vector Machine - SVM 3.3 Mô hình Gradient Boosting
3.4 Rừng ngẫu nhiên
3 Cơ sở lý thuyết
Trang 83.1 Mô hình hồi quy tuyến tính
Mục tiêu: Tìm một ánh xạ từ
không gian dữ liệu đầu vào sang
không gian dữ liệu nhãn đầu ra:
hay
Với hồi quy tuyến tính thì là
một hàm tuyến tính
•
Trang 93.1 Mô hình hồi quy tuyến tính
Giả sử : vector hàng của input data
vector cột trọng số cần tìm
nhãn dữ liệu đầu ra
Khi đó hàm có dạng:
•
Trang 103.1 Mô hình hồi quy tuyến tính
Hàm mất mát:
• L1 – Least absolute deviations:
• L2 – Least absolute deviations:
•
Trang 113.2 Support Vector Machine - SVM
SVM là thuật toán thuộc nhóm
Supervised Learning
Mục tiêu: Tìm ra một siêu phẳng trong
không gian N chiều chia dữ liệu thành
hai phần tương ứng với lớp của nó
Tối ưu trong SVM: Siêu phẳng tìm
được phải có lề cực đại, khoảng cách
tới các điểm của hai lớp là lớn nhất
Trang 123.2 Support Vector Machine - SVM
Giả sử:
• Các cặp dữ liệu của training set:
• và thể hiện đầu vào và nhãn của điểm dữ liệu
• với điểm thuộc class 1, với điểm thuộc class 2
Cần tìm một siêu phẳng có phương trình
•
Trang 133.2 Support Vector Machine - SVM
Khoảng cách từ điểm bất kỳ tới mặt phân chia:
Margin là khoảng cách gần nhất từ một điểm tới mặt đó:
•
Trang 143.2 Support Vector Machine - SVM
Bài toán tối ưu SVM là tìm và sao cho margin cực đại:
Nếu bài toán thỏa mãn tiêu chuẩn Slater, nghiệm của bài toán chính là nghiệm của hệ điều kiện KKT
•
Trang 153.3 Mô hình Gradient Boosting
Là một mô hình tạo ra một loạt
các mô hình phân loại yếu
Mô hình sinh ra sau sẽ được học
để hạn chế các sai lầm của mô
hình sinh ra trước
Gồm 2 loại Boosting: Adaptive
Boosting và Gradient Boosting
Trang 163.3 Mô hình Gradient Boosting
Đặc điểm:
• Boosting là một quá trình tuần tự, không thể xử lý song song Thời gian train tương đối lâu
• Sau mỗi vòng lặp, error có thể giảm theo cấp số nhân
• Boosting sẽ hoạt động tốt nếu base learner không quá phức tạp cũng như error không thay đổi quá nhanh
• Boosting giúp giảm giá trị bias cho các model base learner
•
Trang 173.3 Mô hình Gradient Boosting
Mô hình Boosting được phát biểu bằng bài toán tối ưu sau:
Trang 183.3 Mô hình Gradient Boosting
Công thức cập nhật tham số theo hướng giảm của đạo hàm:
Áp dụng tương tự cho phương pháp Gradient Boosting:
•
Trang 193.3 Mô hình Gradient Boosting
Trang 203.4 Rừng ngẫu nhiên
Cây quyết định là một cây phân cấp có cấu trúc được dùng
để phân lớp các đối tượng dựa vào dãy các luật
Trang 213.4 Rừng ngẫu nhiên
Rừng ngẫu nhiên là một thuật toán học máy có giám sát, sử dụng các cây quyết định làm nền tảng
Trang 234.1 Giới thiệu về bộ dữ liệu
4.2 Phân tích bộ dữ liệu
4.3 Tiền xử lý dữ liệu
4.4 Kết quả
4 Kết quả thực nghiệm
Trang 244.1 Giới thiệu về bộ dữ liệu
File csv gồm 1470 điểm dữ liệu, công bố trên cuộc thi Kaggle:
https://www.kaggle.com/datasets/pavansubhasht/ibm-hr-analytics-attrition-dataset
Chứa thông tin về các nhân viên làm việc cho công ty gồm: bằng cấp, mức độ hài lòng với môi trường, công việc, lương,
…
Mục tiêu của cuộc thi yêu cầu cần dự đoán chính xác một nhân viên của công ty có quyết định nghỉ việc hay không
Trang 254.2 Phân tích bộ dữ liệu
Bộ dữ liệu gồm 1470 dòng và 35 cột, tương ứng với 1470 bản ghi và 35 trường:
Trang 264.2 Phân tích bộ dữ liệu
Thống kê về số giá trị duy nhất của từng cột:
Trang 274.2 Phân tích bộ dữ liệu
Biểu đồ phân phối số tuổi của nhân viên:
Trang 284.2 Phân tích bộ dữ liệu
Một số biểu đồ phân phối khác:
Trang 294.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo giới tính:
Trang 304.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo tình trạng hôn nhân:
Trang 314.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo sự cân bằng giữa công việc và cuộc sống:
Trang 324.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo sự hài lòng về môi trường làm việc:
Trang 334.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo sự hài lòng về công việc:
Trang 344.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo thứ bậc công việc:
Trang 354.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo tần suất đi công tác:
Trang 364.2 Phân tích bộ dữ liệu
Biểu đồ số nhân viên nghỉ và không nghỉ việc theo các ban chuyên môn:
Trang 374.3 Tiền xử lý dữ liệu
Loại bỏ đi các trường ‘StandardHours’ ‘EmployeeCount’,
‘EmployeeNumber’, ‘MonthlyRate’, ‘Over18’ do có quá nhiều hoặc quá ít giá trị khác nhau
Thêm cột TotalSatisfaction có ý nghĩa là tổng cộng các mức
độ hài lòng của một nhân viên
TotalSatisfation là tổng các cột: ‘EnvironmentSatisfaction’,
‘JobInvolvement’, ‘JobSatisfaction’, ‘RelationshipSatisfaction’,
‘WorkLifeBalance’
Trang 404.3 Tiền xử lý dữ liệu
Visualize ma trận tương quan giữa các cột sau khi mã hóa:
Trang 414.3 Tiền xử lý dữ liệu
Từ biểu đồ ta thấy có thể bỏ đi một số cột do tương quan rất cao với một hay nhiều cột khác:
• Bỏ ‘Education’ do tương quan rất cao với ‘EducationYear’
• Bỏ ‘YearsInCurrentRole’ do tương quan rất cao với ‘YearsAtCompany’
• Bỏ ‘Department_1’ do tương quan rất cao với ‘Department_2’
• Bỏ ‘JobLevel’ do tương quan rất cao với ‘MonthlyIncome’
Trang 44Kết quả cho thấy mô hình Gradient Boosting với việc lọc bỏ
dữ liệu dư thừa cho kết quả tốt nhất
Trong tương lai, nhóm sẽ tiếp tục cải thiện mô hình bằng cách thử nghiệm mô hình hồi quy dựa trên XGBoost
Trang 45THANK YOU
!