You are on page 1of 24

TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT

KHOA CÔNG NGHỆ THÔNG TIN

----------------------------

Lớp K63 chuyên ngành Hệ thống thông tin

Tiểu Luận Môn Học

Đồ Án Hệ Thống Thông Tin

Đề Tài: Ứng dụng thuật toán ID3 trong bài toán tuyển dụng nhân sự.

Sinh viên thực hiện:Nguyễn Mạnh Tú

Mã Sinh Viên:1821050815

Giáo viên hướng dẫn:Vương Thị Như Quỳnh


Mục Lục

Contents
Lời cảm ơn............................................................................................................3
Chương 1 : Lý do chọn đề tài...............................................................................3
1.1 Lý do chọn đề tài......................................................................................3
1.2 Mục đích của đề tài..................................................................................4
1.3 Ý nghĩa thực tiễn......................................................................................4
Chương 2 :Những vấn đề lý luận về ứng dụng CNTT trong bài toán hỗ trợ ra
quyết định tuyển dụng nhân sự ............................................................................4
2.1 Công nghệ thông tin trong việc tuyển dụng nhân sự của các doanh nghiệp.
...........................................................................................................................4
2.2 Các yếu tố tác động trong bài toán tuyển dụng nhân sự của doanh nghiệp.6
2.2.1 Tác động từ sự phát triển của khoa học-công nghệ hiện đại................6
2.2.2 Tác động từ nhu cầu thực tế của các doanh nghiệp, công ty.................7
Chương 3: Thuật Toán Áp Dụng Trong Bài Toán...............................................7
3.1 Thuật Toán ID3...........................................................................................7
3.1.1 Cây Quyết Định.....................................................................................7
3.1.2 Hàm Số Entropy....................................................................................8
3.1.3 Thuật toán ID3.....................................................................................10
3.2 Phân Tích Bài Toán...................................................................................11
3.2.1 Nghiên Cứu các yếu tố ảnh hướng đến việc tuyển dụng nhân sự.......11
3.2.2 Bảng Thống Kê Số Liệu.....................................................................12
3.2.3 Sử Dụng ID3 để giải quyết bài toán....................................................12
Chương 4 : Xây Dựng Ứng Dụng.......................................................................12
4.1 Ngôn Ngữ lập trình c#...............................................................................12
4.1.1 Lập trình winform.............................................................................12
4.1.2 Visual Studio 2019..............................................................................12
4.2 Tài Liệu Tham Khảo..................................................................................12
Lời cảm ơn
Lời đầu tiên, nhóm em xin bày tỏ sự cảm ơn chân thành đối với Cô
Vương Thị Như Quỳnh – giáo viên hướng dẫn trực tiếp của nhóm em.
Cô Thủy đã cho nhóm em những gợi ý và chỉ dẫn quý báu trong quá
trình nghiên cứu và hoàn thiện bài tập lớn.

Nhóm em cũng xin gửi lời cảm ơn tới các thầy cô trong khoa Công
nghệ thông tin, trường Đại học Mỏ Địa Chất đã hướng dẫn, chỉ bảo và
tạo điều kiện cho chúng em học tập và nghiên cứu tại trường trong
suốt thời gian qua.

Mặc dù đã cố gắng hoàn thành bài tập lớn nhưng chắc chắn sẽ không
tránh khỏi những sai sót, nhóm em kính mong nhận được sự thông
cảm và chỉ bảo của cô và các bạn.

Nhóm em xin chân thành cảm ơn!

Chương 1 : Lý do chọn đề tài


1.1 Lý do chọn đề tài
- Thế giới đang bước vào cuộc cách mạng 4.0, Trí tuệ nhân tạo (Artificial
Intelligence), Dữ liệu lớn (Big Data), Học máy (Machine Learning), Học sâu
(Deep Learning) đã được nghiên cứu, áp dụng và phục vụ cho rất nhiều lĩnh
vực. Với các công ty, doanh nghiệp nói chung, đặc biệt là các công ty về công
nghệ thông tin việc tuyển dụng nhân sự là việc làm mang tính chất chiến lược
và được thực hiện rất thường xuyên, liên tục; Nhằm tuyển dụng được những
ứng viên đáp ứng được các yêu cầu công việc. Tuy nhiên, với hãng trăm hồ sơ
nộp vào cho mỗi vị trí tuyển dụng, việc sàng lọc để chọn ra được những hồ sơ
ứng viên có tiềm năng không phải là một công việc dễ dàng. Trong bài này em
sẽ trình bày các nội dung về cây quyết định (Decision Tree) và việc ứng dụng
cây quyết định trong một bài toán thực tế đó là hỗ trợ việc ra quyết định tuyển
dụng nhân sự dựa trên cơ sở dữ liệu lịch sử tuyển dụng trước đây. em cũng tiến
hành lập trình module ID3 hire employees bằng ngôn ngữ C# sử dụng thuật
toán ID3 để minh họa một cách trực quan việc xây dựng cây quyết định với một
tập dữ liệu cụ thể.

1.2 Mục đích của đề tài


- Giúp nhà tuyển dụng cũng như doanh nghiệp giảm bớt thời gian của các
quá trình trong việc tuyển dụng nhân sự. với việc sự phát triển internet
hiện nay thì ứng dụng này có thể giúp các doanh nghiệp lựa chọn ứng
viên một cách nhanh chóng thông qua website tuyển dụng của công ty.
- Việc lựa chọn ứng viên có thể thông qua internet nên các nhà tuyển dụng
sẽ loại bỏ sơ lược hồ sơ các ứng viên không phù hợp mà không cần phải
gặp mặt trực tiếp giúp tiết kiệm rất nhiều thời gian và tinh lực của nhà
tuyển dụng . điều này còn vô cùng quan trọng trong tình hình dịch bệnh
covid19 phức tạp hiện nay
1.3 Ý nghĩa thực tiễn
 Đối với ứng viên
- Giúp tiết kiệm thời gian cho ứng viên khi chỉ cần nộp cv online cho nhà
tuyển dụng và bỏ qua một số bược tuyển dụng truyền thống khá rắc rối.
- ứng viên có thể tìm nhiều công việc một lúc từ các website của các
doanh nghiệp, công ty. Từ đó cũng sẽ tăng tỉ lệ kiếm việc làm cho các
ứng viên
 Đối với doanh nghiệp
- Giúp tiết kiệm thời gian việc kiểm duyệt ,đọc thông tin của ứng viên của
các nhà tuyển dụng nhân sự việc này sẽ tiết kiệm được rất nhiều thời gian
so với việc tuyển dụng truyền thống
- Do việc tiết kiệm thời gian nên các nhà tuyển dụng có thể làm được
nhiều việc khác trong doanh nghiệp từ đó góp phần nâng cao hiệu suất
cũng như doanh thu của doanh nghiệp
- Đây sẽ là một kênh maketing quảng bá thương hiệu cho doanh nghiệp rất
tốt. Thương hiệu mạnh có thể giúp các công ty thu hút nhiều khách hàng
mới, duy trì hiệu quả mối quan hệ với các đối tác hiện tại và thậm chí là
thu hút nhân tài. Thay vì chỉ nhìn vào mức lương, ứng viên ngày này sẽ
tìm hiểu rất chi tiết thông tin của nhà tuyển dụng trên Internet trước khi
quyết định ứng tuyển. Vì vậy mà ngày càng có nhiều doanh nghiệp quan
tâm đến việc quảng bá thương hiệu của mình để thu hút nhân tài.

Chương 2 :Những vấn đề lý luận về ứng dụng CNTT trong bài toán hỗ trợ ra
quyết định tuyển dụng nhân sự .
2.1 Công nghệ thông tin trong việc tuyển dụng nhân sự của các doanh nghiệp.

1. Công nghệ giúp tìm kiếm ứng viên hiệu quả hơn

Ngày nay, có rất nhiều công nghệ khác nhau với giá cả phải chăng cho các nhà
tuyển dụng muốn tích hợp vào quy trình tuyển dụng của họ. Những công nghệ
này cho phép các doanh nghiệp tiếp cận và tuyển chọn được nhiều ứng viên phù
hợp hơn. Tốc độ tìm kiếm ứng viên cũng được đánh giá là cao hơn gấp nhiều
lần so với con người. Thông qua ứng dụng này nhân viên tư vấn tuyển dụng dễ
dàng sàng lọc được ứng viên tiềm năng nhất dành cho nhà tuyển dụng.. Nhà
tuyển dụng cũng có thể sử dụng hệ thống theo dõi ứng viên để quản lý toàn bộ
hồ sơ xin việc của những người ứng tuyển. Hệ thống này cũng sẽ giúp sắp xếp
ứng viên theo bất cứ tiêu chí nào mà nhà tuyển dụng muốn. CV ứng tuyển, trình
độ, kỹ năng và vô vàn thông tin liên quan khác sẽ được hệ thống theo dõi ứng
viên cung cấp cho nhà tuyển dụng bất cứ khi nào họ cần.

2. Công nghệ giúp nâng cao hiệu quả tuyển dụng

Nâng cao năng suất, hiệu quả của mọi công việc trong doanh nghiệp đều đồng
nghĩa với sự tăng trưởng kinh tế. Công nghệ giúp tự động hóa nhiều quy trình,
trong đó có quy trình tuyển dụng; nhờ đó mà tổng thời gian cần thiết để hoàn
thành công việc được giảm đi đáng kể. Việc tổng hợp và biên soạn thông tin
ứng viên một cách thủ công sẽ tốn rất nhiều thời gian và có thể dẫn đến nhiều
sai sót. Trong khi đó, công nghệ có thể giúp thực hiện việc này một cách nhanh
chóng và hoàn toàn chính xác. Từ các trang mạng xã hội, phần mềm hay
website tuyển dụng, đến các nền tảng kết nối việc làm của bên thứ ba, tất cả
những công nghệ này đều sẽ giúp các nhà tuyển dụng tối ưu hóa quy trình và
nâng cao hiệu quả tuyển dụng nhân sự.

3. Công nghệ hỗ trợ công tác kiểm tra, đánh giá trực tuyến

Công nghệ đã tạo điều kiện cho các công ty kiểm tra kỹ năng và trình độ của
từng ứng viên một cách dễ dàng hơn thông qua các nền tảng trực tuyến. Nhà
tuyển dụng có thể đưa ra một số bài đánh giá kỹ năng và trình độ của ứng viên
tiềm năng trước khi đến phỏng vấn trực tiếp. Từ đó, họ có thể dễ dàng nhận biết
được liệu ứng viên có đủ trình độ để làm việc và có phù hợp với văn hóa công
ty hay không.
4. Công nghệ giúp quản lý ứng viên hiệu quả hơn

Ứng viên có thể bị loại hoặc bỏ cuộc bất cứ khi nào trong quá trình phỏng vấn.
Ở quy mô nhỏ, nhà tuyển dụng có thể dễ dàng xác định và quản lý vấn đề này.
Tuy nhiên, ở quy mô lớn hơn, sẽ rất khó để xác định chính xác vấn đề do số
lượng ứng viên bị loại ở mỗi giai đoạn là rất lớn và vì nhiều nguyên nhân khác
nhau.
Hiện nay, có nhiều giải pháp công nghệ có thể cung cấp dữ liệu thống kê và
infographics cho nhà tuyển dụng trong toàn bộ quy trình. Ứng viên dành nhiều
thời gian nhất cho bước nào? Giai đoạn nào ứng viên bị loại nhiều nhất? Khi
nắm rõ và hiểu những thông tin này, nhà tuyển dụng có thể điều chỉnh chiến
lược tuyển dụng hoặc có những cải tiến cho phù hợp trong tương lai.

5. Phỏng vấn qua video để tiết kiệm thời gian

Phỏng vấn qua video được coi là giải pháp thay thế tốt nhất cho quy trình phỏng
vấn truyền thống. Nó giúp các nhà tuyển dụng đưa ra các giải pháp linh hoạt
hơn trong khi đó, ứng viên có thể giảm bớt sự căng thẳng so với các cuộc phỏng
vấn trực tiếp. Với hình thức phỏng vấn này, nhà tuyển dụng có thể chuẩn bị một
bộ câu hỏi phỏng vấn sẵn có, cho phép ứng viên thực hiện cuộc phỏng vấn, ghi
âm câu trả lời và gửi lại bất cứ khi nào họ cảm thấy sẵn sàng.
Đây được gọi là hình thức phỏng vấn một chiều qua video. Nhà tuyển dụng có
thể xem video trả lời của ứng viên bất cứ khi nào, có thể xem cá nhân hoặc đưa
ra trước hội đồng. Một trong những lợi ích đáng lưu ý nhất khi phỏng vấn qua
video là cả hai bên, nhà tuyển dụng và ứng viên, đều sẽ đều tiết kiệm được rất
nhiều thời gian cho việc chờ đợi, sắp xếp lịch hẹn hay chi phí đi lại.

6. Công nghệ giúp quảng bá thương hiệu nhà tuyển dụng

Thương hiệu mạnh có thể giúp các công ty thu hút nhiều khách hàng mới, duy
trì hiệu quả mối quan hệ với các đối tác hiện tại và thậm chí là thu hút nhân tài.
Thay vì chỉ nhìn vào mức lương, ứng viên ngày này sẽ tìm hiểu rất chi tiết
thông tin của nhà tuyển dụng trên Internet trước khi quyết định ứng tuyển. Vì
vậy mà ngày càng có nhiều doanh nghiệp quan tâm đến việc quảng bá thương
hiệu của mình để thu hút nhân tài.
Một thương hiệu nhà tuyển dụng mạnh được thể hiện ở rất nhiều lĩnh vực khác
nhau như thông tin tạo ra trên các nền tảng mạng xã hội, nội dung quảng cáo
tuyển dụng, đặc quyền cho nhân viên và đặc biệt là những cảm nhận, suy nghĩ
của chính những người đang làm việc trong công ty. Những điều này sẽ khiến
cho một doanh nghiệp khác biệt hoàn toàn với doanh nghiệp khác, nâng cao lợi
thế cạnh tranh và thu hút được nhiều nhân tài đầu ngành.

2.2 Các yếu tố tác động trong bài toán tuyển dụng nhân sự của doanh nghiệp
2.2.1 Tác động từ sự phát triển của khoa học-công nghệ hiện đại
-Thế giới đang bước vào cuộc cách mạng 4.0, Trí tuệ nhân tạo (Artificial
Intelligence), Dữ liệu lớn (Big Data), Học máy (Machine Learning), Học sâu
(Deep Learning) đã được nghiên cứu, áp dụng và phục vụ cho rất nhiều lĩnh
vực. Với các công ty, doanh nghiệp nói chung đều đang hướng đến sự tự động
hóa trong doanh nghiệp khi các máy móc có thể tự động làm được hầu hết các
công việc. Trước sự phát triển mạnh mẽ đó thì hầu như tất cả các ban ngành đã
và đang chịu sự thay đổi ,cải cách rất mạnh mẽ vì sự tiện lợi và nhanh chóng
của các công cụ , công nghệ mang lại.

- Trước tình hình đó thì việc tuyển dụng nhân sự của các doanh nghiệp cũng đã
và đang thay đổi nhanh chóng. Từ việc tuyển dụng truyền thống thì nay việc
tuyển dụng đã trở lên vô cùng nhanh chóng và dễ dàng khi các doanh nghiệp
hay ứng viên có thể tìm thấy nhau một cách dễ dàng và nhanh chóng trên các
website diễn đàn tuyển dụng nhân sự của các công ty, doanh nghiệp.

2.2.2 Tác động từ nhu cầu thực tế của các doanh nghiệp, công ty.
- trong thời đại công nghệ phát triển mạnh hiện nay và sự trợ giúp của công
nghệ nên mọi thứ sẽ diễn ra vô cùng nhanh. Các doanh nghiệp muốn phát triển
thì đều cần các ứng dụng của công nghệ thông tin vô cùng mạnh mẽ, các bộ
phận trong doanh nghiệp đều phải làm việc nhanh chóng và hiệu quả. Do đó các
ứng dụng CNTT phục vụ trong doanh nghiệp đã phát triển vượt bậc nhằm phục
vụ nhu cầu của các doanh nghiệp.

-Vì vậy việc ứng dụng CNTT trong tuyển dụng nhân sự của các doanh nghiệp
cũng không ngoại lệ, các ứng dụng CNTT giúp việc tuyển chọn thí sinh vô cùng
nhanh chóng và phân loại được các ứng viên tiềm năng đáp ứng được nhu cầu
của doanh nghiệp

- Việc ứng dụng CNTT trong tuyển chọn nhân sự cũng tiết kiệm lượng lớn thời
gian cho doanh nghiệp. Qua đó các nhà tuyển dụng có thể tập chung vào quản
lý doanh nghiệp hiệu quả hơn và nâng cao doanh thu .

- Các ứng viên cũng nhờ sự phát triển này mà có thể tìm hiểu nhiều công ty
một lúc qua các website qua đó tiết kiệm thời gian và nâng cao tỉ lệ kiếm việc
làm.

Chương 3: Thuật Toán Áp Dụng Trong Bài Toán


3.1 Thuật Toán ID3
3.1.1 Cây Quyết Định

Cây quyết định là một cấu trúc phân cấp của các nút và các nhánh

Có 3 loại nút trên cây:


+ Gốc:Là nút trên cùng của cây.

+ Node trong: nút trung gian trên một thuộc tính đơn

+ Node lá: Biểu diễn lớp hay sự phân phối lớp

+ Nhánh: Biểu diễn các kết quả của kiểm tra trên nút.

Một số thuật toán học máy biểu diễn mối quan hệ nhân quả dưới dạng cây quyết
định.

Trong cây quyết định:

+ Các nút trong và nút gốc: đại diện những thuộc tính quan sát

+ Các nút lá: đại diện thuộc tính quyết định.

+ Nhánh: các giá trị của các thuộc tính

Với cây quyết định, ta có thể dự đoán giá trị kết quả cho những mẫu mới bằng
cách duyệt cây quyết định, bắt đầu từ nút gốc.

Với thuộc tính ghi trên nút gốc, ta kiểm tra giá trị tương ứng trong mẫu dữ liệu
và đi theo nhánh tương ứng.

Quá trình dự đoán kết thúc ở nút lá hoặc lặp lại bước tương tự tại các nút nhánh
trên đường đi đến nút lá.
3.1.2 Hàm Số Entropy
Entropy là thuật ngữ thuộc Nhiệt động lực học, là thước đo của sự biến
đổi, hỗn loạn hoặc ngẫu nhiên. Năm 1948, Shannon đã mở rộng khái
niệm Entropy sang lĩnh vực nghiên cứu, thống kê.

- Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ
thuộc một lớp có một giá trị phân loại.

- Entropy có giá trị nằm trong khoảng [0..1]

O Entropy(S) = 0 tập ví dụ S chỉ toàn ví dụ thuộc


cùng một loại, hay S là thuần nhất.

O Entropy(S) = 1 tập ví dụ S có các ví dụ thuộc các


loại khác nhau với độ pha trộn là cao nhất.

O 0 < Entropy(S) < 1 tập ví dụ S có số lượng ví dụ


thuộc các loại khác nhau là không bằng nhau.

- Entropy đo độ pha trộn của tập S theo công thức sau:

Entropy(S) = ∑ −¿ p i log p ¿
2 i
i=1

Trong đó:
 Tập S là tập dữ liệu rèn luyện

 pi: là tỷ lệ các mẫu thuộc lớp i trên tập S

 C là giá trị phân loại

- Phép đo giảm lượng entropy mong đợi gây ra bởi việc phân chia các ví dụ theo
thuộc tính.

- Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định
nghĩa như sau:

¿
∑ ¿ S v ∨ ¿ S∨¿ Entropy (S ) ¿ ¿
Gain(S,A) = Entropy(S)-v ∈values (A ) v

Trong đó:

• Values(A) là tập hợp có thể có các giá trị của thuộc tính A,

• Sv là tập con của S chứa các ví dụ có thuộc tính A mang giá trị v.

- Entropy trung bình của một thuộc tính bằng trung bình theo tỉ lệ của entropy
các nhánh:

∑ p v H Av
AE = v ∈ values (A)

- Thuộc tính tốt nhất ở đây là thuộc tính có entropy trung bình thấp nhất
3.1.3 Thuật toán ID3

- Input: Một tập hợp các ví dụ. Mỗi ví dụ bao gồm các thuộc tính mô tả một tình
huống, hay một đối tượng nào đó, và một giá trị phân loại của nó

- Output: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ
liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong
tương lai.

- Giải thuật ID3 xây dựng cây quyết định được trình bày như sau:

Lặp:

1. Chọn A <= thuộc tính quyết định “tốt nhất”

2. Với mỗi giá trị của A, tạo nhánh con mới của nút

3. Phân loại các mẫu huấn luyện cho các nút lá

4. Nếu các mẫu huấn luyện được phân loại hoàn toàn thì dừng, Ngược lại, lặp
với các nút lá mới.

3.2 Phân Tích Bài Toán


3.2.1 Nghiên Cứu các yếu tố ảnh hướng đến việc tuyển dụng nhân sự
Trong mỗi một công ty hiện nay các nhà tuyển dụng thường khi tuyển
dụng nhân sự chủ yếu sẽ tâp trung vào 5 yếu tố quan trọng sau đây.

+ Trình độ đào tạo ứng viên

+ Ứng viên có kinh nghiệm làm việc hay không

+ Số lượng công ty ứng viên đó từn làm


+ Trường mà ứng viên được đào tạo có nằm trong các trường hàng đầu hay
không

+ Ứng viên đã tham gia vào các dự án thực tế không ?

Với mỗi một hồ sơ ứng viên tuyển dụng bao gồm 06 thuộc tỉnh, trong đó có 05
thuộc tỉnh quan trọng ảnh hưởng tới quyết định tuyển dụng ứng viên đó và 1
thuộc tính cho biết kết quả ứng viên đỏ có được tuyển dụng hay không? Chi tiết
các thuộc tính của một ứng viên như trong bảng sau

ST Tên thuộc Giá trị các Ý nghĩa thuộc tính


T tính thuộc tính

1 Level Đại học Cho biết trình độ đào tạo ứng viên

Cao Đẳng

TT-tin học

2 Job Có,không Ứng viên có kinh nghiệm làm việc hay không

3 company 0,1,2,.. Số lượng công ty ứng viên đó từng làm

4 Train Có,không Trường mà ứng viên được đào tạo có nằm trong
các trường hàng đầu hay không

5 project Có,không Ứng viên đã tham gia vào các dự án thực tế không
?

6 result Có ,không Kết quả ứng viên có đạt điều kiện của nhà tuyển
dụng hay không

3.2.2 Bảng Thống Kê Số Liệu


Data training

Bộ dữ liệu test

level job company train project result


cao đẳng có 2 có có có
TT-tin có 2 có không có
học
đại học có 3 không không có
3.2.3 Sử Dụng ID3 để giải quyết bài toán
+Lặp Lần 1:Lần lượt xét các thuộc tính

Level
TT-tin học
Đại học
Cao đẳng

3Y,3N
7Y,1N 3Y,4N

−7 7 1 1
Hđại học = 8 x Log2 8 - 8 x Log2 8 =0.544

−3 3 4 4
Hcao đẳng = 7 x Log2 7 - 7 x Log2 7 =0.985

−3 3 3 3
HTT-tin học = 6 x Log2 6 - 6 x Log2 6 =1

8 7 6
AE= 21 x0.544 + 21 x0.985+ 21 x1 =0.821

job
không

8Y,5N
5Y,3N

−5 5 3 3
Hcó= 8 x Log2 8 - 8 x Log2 8 =0.954
−8 8 5 5
Hkhông= 13 x Log2 13 - 13 x Log2 13 =0.961

AE=0.959

company

5
0

2 4
1 3

2Y,3N 4Y,0N 3Y,0N


2Y,1N 2Y,1N 0Y,3N

−2 2 3 3
H0= 5 x Log2 5 - 5 x Log2 5 =1

H1=0
−2 2 1 1
H2= 3 x Log2 2 - 3 x Log2 3 =0.918

−2 2 1 1
H3= 3 x Log2 2 - 3 x Log2 3 =0.918

H4 =0

H5=0

AE =0.494

train
không

6Y,7N
7Y,1N
−7 7 1 1
Hcó= 8 x Log2 8 - 8 x Log2 8 =0.543

−6 6 7 7
Hkhông= 13 x Log2 13 - 13 x Log2 13 =0.996

AE =0.823

project
không

5Y,6N
8Y,2N

−8 8 2 2
Hcó= 10 x Log2 10 - 10 x Log2 10 =0.722

−5 5 6 6
Hkhông= 11 x Log2 11 - 11 x Log2 11 =0.994

7 7
AE= 14 x0.592 + 14 x0.863=0.864

So sánh ta thấy thuộc tính company có Entropy trung bình (AE) Thấp nhất nên
ta chọn thuộc tính này là thuộc tính gốc

+ Lặp Lần 2 : Xét nhánh 0


AE(0,Level)=0.8

AE(0,job)=0.8

AE(0,train) =0

AE(0,project) =0.951

Thuộc tính train có entropy trung bình là thấp nhất nên ta chọn thuộc tính train
làm nút nhánh

Lặp lần 3 : xét nhánh 2

AE(2,Level)=0

AE(2,job)=0.918

AE(2,train) =0.918

AE(2,project) =0.666

Thuộc tính level có entropy trung bình là thấp nhất nên ta chọn thuộc tính level
làm nút nhánh

Lặp lần 4: xét nhánh 3

AE(3,Level)=0.666

AE(3,job)=0.666

AE(3,train) =0.918

AE(3,project) =0

Thuộc tính project có entropy trung bình là thấp nhất nên ta chọn thuộc tính
project làm nút nhánh
Chương 4 : Xây Dựng Ứng Dụng
4.1 Ngôn Ngữ lập trình c#
4.1.1 Visual Studio 2019
Visual studio là một phần mềm hỗ trợ đắc lực hỗ trợ công việc lập trình
website. Công cụ này được tạo lên và thuộc quyền sở hữu của ông lớn
công nghệ Microsoft. Năm 1997, phần mềm lập trình nay có tên mã
Project Boston. Nhưng sau đó, Microsoft đã kết hợp các công cụ phát
triển, đóng gói thành sản phẩm duy nhất.

Visual Studio là hệ thống tập hợp tất cả những gì liên quan tới phát triển
ứng dụng, bao gồm trình chỉnh sửa mã, trình thiết kế, gỡ lỗi. Tức là, bạn
có thể viết code, sửa lỗi, chỉnh sửa thiết kế ứng dụng dễ dàng chỉ với 1
phần mềm Visual Studio mà thôi. Không dừng lại ở đó, người dùng còn
có thể thiết kế giao diện, trải nghiệm trong Visual Studio như khi phát
triển ứng dụng Xamarin, UWP bằng XAML hay Blend vậy.

Phần mềm Visual studio được chia thành 2 phiên bản Visual Studio
Enterprise và Visual Studio Professional, các phiên bản cao cấp có tính
phí này được sử dụng nhiều bởi các công ty chuyên về lập trình. Bên cạnh
đó, Microsoft cũng cho ra mắt phiên bản Community (phiên bản miễn phí)
của gói phần mềm, cung cấp cho người dùng những tính năng cơ bản nhất,
phù hợp với các đối tượng lập trình không chuyên, mới tiếp cận tìm hiểu
về công nghệ (đối tượng nghiên cứu, nhà phát triển cá nhân, hỗ trợ dự án
mỡ, các tổ chức phi doanh nghiệp dưới 5 người dùng).

4.1.2 Lập Trình Winform


Winform là thuật ngữ mô tả một ứng dụng được viết dùng .NET FrameWorrk
và có giao diện người dùng Windows Forms.
Mỗi màn hình windows cung cấp một giao diện giúp người dùng giao tiếp với
ứng dụng. Giao diện này được gọi là giao diện đồ họa (GUI) của ứng dụng.
Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy
tính: Microsoft, Word, Excel, Access, Calculator, yahoo, Mail… là các ứng
dụng Windows Forms.

4.2 Xây dựng chương trình


4.2.1 Giao diện chương trình
Giao diện khi khởi động chương trình :

Giao diện khi load Dữ liệu :


Giao diện khi chạy thuật toán id3

Test dự liệu :
4.3 Tài Liệu Tham Khảo
1. https://machinelearningcoban.com/2018/01/14/id3/

2. https://sinhvientot.net/cay-quyet-dinh-va-giai-thuat-id3/

3. https://ditimnguoncamhung.wordpress.com/2017/10/12/decision-tree-
algothrm/

You might also like