Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
710,53 KB
Nội dung
Trường Đại Học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông =======o0o======= BÁO CÁO BÀI TẬP LỚN MƠN HỌC Phân tích nghiệp vụ thơng minh Giáo viên hướng dẫn: TS Nguyễn Bình Minh Đề tài: Dự đốn khả nghỉ việc nhân viên cơng ty Sinh viên thực Nguyễn Hoàng Thuận Nguyễn Đức Thắng Phạm Văn Nam Chu Thành Đô Hà Nội, ngày 24 tháng 06 năm 2022 TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC 1.Tóm tắt 2.Giới thiệu 3.Các nghiên cứu liên quan 3.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.4.1 Cây định 3.4.2 Rừng ngẫu nhiên 4.Mơ hình đề xuất 5.Kết thực nghiệm 5.1 Giới thiệu liệu 5.2 Phân tích liệu 5.3 Tiền xử lý liệu 5.4 Kết 6.Tổng kết 7.Tài liệu tham khảo TIEU LUAN MOI download : skknchat@gmail.com Tóm tắt Trong năm trở lại đây, toán dự đoán ngày ý đến khả ứng dụng thực Bài tốn dự đoán khả nhân viên nghỉ việc toán tiêu biểu Tuy nhiên toán tương đối phức tạp, kết thu bị ảnh hưởng nhiều yếu tố khác Trong khuôn khổ môn học này, chúng em tập trung vào toán dự đoán khả nhân viên nghỉ việc dựa yếu tố khác tập liệu có sẵn Chúng em sử dụng bốn mơ hình mơ hình hồi quy tuyến tính [1], mơ hình Gradient Boosting [2], mơ hình dựa Support Vector Machine [3] mơ hình rừng ngẫu nhiên [4] Giới thiệu Trong năm trở lại đây, toán dự đoán (forecasting) ngày ý đến khả ứng dụng thực Các lĩnh vực tài chính, bán hàng, thời tiết, … lĩnh vực có nhu cầu dự đốn lớn Tuy nhiên, vấn đề dự đốn có nhiều thách thức thiếu thông tin liệu vấn đề bảo mật, độ xác phương pháp chưa đủ tốt so với yêu cầu thực tế, xu hướng thay đổi theo thời gian, … Nhân viên nghỉ việc vấn đề gây nhiều hao tổn cho cơng ty Chi phí thực tế cho việc thay nhân viên thường cao Một nghiên cứu CAP (tổ chức nghiên cứu vận động sách cơng Mỹ) công ty thường trả khoảng 1/5 số tiền lương nhân viên để thay họ, chi phí tăng đáng kể vị trí có chức vụ cao nhân viên trả lương cao cần tìm người thay Điều lượng thời gian dành cho vấn, tiền thưởng hiệu suất, chất lượng công việc bị giảm sút vài tháng nhân viên làm quen với công việc Nắm bắt nhân viên có khả nghỉ việc cao giúp nhà quản lý đưa phương án hành động để giữ chân nhân viên lâu lập kế hoạch tuyển dụng phù hợp Xuất phát từ thực tế nói trên, chúng em xin chọn đề tài “Dự đoán khả nghỉ việc nhân viên công ty” để thực môn học Chúng em sử dụng bốn cách tiếp cận mơ hình hồi quy tuyến tính [1], mơ hình Gradient Boosting [2], mơ hình SVM [3] mơ hình rừng ngẫu nhiên [4] Các nghiên cứu liên quan 3.1 Mơ hình hồi quy tuyến tính Mục tiêu mơ hình hồi quy tuyến tính (Linear Regression) [1] nói riêng mơ hình học máy nói chung tìm ánh xạ từ khơng gian liệu đầu vào sang không gian liệu nhãn đầu ra: : → ≈ ( ) = ^ TIEU LUAN MOI download : skknchat@gmail.com Với hồi quy tuyến tính [1] hàm hàm tuyến tính Giả sử ta có: =[ , , ,…, ] vector hàng liệu đầu vào vector cột trọng số cần tìm nhãn liệu đầu Khi hàm =[ 0, 1, 2, =[ 0, 1, 2, …, ] ] …, có dạng: ( )= = 0+ 1+⋯+ Để đánh giá độ hiệu mơ hình cần có hàm mục tiêu hay hàm mát Đây hàm phụ thuộc vào tham số tập liệu học nhằm đo kết dự đoán tập học Hàm có giá trị nhỏ kết dự đoán tốt ngược lại Hàm mát thường sử dụng hồi quy hàm mát chuẩn L1 - Least absolute deviations [5] L2 - Least square errors [6] Công thức cụ thể sau: L1 - Least absolute deviations: = ∑ | − ( )| =1 L2 - Least absolute deviations: Cần phải chọn tham số để tối thiểu hàm mục tiêu Có nhiều phương pháp để tìm hàm tối ưu Một cách đơn giản giải phương trình đạo hàm (gradient) Giả sử ta sử dụng hàm thì: Từ suy ra: ( =( −1 ) = − )=0 −1 Trong trường hợp giải phương trình đạo hàm ma trận A khơng khả nghịch, sử dụng số phương pháp khác Gradient Descent [7] sử dụng khái niệm giả nghịch đảo [8] 3.2 Support Vector Machine – SVM Support Vector Machine (SVM) [3] thuật tốn thuộc nhóm Supervised Learning (Học có giám sát) dùng để phân chia liệu (Classification) thành nhóm riêng biệt TIEU LUAN MOI download : skknchat@gmail.com ( 1, 1), ( 2, 2), … , ( , Giả sử cặp liệu training set vector ) với ∈ thể đầu vào điểm liệu nhãn điểm liệu số chiều liệu số điểm liệu Giả sử nhãn điểm liệu xác định = (class 1) = −1 (class 2) Để phân chia hai class ta cần tìm siêu phẳng có phương trình + = Hình 1: Phân tích tốn SVM khơng gian chiều Với cặp liệu ( , (Nguồn: https://machinelearningcoban.com/assets/19_svm/svm6.png) ) bất kỳ, khoảng cách từ điểm tới mặt phân chia là: ( + ) || ||2 Với mặt phần chia trên, margin tính khoảng cách gần từ điểm tới mặt (bất kể điểm hai class): = ( + ) || ||2 Bài toán tối ưu SVM tốn tìm cho margin đạt giá trị lớn nhất: ( , )= , TIEU LUAN MOI download : skknchat@gmail.com Thông thường việc giải trực tiếp toán tương đối khó số chiều lớn Bài tốn tối ưu tốn lồi, thỏa mãn tiêu chuẩn Slater strong duality thoả mãn Và strong duality thoả mãn nghiệm tốn nghiệm hệ điều kiện KKT 3.3 Mơ hình Gradient Boosting Mơ hình Gradient Boosting mơ hình tạo loạt mơ hình phân loại yếu, mơ hình học hỏi từ để tránh lặp lại sai lầm Hay nói cách khác, mơ hình sinh sau học để hạn chế lỗi lầm sinh trước Vậy làm thể để hạn chế sai lầm từ model trước ? Boosting tiến hành đánh trọng số cho mô hình thêm vào dựa cách tối ưu khác Tùy theo cách đánh trọng số (cách để model fit cách tuần tự) cách tổng hợp lại model, từ hình thành nên loại Boosting: - Adaptive Boosting (AdaBoost) - Gradient Boosting Các mơ hình Boosting có số đặc điểm sau: - Boosting trình tuần tự, khơng thể xử lí song song, đó, thời gian train mơ hình tương đối lâu - Sau vịng lặp, Boosting có khả làm giảm error theo cấp số nhân - Boosting hoạt động tốt base learner khơng q phức tạp error không thay đổi nhanh - Boosting giúp làm giảm giá trị bias cho model base learner Mơ hình Boosting phát biểu tốn tối ưu sau: Trong đó: - L: loss function - y: label - : confidence score weak learner thứ n (hay gọi trọng số) - : weak learner thứ n TIEU LUAN MOI download : skknchat@gmail.com Thay cố gắng quét tìm tất giá trị , để tìm nghiệm tối ưu tồn cục - công việc tốn nhiều thời gian tài nguyên, cố gắng tìm giá trị nghiệm cục sau thêm mơ hình vào chuỗi mơ hình với mong muốn dần đến nghiệm tồn cục Ta có: Cơng thức cập nhật tham số theo hướng giảm đạo hàm: Đối với phương pháp Gradient Boosting, ta áp dụng tương tự: Ta có mã giả thuật toán sau: - Khởi tạo giá trị pseudo-residuals cho điểm liệu - Tại vòng lặp thứ i: o Train model thêm vào để fit vào giá trị pseudo-residuals có o Tính tốn giá trị confidence score model vừa train o Cập nhật model o Cuối cùng, tính tốn giá trị pseudo-residuals để làm label cho model - Sau lặp lại với vịng lặp i + TIEU LUAN MOI download : skknchat@gmail.com Hình3.3: Mơ tả thuật tốn Gradient Boosting 3.4 Rừng ngẫu nhiên 3.4.1 Cây định Cây định (Decision Tree) [8] phân cấp có cấu trúc dùng để phân lớp đối tượng dựa vào dãy luật Các thuộc tính đối tượng thuộc kiểu liệu khác Nhị phân (Binary), Định danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) thuộc tính phân lớp phải có kiểu liệu Binary Ordinal Một ví dụ định: giả sử dựa theo thời tiết mà bạn nam định đá bóng hay khơn Những đặc điểm ban đầu là: thời tiết, độ ẩm, gió Dựa vào thơng tin xây dựng mơ sau: TIEU LUAN MOI download : skknchat@gmail.com Hình3.4: Mơ hình định (Nguồn: https://i1.wp.com/trituenhantao.io/wp-content/uploads/2020/04/dt_res-1.png?w=810&ssl=1 ) Dựa theo mơ hình trên, ta thấy: trời nắng, độ ẩm bình thường khả bạn nam chơi bóng cao Cịn trời nắng, độ ẩm cao khả bạn nam khơng chơi bóng Thuật toán đơn giản để xây dựng định thuật tốn ID3 C4.5 ID3 [9] sử dụng phương pháp tham lam tìm kiếm từ xuống thơng qua khơng gian nhánh khơng có backtracking ID3 [9] sử dụng Entropy Information Gain để xây dựng định Thuật toán C4.5 [9] thuật toán cải tiến ID3[9] Trong thuật tốn C4.5 [9], thay sử dụng Information Gain, Gain Ratio sử dụng để chuẩn hoá Information Gain với số lượng ghi, từ tránh việc ưu tiên thuộc tính có số lượng lớn giá trị mà xét tới thuộc tính có giá trị Ngồi cịn có số thuật tốn khác như: - Thuật toán CHAID: Tạo định cách sử dụng thống kê chi-square để xác định phân tách tối ưu Các biến mục tiêu đầu vào số (liên tục) phân loại - Thuật toán C&R: sử dụng phân vùng đệ quy để chia Tham biến mục tiêu dạng số phân loại - MARS - Conditional Inference Trees TIEU LUAN MOI download : skknchat@gmail.com Chú ý phát triển định để phân chia tất điểm liệu, lớn phức tạp, độ xác tập kiểm tra lại khơng cao liệu huấn luyện tiềm ẩn nhiễu Do cần có tiêu chuẩn dừng để tránh trường hợp Tiêu chuẩn độ sâu tối đa cây, tổng số nút tối đa, hay việc phân chia them node không làm giảm entropy nhiều,… Ngồi cịn có phương pháp cắt tỉa cây: xây dựng định hồn chỉnh sau tiến hành cắt tỉa số nút, nhánh không quan trọng nhằm giảm kích thước độ phức tạp 3.4.2 Rừng ngẫu nhiên Rừng ngẫu nhiên [4] thuật tốn học có giám sát Như tên gọi nó, rừng ngẫu nhiên sử dụng định để làm tảng Ưu điểm rừng ngẫu nhiên sử dụng cho tốn phân loại hồi quy, tránh overfitting, làm việc với liệu bị thiếu giá trị,… Rừng ngẫu nhiên hoạt động cách đánh giá nhiều định ngẫu nhiên, lấy kết đánh giá tốt (được vote nhiều nhất) số kết trả Hình Rừng ngẫu nhiên (Nguồn: https://upload.wikimedia.org/wikipedia/commons/7/76/Random_forest_diagram_complete.png ) Mơ hình đề xuất Bốn mơ hình thử nghiệm mơ hình hồi quy logistic, mơ hình gradient boosting, mơ hình SVM mơ hình định Các cách lựa chọn điều chỉnh tham số nhóm em trình bày chi tiết phần sau 10 TIEU LUAN MOI download : skknchat@gmail.com - DailyRate: MonthlyIncome: MonthlyRate: EmployeeNumber: Ta nhận thấy trường Over18, StandardHours, EmployeeCount có giá trị cho tất ghi nên trường ý nghĩa việc phân loại, ta bỏ qua trình thực nghiệm Tương tự trường EmployeeNumber, MonthlyRate có nhiều giá trị khác số lượng giá trị khác gần tương đương với tổng số ghi nên ý nghĩa dùng để phân loại thấp • Biểu đồ phân phối số tuổi nhân viên: Từ biểu đồ thấy phân phối tuổi nhân viên tập liệu phân phối chuẩn, có trung bình khoảng 35 tuổi, giá trị nhỏ quan sát 18 tuổi, giá trị cao quan sát 60 tuổi 13 TIEU LUAN MOI download : skknchat@gmail.com • Một số biểu đồ phân phối khác để hiểu liệu: Từ biểu đồ thấy: - Hầu hết nhân viên làm việc công ty nhỏ 20 năm, tổng số năm làm việc nhân viên phần lớn nhỏ 20 năm - Hầu hết nhân viên làm việc gần nhà, biểu đồ khoảng cách đến cơng ty có phân hóa rõ rệt khoảng cách gần xa - Hầu hết nhân viên lên chức vòng vài năm gần Và phần trăm lương tăng nằm phần lớn khoảng 10-15% 14 TIEU LUAN MOI download : skknchat@gmail.com • Biểu đồ thống kê số nhân viên nghỉ việc khơng nghỉ việc phân theo giới tính: Dựa vào biểu đồ thấy tỷ lệ nghỉ việc nhân nam cao nữ chút (16.7% so với 15%) • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc theo tình trạng nhân: Có thể thấy tỷ lệ nghỉ việc nhóm nhân viên cịn độc thân cao (25%) so với hôn nhân (13%) li hôn (9.1%) 15 TIEU LUAN MOI download : skknchat@gmail.com • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc phân theo cân cơng việc sống: Có thể thấy người có cân sống cơng việc cao tỷ lệ nghỉ việc thấp Với số cân tỷ lệ nghỉ việc khoảng 33%, với số cân tỷ lệ nghỉ việc 17.4%,… • Biểu đồ thống kê số nhân viên nghỉ việc khơng nghỉ việc phân theo hài lịng mơi trường làm việc: 16 TIEU LUAN MOI download : skknchat@gmail.com Điểm tương tự với số mức độ hài long với mơi trường làm việc, mức độ hài lịng thấp tỷ lệ nghỉ việc tăng lên • Biểu đồ thống kê số nhân viên nghỉ việc khơng nghỉ việc phân theo hài lịng cơng việc: Chỉ số mức độ hài long công việc tương tự hai số • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc theo thứ bậc công việc: 17 TIEU LUAN MOI download : skknchat@gmail.com Có thể thấy với nhân viên có thứ bậc cơng việc thấp, tỷ lệ nghỉ việc cao hẳn Đặc biệt với nhân viên có thứ bậc cơng việc cao, mức 4-5 tỷ lệ nghỉ việc gần mức 0% • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc theo tần suất công tác: Biểu đồ mức độ phải công tác tỷ lệ thuận với khả nghỉ việc Càng phải công tác nhiều tỷ lệ nghỉ việc cao • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc theo ban chuyên môn: 18 TIEU LUAN MOI download : skknchat@gmail.com Biểu đồ cho thấy ban chun mơn R&D có tỷ lệ nghỉ việc thấp nhất, khoảng 14% ban chun mơn Sales có tỷ lệ nghỉ việc lên đến 20%, HR có tỷ lệ nghỉ việc 25% 5.3 Tiền xử lý liệu • Như đề cập phần trước ta loại bỏ trường sau có q q nhiều giá trị khác nhau: 'Over18', 'EmployeeCount', 'EmployeeNumber', 'StandardHours' • Thêm cột EducationYears từ mức giá trị thành số năm chương trình giáo dục với cài đặt sau: - 1: 10, Trung học sở 2: 12, Trung học phổ thông 3: 16, Đại học 4: 18, Thạc sĩ 5: 22, Tiến sĩ Điều có ý nghĩa tập liệu có trường số năm cơng ty, tổng số năm làm việc nên chuẩn hóa trường education theo hướng giúp đồng với số đặc trưng khác tập liệu • Thêm cột TotalSatisfaction có ý nghĩa tổng cộng cho mức hài long nhân viên Cột tổng cột : 'EnvironmentSatisfaction', 'JobInvolvement', 'JobSatisfaction', 'RelationshipSatisfaction', 'WorkLifeBalance' • • Mã hóa one-hot cho cột chứa liệu dạng category Các cột là: BusinessTravel Department EducationField Gender JobRole MaritalStatus OverTime Visualize ma trận tương quan cột sau q trình mã hóa: Từ biểu đồ ta nhận thấy bỏ số cột có tương quan cao với hay nhiều cột khác: - Bỏ cột 'Education' tương quan cao với cột 'YearsEducation' (1.0) Bỏ cột 'YearsInCurrentRole' tương quan cao với cột 'YearsAtCompany' (0.9) Bỏ cột 'Department_1' tương quan cao với cột 'Department_2' (0.9) Bỏ cột 'JobLevel' tương quan cao với cột 'MonthlyIncome' (0.9) 19 TIEU LUAN MOI download : skknchat@gmail.com • Sau mã hóa bỏ cột không cần thiết, ta tiến hành chia liệu ngẫu nhiên thành tập train test với tỷ lệ 80-20 20 TIEU LUAN MOI download : skknchat@gmail.com • Việc cân liệu vấn đề đau đầu với hầu hết toán học máy, với tập liệu Chính nhóm em sử dụng kĩ thuật làm tăng liệu có tên gọi SMOTE[10] để làm tăng liệu tập huấn luyện cách hiệu Hình vẽ biểu đồ liệu tập huấn luyện trước sau áp dụng phương pháp SMOTE 5.4 Kết • Trong q trình thực nghiệm để đạt kết tốt nhất, nhóm em sử dụng thư viện sklearn với tính grid search để tìm tham số tối ưu cho mơ hình • Kết mô tả bảng đây: Phương pháp Logistic Regression SVM Gradient Boosting Decision Tree Random forest Qua kết thực nghiệm thấy phương pháp Gradient Boosting có kết cao vượt xa phương pháp lại Phương pháp SVM tệ đạt 37%, điều liệu chứa nhiều điểm liệu nhiều đặc trưng khiến cho mơ hình SVM khơng thể hoạt động tốt Tổng kết Trong nghiên cứu này, chúng em thử nghiệm bốn cách tiếp cận mơ hình hồi quy logistic, mơ hình gradient bootsing, mơ hình SVM mơ hình rừng ngẫu nhiên cho toán “ dự đoán khả nghỉ việc nhân viên” Kết cho thấy mơ hình gradient boosting với việc lọc bỏ thuộc tính dư thừa cho kết tốt Trong tương lai, nhóm tiếp tục cải thiện mơ hình cách thử nghiệm mơ hình hồi quy dựa XGBoost [11] để đạt kết tốt 21 TIEU LUAN MOI download : skknchat@gmail.com Tài liệu tham khảo [1] Weisberg, Sanford Applied linear regression Vol 528 John Wiley & Sons, 2005 [2] Friedman, J H (2001) Greedy function approximation: a gradient boosting machine Annals of statistics, 1189-1232 [3] Cortes, Corinna, and Vladimir Vapnik "Support vector machine." Machine learning 20.3 (1995): 273297 [4] Bonissone, Piero, et al "A fuzzy random forest." International Journal of Approximate Reasoning 51.7 (2010): 729-747 [5] Bloomfield, Peter, and William L Steiger Least absolute deviations: theory, applications, and algorithms Boston: Birkhäuser, 1983 [6] Modarres, Mohammad, Ebrahim Nasrabadi, and Mohammad Mehdi Nasrabadi "Fuzzy linear regression models with least square errors." Applied Mathematics and Computation 163.2 (2005): 977-989 [7] Sharma, Sagar, and Simone Sharma "Activation functions in neural networks." Towards Data Science 6.12 (2017): 310-316 [8] Myles, Anthony J., et al "An introduction to decision tree modeling." Journal of Chemometrics: A Journal of the Chemometrics Society 18.6 (2004): 275-285 [9] Freund, Yoav, and Llew Mason "The alternating decision tree learning algorithm." icml Vol 99 1999 [10] Chawla, N V., Bowyer, K W., Hall, L O., & Kegelmeyer, W P (2002) SMOTE: synthetic minority over-sampling technique Journal of artificial intelligence research, 16, 321-357 [11] Chen, Tianqi, and Carlos Guestrin "Xgboost: A scalable tree boosting system." Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining 2016 22 TIEU LUAN MOI download : skknchat@gmail.com ... số nhân viên nghỉ việc không nghỉ việc phân theo giới tính: Dựa vào biểu đồ thấy tỷ lệ nghỉ việc nhân nam cao nữ chút (16.7% so với 15%) • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc. .. lệ nghỉ việc tăng lên • Biểu đồ thống kê số nhân viên nghỉ việc khơng nghỉ việc phân theo hài lịng công việc: Chỉ số mức độ hài long công việc tương tự hai số • Biểu đồ thống kê số nhân viên nghỉ. .. cơng việc cao, mức 4-5 tỷ lệ nghỉ việc gần mức 0% • Biểu đồ thống kê số nhân viên nghỉ việc không nghỉ việc theo tần suất công tác: Biểu đồ mức độ phải công tác tỷ lệ thuận với khả nghỉ việc