Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
1,43 MB
File đính kèm
Code.rar
(5 MB)
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC BÁO CÁO GIỮA KỲ MÔN: HỆ HỖ TRỢ QUYẾT ĐỊNH ĐỀ TÀI HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Giảng viên hướng dẫn: TS LÊ CHÍ NGỌC Sinh viên thực hiện: Mã số sinh viên: Nguyễn Trung Nghĩa 20173561 Lớp: Toán Tin 01 - K62 Hà Nội, tháng 05 năm 2020 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Mục lục Điều tra khảo sát 1.1 Bài toán thực tế 1.2 Dữ liệu sử dụng Thuật toán 2.1 Định nghĩa 2.2 Mơ hình Phân tích thiết kế hệ thống 3.1 Biểu đồ phân cấp chức 3.2 Biểu đồ luồng liệu 3.2.1 Biểu đồ luồng liệu mức ngữ cảnh 3.2.2 Biểu đồ luồng liệu mức đỉnh 10 3.2.3 Biểu đồ hệ thống 11 Thiết kế chương trình 4.1 4.2 12 Cơng nghệ sử dụng 12 4.1.1 Front-end 12 4.1.2 Back-end 12 Giao diện chương trình 13 Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Đánh giá kết luận 17 5.1 Đánh giá mơ hình 17 5.2 Kết luận 17 Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương 1.1 Điều tra khảo sát Bài toán thực tế Khi công ty phát triển mở rộng quy mơ khối lượng cơng việc cần phải xử lý ngày lớn Mỗi nhân viên công ty có nhiệm vụ, cơng việc chun biệt khó thay Tuy nhiên, nhân viên phận khác nhau, chẳng hạn quản lý, điều phối, nhân sự, vận chuyển, lí khác (như sức khỏe, cái, áp lực công việc, cạnh tranh nội công ty ) mà vắng mặt số thời điểm khoảng thời gian làm việc Nếu khơng nắm bắt dự đốn thời gian vắng mặt theo nhân viên cơng ty, nhà quản lý khó xây dựng phương án dự phịng thích hợp, dẫn đến làm gián đoạn hoạt động bình thường cơng ty, gây tốn chi phí tìm kiếm phương án thay Quan trọng hơn, dự đốn điều đó, nhà quản lý đưa sách, thay đổi để hạn chế vắng mặt Vì vậy, toán dự đoán khả vắng mặt nhân viên làm việc vô quan trọng 1.2 Dữ liệu sử dụng Trong báo cáo này, em sử dụng liệu Employee Absenteeism Tony Priyanka (xem thêm: https://www.kaggle.com/tonypriyanka2913/employee-absenteeism) Bộ liệu gồm 740 ghi với 21 trường thuộc tính, bao gồm: ID; Reason for absence; Month of absence; Day of the week; Seasons; Transportation expense; Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Distance from Residence to Work; Service time; Age; 10 Work load Average/day; 11 Hit target; 12 Disciplinary failure; 13 Education; 14 Son; 15 Social drinker; 16 Social smoker; 17 Pet; 18 Weight; 19 Height; 20 Body mass index; 21 Absenteeism time in hours; Hình 1: Bộ liệu Employee Absenteeism Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Hình 2: Các trường liệu Từ liệu này, ta xây dựng mơ hình dự đoán khả vắng mặt nhân viên Một số nhận xét liệu: • Bộ liệu có số ghi bị thiếu thông tin, nhiên số lượng khơng đáng kể, ta bỏ ghi q trình tiền xử lý • Thuộc tính ID mang tính chất định danh, ta bỏ q trình luyện mơ hình Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương Thuật toán Bài toán dự đoán khả thuộc loại phân lớp nhị phân (Có khả (1) Khơng có (0)) Do đó, em sử dụng thuật tốn Hồi quy logistic để xây dựng mơ hình 2.1 Định nghĩa Phương pháp hồi quy logistic mơ hình hồi quy nhằm dự đoán giá trị đầu rời rạc (discrete target variable) y ứng với véc-tơ đầu vào x Việc tương đương với chuyện phân loại đầu vào x vào nhóm y tương ứng Ví dụ, để dự đốn xem nhân viên có khả vắng mặt hay không, ta coi đầu y = nhân viên có khả vắng mặt y = nhân viên khơng có khả vắng mặt Đầu vào x thông tin nhân viên nhập vào người dùng Hình 3: Minh họa phân lớp nhị phân Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN 2.2 Mơ hình Sử dụng phương pháp thống kê ta coi khả đầu vào x nằm vào nhóm y0 xác suất nhóm y0 biết x: p(y0 |x) Dựa vào công thức xác xuất hậu nghiệm ta có: p(x|y0 )p(y0 ) p(x) p(x|y0 )p(y0 ) = p(x|y0 )p(y0 ) + p(x|y1 )p(y1 ) p(y0 |x) = Đặt a = ln Ta có: p(y0 |x) = p(x|y0 )p(y0 ) p(x|y1 )p(y1 ) = σ(a) + exp(−a) Hàm σ(a) gọi hàm sigmoid (logistic sigmoid function) Hình dạng chữ S bị chặn đầu đặt biệt chỗ dạng phân phối mượt Vận dụng Hình 4: Đồ thị hàm sigmoid σ(a) thuyết phân phối chuẩn, ta rằng: a = w x + w0 Đặt x0 = [1, , 1], ta viết gọn lại thành: a=w x Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Cơng thức tính xác suất lúc này: p(y0 |x) = = σ(w x) + exp(−a) Trong đó, x thuộc tính đầu vào cịn w trọng số tương ứng Có cơng thức tính xác suất ta sử dụng ngưỡng ε ∈ [0, 1] để định nhóm tương ứng Cụ thể: x ∈ y0 p y0 |x ≥ ε x ∈ y1 p y0 |x < ε Ta cần tối thiểu hoá hàm lỗi sau: J(w) = − m m y (i) log σ (i) + (1 − y (i) ) log(1 − σ (i) ) i=1 Trong đó, m kích cỡ tập liệu, y (i) lớp tương ứng liệu thứ i tập liệu, σ (i) = σ(w x(i) ) xác suất tương ứng tính với mơ hình cho liệu thứ i Để tối ưu hàm J(w) trên, ta lại sử dụng phương pháp Gradient Descent để thực Ở đây, đạo hàm hàm tính sau: ∂J (w) = ∂wj m m (i) (i) σ j − yj (i) xj i=1 m (i) (i) (i) σ w x j − yj x j m i=1 = X j σ j − yj m = Ví dụ, theo phương pháp BGD, ta cập nhập tham số sau vòng lặp sau: w =w−η X m σ−y Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương 3.1 Phân tích thiết kế hệ thống Biểu đồ phân cấp chức HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Quản lý hồ sơ nhân viên 3.2 3.2.1 Quản lý liệu chấm công Dự đoán khả vắng mặt Xem Xem Nhập liệu Thêm Thêm Xuất kết Xóa Xóa Sửa Sửa Biểu đồ luồng liệu Biểu đồ luồng liệu mức ngữ cảnh Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN 3.2.2 Biểu đồ luồng liệu mức đỉnh Quản lý hồ sơ nhân viên Quản lý liệu chấm công Dự đoán khả vắng mặt nhân viên Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 10 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN 3.2.3 Biểu đồ hệ thống Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 11 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương 4.1 Thiết kế chương trình Cơng nghệ sử dụng 4.1.1 Front-end Chương trình sử dụng HTML, CSS, Javascript để lập trình giao diện website • HTML từ viết tắt HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản) dùng mô tả cấu trúc trang Web tạo loại tài liệu xem trình duyệt • CSS (viết tắt Cascading Style Sheets) ngôn ngữ định dạng sử dụng để mô tả trình bày trang Web, bao gồm màu sắc, cách bố trí phơng chữ CSS cho phép chúng hiển thị nội dung tương thích loại thiết bị có kích thước hình khác nhau, chẳng hạn hình lớn, hình nhỏ điện thoại hay máy tính • JavaScript ngơn ngữ nhanh nhẹ chạy môi trường máy chủ lưu trữ (ví dụ: trình duyệt web), JavaScript kết nối với đối tượng môi trường để cung cấp kiểm sốt chương trình chúng JavaScript cho phép bạn thực điều phức tạp trang web đồ tương tác Javascript hỗ trợ tất trình duyệt Firefox, Chrome, , chí trình duyệt thiết bị di động có hỗ trợ 4.1.2 Back-end Ở đây, em sử dụng framework Flask, thuộc loại micro-framework, xây dựng ngơn ngữ lập trình Python Flask cho phép xây dựng ứng dụng web từ đơn giản tới phức tạp Nó xây dựng API nhỏ, ứng dụng web chẳng hạn trang web, blog, trang wiki website dựa theo thời gian hay chí trang web thương mại Flask cung cấp cho bạn công cụ, thư viện công nghệ hỗ trợ bạn làm công việc Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 12 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Flask micro-framework Điều có nghĩa Flask mơi trường độc lập, sử dụng thư viện khác bên Do vậy, Flask có ưu điểm nhẹ, có lỗi bị phụ thuộc dễ dàng phát xử lý lỗi bảo mật 4.2 Giao diện chương trình Hình 5: Giao diện đăng nhập Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 13 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Hình 6: Màn hình trang chủ Hình 7: Nhập liệu dự đoán cho cá nhân Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 14 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Hình 8: Kết dự đốn cho cá nhân Hình 9: Nhập liệu theo nhóm cách upload file Excel Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 15 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Hình 10: Upload file Excel Hình 11: Kết dự đốn theo nhóm Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 16 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương 5.1 Đánh giá kết luận Đánh giá mơ hình Sau chia liệu 70% train 30% test, ta thu kết sau: Đây kết chấp nhận với toán phân loại nhị phân Khi nhân cơng ty có thêm liệu (có thêm liệu chấm cơng), mơ hình cải tiến cách luyện lại với liệu 5.2 Kết luận Một kế hoạch dự đốn khả vắng mặt nhân viên áp dụng nhóm nhân viên thích hợp để có kết tốt Chương trình giúp nhà quản lý nhìn yếu tố có ảnh hưởng nhiều đến khả vắng mặt nhân viên, từ đưa định phù hợp với tình hình có kế hoạch cho tương lai Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 17 ... Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Chương 3.1 Phân tích thiết kế hệ thống Biểu đồ phân cấp chức HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG... 15 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN Hình 10: Upload file Excel Hình 11: Kết dự đốn theo nhóm Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 16 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG... chấm công Dự đoán khả vắng mặt nhân viên Sinh viên thực hiện: Nguyễn Trung Nghĩa - Toán Tin 01 K62 10 HỆ HỖ TRỢ DỰ BÁO KHẢ NĂNG VẮNG MẶT CỦA NHÂN VIÊN 3.2.3 Biểu đồ hệ thống Sinh viên thực hiện: