You are on page 1of 28

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC KINH TẾ THÀNH PHỐ HỒ CHÍ MINH


TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ


ĐỒ ÁN MÔN HỌC
ĐỀ TÀI:
PHÂN TÍCH VÀ DỰ ĐOÁN
Ý ĐỊNH Ở LẠI HAY NGHỈ VIỆC CỦA NHÂN VIÊN
DỰA TRÊN BỘ DỮ LIỆU EMPLOYEE BẰNG PHẦN MỀM ORANGE

Học phần: Khoa học dữ liệu


Mã lớp học phần: 23C1INF50905936
Giảng viên: TS. Đặng Ngọc Hoàng Thành
Nhóm sinh viên: Vũ Anh Thư - 31221023198
Nguyễn Cẩm Ly - 31221022117
Lê Hoàng Hà Chi - 31221024898
Trần Thị Kiều Trinh - 31221023211
Nguyễn Lê Bảo Trân - 31221022176
Chuyên ngành: KẾ TOÁN - TÀI CHÍNH
Khoá: K48

Thành phố Hồ Chí Minh, ngày 20 tháng 10 năm 2023


MỤC LỤC
MỤC LỤC ......................................................................................................................... 2
LỜI MỞ ĐẦU ................................................................................................................... 3
CHƯƠNG I: TỔNG QUAN ............................................................................................ 3
1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu .......................................................................... 3
1.2 Giới Thiệu Về Python Và Phần Mềm Orange........................................................................ 4
1.2.1. Python ..................................................................................................................................................4
1.2.2. Phần Mềm Orange .............................................................................................................................4
1.3 Giới thiệu đề tài ......................................................................................................................... 4
1.3.1. Lý Do Chọn Đề Tài .............................................................................................................................4
1.3.2. Mục Tiêu Nghiên Cứu ........................................................................................................................5

CHƯƠNG II: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU................................................ 5


2.1 Các Mô Hình Phân Lớp Dữ Liệu ............................................................................................ 5
2.1.1. Mô Hình Logistic Regression ...........................................................................................................5
2.1.2. Mô Hình Decision Tree.......................................................................................................................6
2.1.3. Mô Hình Support Vector Machine ....................................................................................................6
2.1.4. Mô Hình Neural Network ..................................................................................................................7
2.2 Quy Trình Xử Lý Dữ Liệu ......................................................................................................... 8
2.2.1. Tiền Xử Lý Dữ Liệu ...........................................................................................................................8
2.2.2. Quy Trình Phân Lớp Dữ Liệu ...........................................................................................................8
2.2.3. Đánh Giá Tính Hiệu Quả .................................................................................................................10

CHƯƠNG III. CÁC KẾT QUẢ THỰC NGHIỆM ..................................................... 15


3.1 Bộ Dữ Liệu ................................................................................................................................ 15
3.1.1. Mô tả bài toán ...................................................................................................................................15
3.1.2. Mô tả dữ liệu .....................................................................................................................................15
3.2 Các Kết Quả Thực Nghiệm ..................................................................................................... 17
3.2.1 Lấy Mẫu Dữ Liệu ..............................................................................................................................17
3.2.2. Phân lớp dữ liệu ................................................................................................................................19
3.2.3. Dự báo ...............................................................................................................................................24

CHƯƠNG IV. KẾT LUẬN ............................................................................................ 26


4.1 Các Kết Quả Đạt Được ............................................................................................................. 26
4.2 Đề xuất ....................................................................................................................................... 26
4.3 Những Hạn Chế Và Hướng Phát Triển.................................................................................. 27
4.3.1. Hạn Chế .............................................................................................................................................27
4.3.2. Hướng Phát Triển .............................................................................................................................27

TÀI LIỆU THAM KHẢO ............................................................................................. 28

2
LỜI MỞ ĐẦU
Lời đầu tiên, chúng em xin được gửi lời cảm ơn đến TS. Đặng Ngọc Hoàng Thành - Giảng
viên môn Khoa Học Dữ Liệu của nhóm. Chúng em vô cùng biết ơn những lời dạy bảo
nhiệt tình, sự chỉ dẫn tận tâm từng chi tiết, từng đề mục của thầy đến với các bạn sinh
viên. Bên cạnh đó, sự nhiệt huyết của thầy Thành đối với nghề đã mang lại cho chúng em
một cảm giác rất thoải mái, dễ hiểu bài và sôi động trong mỗi buổi học. Bộ môn Khoa
Học Dữ Liệu đã cho nhóm cái nhìn sâu sắc về phân tích dữ liệu nói chung và phần mềm
Orange nói riêng. Thông qua đồ án này, chúng em xin trình bày những kiến thức và kỹ
năng mà nhóm em đã thu hoạch được trong suốt quá trình học tập.

Lần đầu tiếp cận nghiên cứu đề tài nên trong quá trình thực hiện đồ án sẽ không tránh khỏi
có vài thiếu sót. Vì vậy, nhóm chúng em rất mong nhận được những lời nhận xét từ thầy
để góp phần hoàn thiện đồ án kết thúc môn học tốt nhất.

CHƯƠNG I: TỔNG QUAN


1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu
Khái niệm: Phân lớp dữ liệu là một kỹ thuật trong khai phá dữ liệu mà qua đó ta gắn tên
lớp cho một phần tử của tập dữ liệu dựa vào đặc điểm của lớp. Mục đích của phân lớp dữ
liệu là để xây dựng một mô hình mà có thể dự đoán được tên lớp của những phần tử mới
dựa trên những đặc điểm của nó.
Quá trình phân lớp dữ liệu:
Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn “học” hoặc “huấn luyện”)
Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ:
+ Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn)
+ Bước 2.2: Phân lớp dữ liệu mới
Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong
nhiều lĩnh vực khác nhau như học máy, hệ chuyên gia, thống kê… Công nghệ này cũng
ứng dụng trong nhiều lĩnh vực khác nhau như: thương mại, ngân hàng, maketing, nghiên
cứu thị trường, bảo hiểm, y tế, giáo dục, ...

3
1.2 Giới Thiệu Về Python Và Phần Mềm Orange
1.2.1. Python
Python là ngôn ngữ lập trình được sáng tạo nởi Guido Van Rossum - một chuyên gia lập
trình người Hà Lan vào năm 1991. Người sáng lập muốn Python là một ngôn ngữ dễ hiểu
và tương đồng với tiếng Anh, nhờ vậy nó rất thân thiện với người dùng và tương đối dễ
thao tác.
Python là một phần mềm mã nguồn mở (open source), do đó, ai cũng có thể đóng góp để
phát triển Python, giúp ngôn ngữ này càng trở nên phổ biến và mạnh mẽ hơn. Ngoài ra,
Python có thể chạy trên nhiều nền tảng hệ điều hành khác nhau như Window, Mac OS,
Linux,…
Ngày nay, Python đã trở thành một yếu tố chính trong khoa học dữ liệu, cho phép các nhà
phân tích dữ liệu và các chuyên gia khác sử dụng ngôn ngữ này để thực hiện các phép tính
thống kê phức tạp, tạo trực quan hóa dữ liệu, xây dựng thuật toán học máy, thao tác và
phân tích dữ liệu cũng như hoàn thành các nhiệm vụ khác liên quan đến dữ liệu.
1.2.2. Phần Mềm Orange
Khai phá dữ liệu và học máy là những lĩnh vực khá khó để khám phá và nghiên cứu. Do
đó, nhiều phần mềm đã ra đời với mục tiêu là giúp cho người dùng có thể dễ dàng nghiên
cứu các bài toán trong những lĩnh vực khó nhằn này. Một trong những phần mềm đó có
thể kể đến là Orange.
Phần mềm Orange biết đến bởi việc tích hợp các công cụ khai phá dữ liệu mã nguồn mở
và học máy thông minh, đơn giản được lập trình bằng Python với giao diện trực quan và
tương tác dễ dàng. Với nhiều chức năng, phần mềm này có thể phân tích được những dữ
liệu từ đơn giản đến phức tạp, tạo ra những đồ họa đẹp mắt và thú vị và còn giúp việc khai
thác dữ liệu và học máy trở nên dễ dàng hơn cho cả người dùng mới và chuyên gia.Các
công cụ (widgets) cung cấp chức năng cơ bản như đọc dữ liệu, hiển thị dữ liệu dạng bảng,
lựa chọn thuộc tính đặc điểm của dữ liệu, huấn luyện dữ liệu để dự đoán, so sánh các thuật
toán máy học, trực quan hóa các phần tử dữ liệu…
1.3 Giới thiệu đề tài
1.3.1. Lý Do Chọn Đề Tài
Nhân viên là nhân tố vô cùng quan trọng đối với một tổ chức, thậm chí bằng sự hiện diện
của họ trong đó là tài sản vốn con người quan trọng nhất, là kết quả phản ánh sự thành
công của tổ chức. Khi nhân viên lựa chọn rời khỏi một tổ chức, sự mất mát về nguồn lực,
thông tin hoặc kiến thức mà nhân viên đó sở hữu tác động đến tổng thể tình hình của công
ty. Do đó, nó trở thành thách thức lớn nhất đối với các nhà tuyển dụng nhân sự trong việc

4
xử lý tình trạng mất đi những nhân viên có chuyên môn của mình. Trong ngành Nhân lực,
thuật ngữ Employee Turnover và Employee Atrition có thể thay thế cho nhau. Cả hai đều
có nghĩa là cắt giảm nhân viên thông qua việc nghỉ hưu, từ chức hoặc qua đời. Sự tiêu hao
nhân lực là một vấn đề nghiêm trọng, đề cập đến việc tự nguyện hoặc buộc phải chấm dứt
công việc chuyên môn, điều này ảnh hưởng đến thương hiệu và năng suất của tổ chức.
Trong bài nghiên cứu này đề cập đến sự tiêu hao nhân lực ảnh hưởng ít nhiều đến chiến
lược tăng trưởng và cân bằng nguồn lực của tổ chức. Cơ hội giảm đi, sự không hài lòng
với công việc hoặc môi trường làm việc và cả những thách thức mà ban lãnh đạo phải đối
mặt có thể dẫn đến tỷ lệ tiêu hao nhân lực cao. Những vấn đề này cũng vô tình cản trở sự
phát triển của tổ chức, do đó để tìm ra giải pháp cho tốc độ tiêu hao nguồn nhân lực ngày
càng tăng, nhóm chúng em xin đề xuất dự án nghiên cứu “Phân tích và dự đoán ý định
ở lại hay nghỉ việc của nhân viên dựa trên bộ dữ liệu Employee”.
1.3.2. Mục Tiêu Nghiên Cứu
Bài nghiên cứu “Phân tích và dự đoán ý định ở lại hay nghỉ việc của nhân viên dựa
trên bộ dữ liệu Employee” nhằm tập trung vào những mục tiêu được đề cập dưới đây:

▪ Tiến hành phân tích các lý thuyết của khai phá dữ liệu nhằm tập trung làm rõ những
vấn đề của bài nghiên cứu.
▪ Nghiên cứu về các phương pháp của cụ thể, phương pháp phân lớp dữ liệu (phương
pháp phân lớp đưa ra các dự báo, phân loại và cũng như phân lớp các đối tượng).
Nghiên cứu sẽ đưa các phương pháp phân lớp dữ liệu, và từ đó sẽ chọn ra một phương
pháp tối ưu và đảm bảo nhất cho quá trình dự báo dữ liệu.
▪ Dựa trên mô hình đã được huấn luyện trong quá trình nghiên cứu, đưa ra được kết luận
về mức độ rời bỏ doanh nghiệp của nhân viên cũng như các cách thức cải thiện mức
độ này

CHƯƠNG II: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU


2.1 Các Mô Hình Phân Lớp Dữ Liệu
2.1.1. Mô Hình Logistic Regression
Định nghĩa: Là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một tập giá trị đầu
vào (biểu diễn dưới dạng vector), bằng cách dự đoán xác suất hoặc cơ hội xảy ra giùp suy
ra mối quan hệ giữa biến phụ thuộc và biến độc lập. Việc này tương đương với chuyện
phân loại các đầu vào x vào các nhóm y tương ứng.

5
Kết quả của hồi quy logistic là bất kỳ giá trị nhị phân nào như Nam hoặc Nữ, Có hoặc
Không, Thư rác hoặc Không phải là Thư rác. Ngày nay nó được sử dụng phổ biến để phân
loại mọi thứ.
2.1.2. Mô Hình Decision Tree
Định nghĩa: Decision Tree (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. Các thuộc tính của đối tượng có thể thuộc
các kiểu dữ liệu khác nhau như Nhị phân (Bianry), định danh (Nomial), thứ tự (Ordinal),
số lượng (Quantitative) trong khi đó thuộc tính của phân lớp phải có kiểu dữ liệu là Binary
hoặc Ordinal.
Trong lý thuyết, cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm
nhằm hỗ trợ quá trình ra quyết định.
Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và
tổng quát hóa tập dữ liệu cho trước. Khi đó, cây quyết định mô tả một cấu trúc cây, trong
đó các lá đại diện cho phân loại còn cành đại diện cho các kết hợp của các thụộc tính dẫn
đến phân loại đó.

Hình 2.1. Minh hoạ cho mô hình Hình 2.2. Minh hoạ cho mô hình
Logistic Regression Decision Tree

2.1.3. Mô Hình Support Vector Machine


Định nghĩa: Support Vector Machine (SVM) là một thuật toán có giám sát, SVM nhận
dữ liệu vào, xem chúng như những vector trong không gian và phân loại chúng vào các

6
lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt
phân cách lớp dữ liệu
Phương pháp này tìm ra một siêu phẳng quyết định tốt nhất để chia các điểm trên không
gian này thành các lớp riêng biệt. Chất lượng của siêu phẳng này được quyết định bởi một
khoảng cách biên của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách
biên càng lớn thì càng có sự phân chia tốt các điểm ra thành hai lớp, nghĩa là sẽ đạt được
kết quả phân loại tốt. Như vậy, để tối ưu hoá kết quả, ta xác định một mặt phẳng siêu
phẳng có khoảng cách đến điểm dữ liệu của tất cả các lớp xa nhất có thể.
SVM là một trong những thuật toán Supervised Learning phổ biến nhất, được sử dụng cho
các bài toán Phân loại cũng như Hồi quy. Tuy nhiên, nó được sử dụng chủ yếu cho các
vấn đề Phân loại. Thuật toán SVM có thể được sử dụng để nhận diện khuôn mặt, phân
loại hình ảnh, phân loại vân bản,…
2.1.4. Mô Hình Neural Network
Định nghĩa: Phương pháp Neural Network là mạng lưới Nơ-ron nhân tạo. Đây là chuỗi
thuật toán nhằm tìm kiếm quan hệ trong tập hợp dữ liệu hệ thống dựa theo cách thức hoạt
động của não bộ con người. Neural Network thích ứng với mọi điều chỉnh từ đầu vào, cho
ra kết quả đầu ra tốt nhất.
Neural Network có những đặc điểm sau:
- Mạng lưới nơ-ron nhân tạo hoạt động như nơ-ron trong não bộ con người. Trong đó,
mỗi nơ-ron là một hàm toán học, có chức năng thu thập và phân loại dữ liệu, thông tin
theo cấu trúc chi tiết.
- Neural Network tương đồng với những phương pháp thống kê theo đồ thị đường cong
hoặc phân tích hồi quy.
- Mỗi nút là một tập hợp tri giác, cấu tạo tương tự hàm hồi quy đa tuyến tính, được sắp
xếp liên kết với nhau. Các lớp này sẽ thu thập thông tin, sau đó phân loại và phát tín
hiệu đầu ra tương ứng.
- Neural Netwrok là sự kết hợp của những tầng perceptron hay còn gọi là perceptron đa
tầng. Và mỗi một mạng Neural Network thường bao gồm 3 kiều tầng: input, output và
hidden.
Neural Network được ứng dụng trong rất nhiều lĩnh vực như: phân tích kinh doanh, đánh
giá rủi ro, phát hiện gian lận, dự báo thời tiết,…

7
Hình 2.3. Minh hoạ mô hình SVM Hình 2.4. Minh hoạ mô hình Neural Network

2.2 Quy Trình Xử Lý Dữ Liệu


2.2.1. Tiền Xử Lý Dữ Liệu
Khái niệm: Tiền xử lý dữ liệu là quá trình xử lý dữ liệu thô/gốc nhằm cải thiện chất lượng
dữ liệu và do đó, cải thiện chất lượng của kết quả khai phá.
- Các bước tiền xử lý dữ liệu bao gồm:
+ Làm sạch dữ liệu: loại bỏ dữ liệu thiếu, nhiễu và hiệu chỉnh những dữ liệu không
nhất quán.
+ Tích hợp dữ liệu: trộn dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu.
+ Chuyển đổi dữ liệu: làm trơn, kết hợp, tổng quát và xây dựng thuộc tính dữ liệu.
+ Rút gọn dữ liệu: thu giảm kích thước dữ liệu (giảm số phần tử) bằng kết hợp dữ liệu,
loại bỏ các đặc điểm dư thừa (giảm số thuộc tính), gom cụm dữ liệu.
2.2.2. Quy Trình Phân Lớp Dữ Liệu
2.2.2.1. Phân Chia Dữ Liệu
a. Phương Pháp Hold-out
Phương pháp Hold-out phân chia tập dữ liệu ban đầu thành 2 tập độc lập theo 1 tỷ lệ nhất
định. Phương pháp này thích hợp cho các tập dữ liệu nhỏ. Tuy nhiên, các mẫu có thể
không đại diện cho toàn bộ dữ liệu (thiếu lớp trong tập thử nghiệm).
Có thể cải tiến bằng cách dùng phương pháp lấy mẫu sao cho mỗi lớp được phân bố đề
trong cả hai tập dữ liệu huấn luyện và đánh giá.
b. Phương Pháp K-Fold Cross Validation
Phương pháp này phân chia dữ liệu thành k tập con có cùng kích thước (gọi là các fold).
Một trong các fold được sử dụng làm tập dữ liệu đánh giá và phần còn lại được sử dụng
làm tập huấn luyện. Quá trình này lặp lại cho đến khi tất cả các fold đều đã được dùng làm
tập dữ liệu đánh giá.
8
K-fold cross Validation thường được ưa chuộng hơn do mô hình sẽ được huấn luyện và dự
báo trên nhiều phần dữ liệu khác nhau. Từ đó mô hình có độ tin cậy càng cao.

Hình 2.5. Minh hoạ phương pháp Hold - out Hình 2.6. Minh hoạ phương pháp K-fold

2.2.2.2 Phân Lớp Dữ Liệu


Định nghĩa: Phân lớp dữ liệu là quá trình phân một đối tượng dữ liệu vào một hay nhiều
lớp (loại) đã cho trước nhờ một mô hình phân lớp. Mô hình này được xây dựng dựa trên
một tập dữ liệu đã được gán nhãn trước đó (thuộc về lớp nào). Quá trình gán nhãn (thuộc
lớp nào) cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu.

Hình 2.7. Minh hoạ cho phân lớp dữ liệu


Quá trình phân lớp dữ liệu gồm 2 bước chính:
Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn học hoặc huấn luyện)
- Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái
niệm định trước.
- Dữ liệu đầu vào của quá trình này là: dữ liệu mẫu đã được gán nhãn và tiền xử lý để
dữ liệu không bị nhiễu hay có bất cứ sai sót nào.

9
- Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…
- Kết quả của bước này là mô hình phân lớp đã được huấn luyện.
Bước 2: Sử dụng mô hình, được chia làm 2 bước nhỏ:
Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn)
- Dữ liệu đầu vào của quá trình này là một tập dữ liệu mẫu khác đã được gán nhãn và
tiền xử lý, Tuy nhiên đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn.
- Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn
của dữ liệu đầu vào và kết quả phân lớp của mô hình.
Bước 2.2: Phân lớp dữ liệu mới
- Dữ liệu đầu vào là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn).
- Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những
gì được huấn luyện ở bước 1.
2.2.3. Đánh Giá Tính Hiệu Quả
Khái niệm: là các phương pháp nhằm kiểm tra tính hiệu quả của mô hình phân lớp trên dữ
liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay không. Một mô hình lý
tưởng là một mô hình không quá đơn giản, không quá phức tạp và không quá nhạy cảm
với nhiễu (tránh underfitting và overfitting).
- Underfitting (chưa khớp): Mô hình được coi là chưa khớp nếu có chưa phù hợp với tâjp
dữ liệu huấn luyện và cả các mẫu mới khi dự đoán.Tồn tại nhiều điểm dữ liệu mà mô
hình không phân loại được đúng dẫn đến độ chính xác mô hình thấp. Nguyên nhân có
thể là do mô hình chưa đủ độ phức tạp cần thiết để bao quát được tập dữ liệu.
- Overfitting (quá khớp): Là hiện tượng mô hình tìm được quá khớp với dữ liệu huấn
luyện. Điều này dẫn đến việc dự đoán cả nhiễu nên mô hình không còn tốt khi phân lớp
trên dữ liệu mới. Nguyên nhân có thể do lượng dữ liệu huấn luyện quá nhỏ trong khi
độ phức tạp của mô hình quá cao nên mặc dù độ chính xác cao nhưng không thể mô tả
được xu hướng tổng quát của dữ liệu mới.
- Good fitting: Là trường hợp mô hình cho ra kết qủa hợp lý với cả tập dữ liệu huấn luyện
và các giá trị mới, tức mang tính tổng quát.

10
Underfitting Good fitting Overfitting
Hình 2.8. Minh hoạ cho Underfitting, Good Fitting và Overfitting
2.2.3.1. Ma Trận Nhầm Lẫn (Confusion Matrix)
Confusion Matrix - ma trận nhầm lẫn hay ma trận lỗi là một bố cục bảng cụ thể cho phép
hình dung hiệu suất của một thuật toán. Nó chỉ ra có bao nhêi điểm dữ liệu thuộc vào một
lớp cụ thể, và được dự đoán là rơi vào lớp nào
Confusion Matrix có kích thước k x k với k là số lớp của dữ liệu
Ma trận nhầm lẫn là một trong những kỹ thuật đo lường hiệu suất phổ biến nhất và được
sử dụng rộng rãi cho các mô hình phân loại.

Hình 2.9. Minh hoạ cho Confusion Matrix


Bài toán ví dụ: chuẩn đoán ung thư ta có 2 lớp, lớp bị ung thư được chuẩn đoán Positive
và lớp không bị ung thư được chuẩn đoán là Negative.

11
Thực tế
Dự đoán Dương tính Âm tính

Dương tính TP(45) FP(10)

Âm tính FN(15) TN(30)


Hình 2.10. Ma trận đơn giản cho bài toán ví dụ
Ta có một số thuật ngữ như sau:
+ TP (True Positive): Số lượng dự đoán chính xác.
+ TN (True Negative): Số lượng dự đoán chính xác một cách gián tiếp.
+ FP (False Positive - Type 1 Error): Số lượng dự đoán sai lệch.
+ FN (False Negative - Type 2 Error): Số lượng dự đoán sai lệch một cách gián tiếp.
Những chỉ số này sẽ là cơ sở để tính toán các độ đo như. Accuracy, Precision, Recall,
F1-score mà ta sẽ tìm hiểu bên dưới.
2.2.3.2. Accuracy (Độ Chính Xác)
Accuracy - Độ chính xác là tỷ lệ số mẫu được phân lớp đúng trong toàn bộ tập dữ
liệu.Độ chính xác giúp ta đánh giá hiệu quả dự báo của mô hình trên một bộ dữ liệu. Độ
chính xác càng cao thì mô hình của chúng ta càng chuẩn xác.

Acc = (TP + TN)/n => Error rate = 1 - Acc là độ lỗi của mô hình
Lưu ý: Accuracy chỉ cho chúng ta biết được tỷ lệ dữ liệu được phân loại đúng mà không
chỉ ra được cụ thể mỗi loại được phân loại như thế nào, lớp nào được phân loại đúng
nhiều nhất, và dữ liệu thuộc lớp nào thường bị phân loại nhầm vào lớp khác

12
Hình 2.11: Minh hoạ cho Độ chính Xác - Accuracy

2.2.3.3. Precision, Recall, F1 - Score


• Precision - Độ chính xác:
- Cho biết trong số m mẫu được phân vào i lớp thì có tỷ lệ bao nhieu mẫu đúng.
- Precision trả lời cho câu hỏi trong các trường hợp được dự báo là positive thì có bao
nhiêu trường hợp là đúng. Và tất nhiên precision càng cao thì mô hình của chúng ta
càng tốt trong việc phân loại hồ sơ nhóm positive.
precision = TP/(TP + FP)
• Recall - Độ Phủ:
- Còn gọi là độ nhạp (sensitivity) hay TPR (True Positive Rate)
- Đo lường khả năng phân lớp chính xác của quá trình phân lớp dữ liệu bằng cách xác
định xác xuất bỏ sót các trường hợp trong quá trình phân lớp dữ liệu.
- Vì vậy độ phủ càng cao thì quá trình phân lớp dữ liệu càng chính xác vì nó hạn chế bỏ
sót các trường hợp.
- Độ phủ là một độ đo quan trọng, tuy nhiên chỉ sử dụng độ phủ thì không đủ để đánh
giá tính hiệu quả của phân lớp dữ liẹu, ta còn cần xem xét các yếu tố khác như độ chính
xác (precision), độ F (F-measure),… để đánh giá toàn diện và chính xác.
recall = TP/(TP/FN)
• F1 - Score:
- Là giá trị trung bình điều hoà (harmonic mean) của hai độ đo Precision và Recall.
- Giá trị của F1-score nằm trong khoảng từ 0 tới 1. Trong đó giá trị 1 có nghĩa mô hình
hoàn toàn đúng, và giá trị 0 có nghĩa mô hình hoàn toàn sai.
F1 - score = 2 * (precision*recall)/(precision + recall)

13
2.2.3.4. ROC - Receiver Operating Characteristic
ROC là một đồ thị được sử dụng khá phổ biến trong đánh giá các mô hình phân loại
nhị phân.
Trong đường cong ROC, trục tung thể hiện tỷ lệ dự báo True Positive Rate (TPR) và
trục hoành thể hiện tỷ lệ dự báo False Positive Rate (FPR)
Một mô hình hiệu quả khi có FPR thấp và TPR cao, hay ROC càng tiệm cận với điểm
(0,1) trong đồ thị.

Hình 2.12. Minh hoạ cho ROC


2.2.3.5. AUC - Area Under the Curve
AUC là diện tích được tìm thấy bên dưới đường cong ROC.
AUC tương ứng với khả năng của mô hình phân loại dữ liệu, với giá trị của mức độ phân
loại của nó nằm trong khoảng từ 0 đến 1, với giá trị 1 đại diện cho khả năng phân loại hầu
hết các mẫu đúng và giá trị 0 đại diện cho khả năng phân loại các mẫu sai.
AUC được coi là một phương pháp đánh giá tính hiệu quả của mô hình phân loại dữ liệu
tốt hơn Độ chính xác (Accuracy) hoặc Độ phủ (Recall) vì nó cung cấp một phương tiện
để đánh giá khả năng phân loại đối với các tập dữ liệu không cân bằng. Trong các trường
hợp dữ liệu có sự mất cân bằng giữa các lớp, chỉ sử dụng độ chính xác hoặc độ phủ để
đánh giá hiệu qủa của mô hình phân loại có thể rất sai lệch.

14
Hình 2.13. Minh hoạ cho AUC

CHƯƠNG III. CÁC KẾT QUẢ THỰC NGHIỆM


3.1 Bộ Dữ Liệu
3.1.1. Mô tả bài toán
Bộ dữ liệu này chứa thông tin về nhân viên trong một công ty, bao gồm trình độ học vấn,
lịch sử công việc, nhân khẩu học và các yếu tố liên quan đến việc làm. Nó đã được ẩn
danh để bảo vệ quyền riêng tư trong khi vẫn cung cấp những hiểu biết có giá trị về lực
lượng lao động.
3.1.2. Mô tả dữ liệu
• Mô tả tổng quát:
- Tên bộ dữ liệu: Employee Dataset
- Link truy cập: https://www.kaggle.com/datasets/tawfikelmetwally/employee-dataset/data
- Dữ liệu bao gồm 4653 mẫu dữ liệu (instances), 8 biến (features)
- Missing value: 0 → Không cần tiền xử lý dữ liệu.

15
Hình 3.1. Mẫu dữ liệu
• Bộ dữ liệu gồm 8 thuộc tính:
Thuộc tính Ý nghĩa
Education Trình độ học vấn của nhân viên
Joining Year Năm gia nhập công ty
City Nơi nhân viên sống hoặc làm việc
Payment Tier Phân loại nhân viên thành các bậc lương khác nhau
Age Tuổi của nhân viên
Gender Giới tính của nhân viên
Cho biết liệu một nhân viên có từng
Ever Benched
tạm thời không được giao công việc hay không
Experience in Số năm kinh nghiệm mà nhân viên
Current Domain có được trong lĩnh vực hiện tại của họ
Leave Or Not Rời đi hay không?

16
3.2 Các Kết Quả Thực Nghiệm
3.2.1 Lấy Mẫu Dữ Liệu
Để phục vụ cho phân lớp dữ liệu, nhóm đã sử dụng Data Sampler để thực hiện lấy tập dữ
liệu huấn luyện (Training Set) và tập dữ liệu thử nghiệm (Testing Set) theo tỷ lệ lần lượt là
70:30.

Hình 3.2. Lấy mẫu dữ liệu


• Tập dữ liệu huấn luyện sau khi tách bằng Data Sampler sẽ có 3258 mẫu với 8 biến và
không có dữ liệu bị lỗi.

17
Hình 3.3. Tập dữ liệu huấn luyện (Training Set) sau khi tách bằng Data Sampler
• Tập dữ liệu thử nghiệm (Testing Set) sau khi tách bằng Data Sampler sẽ có 1395 mẫu
với 8 biến và không có dữ liệu bị lỗi.

Hình 3.4 Tập dữ liệu thử nghiệm (Testing Set) sau khi tách bằng Data Sampler

Hình 3.5. Quá trình lấy mẫu dữ liệu


18
3.2.2. Phân lớp dữ liệu
• Sử dụng các mô hình phân lớp: Logistic Regression, Tree, SVM, Neural Network để
tiến hành dự báo.

Hình 3.6. Mô hình so sánh các phương pháp phân lớp dữ liệu
• Sử dụng các phương pháp đánh giá mô hình phân lớp để chọn ra phương pháp được
đánh giá tốt nhất, sau đó tiến hành dự đoán cho dữ liệu.
 Kết quả đánh giá Test and Score: Sử dụng phương pháp K-fold cross validation với
k = 10.
❖ Nhận xét:
Tại mục Evaluation results, ta cần chú ý kết quả định lượng của 4 mô hình Logistic
Regression, Tree, SVM, Neural Network, mô hình nào có giá trị cao nhất.
Qua đó, ta thấy được mô hình Neural Network là mang lại số liệu tốt nhất, cụ thể:
▪ Diện tích dưới đường cong (AUC) là 0.863
▪ Tính chính xác (CA) là 0.844
▪ Giá trị trung bình điều hoà (F1) là 0.839
▪ Độ chính xác (Precision) là 0.846
▪ Độ phủ (Recall) là 0.844

19
 Đây là mô hình hiệu quả nhất.

Hình 3.7. Kết quả khi chia mẫu dữ liệu thành 10 phần
• Ngoài ra, từ Test and Score ta có thể đưa ra thêm Confusion Matrix và ROC Analysis
để lựa chọn mô hình phù hợp nhất.
 Ma trận nhầm lẫn (Confusion Matrix):

Hình 3.8. Kết quả ma trận nhầm lẫn của phương pháp Logistic Regression

20
Hình 3.9. Kết quả ma trận nhầm lẫn của phương pháp Tree

Hình 3.10. Kết quả ma trận nhầm lẫn của phương pháp SVM

21
Hình 3.11. Kết quả ma trận nhầm lẫn của phương pháp Neural Network

❖ Nhận xét: Tại Confusion Matrix, chỉ số cần quan sát nhất là tỷ lệ của sai lầm loại
1 và sai lầm loại 2, mô hình tốt nhất khi có hai tỷ số này là thấp nhất và hợp lý nhất.
Nhìn vào kết quả ta thất mô hình Neural Network là có tỷ lệ sai lầm nhỏ nhất với sai
lầm loại 1 là 14,0% và sai lầm loại 2 là 16,1%. Nên phương pháp Neural Network là
phù hợp nhất.

22
 ROC Analysis:

Hình 3.12. Đường cong ROC với biến Target là 0

Hình 3.13. Đường cong ROC với biến Target là 1

23
❖ Nhận xét: Theo đường cong ROC, mô hình hiệu quả là khi có FPR thấp và TPR
cao hoặc đường cong ROC càng tiệm cận với điểm (0;1) thì mô hình càng hiệu quả.
Như vậy, ta thấy được mô hình Neural Network có đường cong ROC tiệm cận với
điểm (0,1) nhất.
 Đây là mô hình hiệu quả nhất.
❖ Kết luận: Phương pháp phân lớp Neural Network là phương pháp tốt nhất để dự
đoán.
- Phương pháp có AUC (diện tích nằm dưới đường cong ROC) lớn nhất, tức có
mô hình tốt nhất.
- Phương pháp có CA (tính chính xác) cao nhất.
- Phương pháp có chỉ số 2 sai lầm thấp nhất.
- Phương pháp có đường cong ROC tiệm cận với điểm (0;1) nhất.

Hình 3.14. Đánh giá mô hình phân lớp


3.2.3. Dự báo
• Sau khi đã sử dụng các phương pháp đánh giá mô hình phân lớp, ta sẽ chọn phương
pháp Neural Network để dự báo cho dữ liệu.
• Sử dụng Prediction để dự báo kết quả dữ liệu theo phương pháp Neural Network.

24
Hình 3.15. Mô hình dự báo cho tập dữ liệu thử nghiệm

• Kết quả dự báo:

Hình 3.16. Kết quả dự báo cho tập dữ liệu thử nghiệm (Testing Set)

25
CHƯƠNG IV. KẾT LUẬN
4.1 Các Kết Quả Đạt Được
Sau khi triển khai mô hình, phân tích và đánh giá kết quả từ phương pháp phân lớp bằng
phần mềm Orange, nhóm cho rằng chọn mô hình Neural Network có khả năng dự báo đáng
tin cậy nhất. Các nhà quản trị của công ty, các bạn sinh viên và các bên liên quan khác có
thể xem xét, tham khảo kết quả dự đoán từ mô hình nêu trên để đưa ra những quyết định,
nhận xét có ích cho mình.

Phương pháp phân lớp với Neural Network giúp xác định chính xác số lượng nhân viên có
ý định nghỉ việc hoặc tiếp tục làm việc. Từ đó, giúp công ty đưa ra những kế hoạch tìm
nhân sự mới để thay thế những nhân viên nghỉ việc một cách kịp thời. Bên cạnh đó, biết
được tỷ lệ nghỉ việc cũng giúp công ty có cái nhìn khách quan hơn về các chính sách, đãi
ngộ của mình và dựa vào đó, đưa ra những phương án phù hợp hơn, nâng cao tiêu chí tuyển
chọn, môi trường làm việc để giảm thiểu tỷ lệ nghỉ việc, xây dựng một đội ngũ nhân viên
vững chắc, làm việc lâu dài.
4.2 Đề xuất
Vấn đề nhân viên thôi việc là điều tất cả công ty đều phải đối mặt, tuy nhiên, dựa trên các
kết quả mà chúng ta vừa dự đoán được, có thể phần nào tối thiểu hoá tỷ lệ nghỉ việc dựa
trên việc đánh giá các đặc điểm của từng nhân viên như trình độ học vấn, kinh nghiệm,
mức lương, … Dưới đây là một số kiến nghị mà nhóm đề xuất để công ty có thể áp dụng
để giảm thiểu số lượng nhân viên nghỉ việc:
- Hạn chế tuyển dụng sai người: Khâu tuyển dụng ban đầu chính là bước quan trọng
nhất để giảm thiểu tỷ lệ nghỉ việc. Ngoài việc sàng lọc hồ sơ của người ứng tuyển,
công ty cũng cần đặt ra những câu hỏi phỏng vấn để biết được mục tiêu nghề nghiệp,
tính cách của ứng viên để tìm hiểu xem họ có phù hợp với định hướng phát triển và
văn hoá công ty hay không. Điều này giúp công ty chọn đúng ứng viên có thể làm việc
lâu dài.
- Đặt kỳ vọng chính xác: Việc nhìn nhận đúng năng lực của nhân viên qua học vấn, kinh
nghiệm giúp công ty phân bổ lượng công việc phù hợp và không gây áp lực cho họ.
Điều này sẽ khiến nhân viên cảm thấy tin tưởng công ty, có tinh thần làm việc và tránh
được nguy cơ nghỉ việc tiềm ẩn do stress, kiệt quệ.
- Tạo cơ hội phát triển sự nghiệp: Một lộ trình rõ ràng về thời gian làm việc và thứ tự
thăng tiến sẽ khiến nhân viên muốn ở lại với công ty hơn. Điều này giúp nhân viên
nhìn rõ bản thân mình đang đứng ở vị trí nào và tìm ra mong muốn bản thân trong
công việc. Từ đó, nhân viên sẽ tìm được đam mê và niềm yêu thích khi làm việc.

26
- Chế độ lương và khen thưởng hợp lý: Tiền lương là một trong những yếu tố quan trọng
nhất khi nhân viên đưa ra quyết định làm tiếp hay thôi việc. Bên cạnh đó, những chế
độ khen thưởng cũng quyết định tâm huyết của nhân viên dành cho công ty. Những
đãi ngộ hợp lý trên hai khía cạnh này chính là thứ níu kéo nhân viên ở lại, đồng thời
thu hút thêm nhân lực tài năng cho công ty.
- Tiến hành phỏng vấn nghỉ việc để hiểu thêm về nguyên nhân: Việc này giúp lãnh đạo
công ty hiểu thêm về các nguyên nhân bất cập xung quanh quyết định thôi việc của
nhân viên, từ đó rút ra được cái nhìn khác về môi trường, chế độ của công ty để có thể
kịp thời điều chỉnh.
4.3 Những Hạn Chế Và Hướng Phát Triển
4.3.1. Hạn Chế
Mặc dù đã cùng nhau thực hiện đồ án này một cách ăn ý, nhiệt tình và cẩn thận, nhóm
chúng em vẫn không thể tránh khỏi một số hạn chế do các yếu tố chủ quan cũng như khách
quan:
- Bộ dữ liệu chỉ phản ánh trên tình hình nhân sự của một công ty, vì vậy tính bao quát
chưa cao và độ chính xác cũng chưa được kiểm nghiệm.
- Trong quá trình xây dựng mô hình, độ chính xác của mô hình Neural Network vẫn
chưa đạt mức tuyệt đối, do đó không thể tránh khỏi những sai sót trong quá trình dự
đoán nên việc đưa ra kết luận không thể dựa hoàn toàn 100% vào việc chạy mô hình.
- Thời gian học phần còn ngắn, nhóm vẫn chưa thực sự nắm được các quy trình và
phương pháp trong việc phân tích, nghiên cứu dữ liệu, không tránh khỏi một vài sai
sót về kiến thức, kỹ thuật.
4.3.2. Hướng Phát Triển
Trên cơ sở những hạn chế khiến bài nghiên cứu chưa thật sự hoàn thiẹn, nhóm chúng em
xin đề xuất một số hướng phát triển đề tài như sau:
- Thứ nhất, hạn chế lớn nhất của đồ án là số lượng và sự đồng nhất trong việc chọn mẫu
chưa cao nên tính đại diện còn hạn chế. Nhóm mong trong các đề tài tiếp theo sẽ khắc
phục được hạn chế này bằng cách đầu tư thu thập dữ liệu của nhiều công ty hơn nữa
để thu được số lượng mẫu thích hợp nhất. Đồng thời triển khai dự đoán, kiểm chứng
thực tế và đánh giá kết quả một cách thường xuyên để tăng độ chính xác.
- Thứ hai, hy vọng các đề tài nghiên cứu trong thời gian tới sẽ phát hiện ra nhiều mô
hình phù hợp hơn nhằm đi đến kết luận chính xác về các yếu tố thật sự có ảnh hưởng
lớn đến quyết định rời đi hay ở lại của nhân viên.

27
TÀI LIỆU THAM KHẢO

- Slide bài giảng môn Khoa Học Dữ Liệu – UEH: Thầy Đặng Ngọc Hoàng Thành

- Dữ liệu “Employee dataset” – Kaggle

- https://doanhnghiephoinhap.vn/xu-huong-phat-trien-nguon-nhan-luc-so-dap-ung-yeu-
cau-cua-kinh-te-so.html

- https://vietnix.vn/neuralnetwork/?fbclid=IwAR2srlXOA1mqkpsXibKXPj09bBYxVV
o0TVy4n4bBOuZexq3HePHkUki_LY#:~:text=Neural%20Network%20l%C3%A0%2
0m%E1%BA%A1ng%20l%C6%B0%E1%BB%9Bi,b%E1%BA%A3n%20ch%E1%
BA%A5t%20ho%E1%BA%B7c%20h%E1%BB%AFu%20c%C6%A1

- EMPLOYEE ATTRITION PREDICTION USING VARIOUS MACHINE


LEARNING TECHNIQUES - Anjali Chourey, Prof. Sunil Phulre, Dr. Sadhna Mishra
(https://ijamtes.org/gallery/369%20oct%20ijamte%20%201127.pdf?fbclid=IwAR0Tp
s5chs2Ga9k9w_v4C32C_VkGpkrsN2anVA93KyAXIqnpBFOtthYN01Q)

28

You might also like