Tải bản đầy đủ (.pdf) (40 trang)

SKKN sử dụng thuật toán phân lớp cây quyết định để tư vấn định hướng nghề nghiệp cho học sinh thpt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.94 MB, 40 trang )

SÁNG KIẾN KINH NGHIỆM
SỬ DỤNG THUẬT TOÁN PHÂN LỚP
CÂY QUYẾT ĐỊNH ĐỂ TƯ VẤN ĐỊNH HƯỚNG
NGHỀ NGHIỆP CHO HỌC SINH THPT

SKKN môn: TIN HỌC

Nghệ An, 2021


SỞ GD & ĐT NGHỆ AN
TRƯỜNG THPT TÂY HIẾU
...................

SÁNG KIẾN KINH NGHIỆM

SỬ DỤNG THUẬT TOÁN PHÂN LỚP
CÂY QUYẾT ĐỊNH ĐỂ TƯ VẤN ĐỊNH HƯỚNG
NGHỀ NGHIỆP CHO HỌC SINH THPT

SKKN môn: Tin học
Người thực hiện: Trần Thị Hiền
Chức vụ: Giáo viên

Nghệ An, 2021


MỤC LỤC
PHẦN I: MỞ ĐẦU .................................................................................................................................. 1
1. Đặt vấn đề .......................................................................................................... 1
2. Mục tiêu nghiên cứu........................................................................................... 2


3. Đối tượng và phạm vi nghiên cứu...................................................................... 2
3.1. Đối tượng nghiên cứu .................................................................................. 2
3.2. Phạm vi nghiên cứu ..................................................................................... 2
3.3. Nhiệm vụ nghiên cứu ................................................................................... 2
4. Nội dung nghiên cứu .......................................................................................... 2
5. Điểm mới của đề tài ........................................................................................... 3
PHẦN II. NỘI DUNG .......................................................................................................................... 4
CHƯƠNG I: CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI .............................. 4
1.1. Cơ sở lí luận .................................................................................................... 4
1.1.1. Phân lớp dữ liệu ....................................................................................... 4
1.1.2. Thuật toán phân lớp cây quyết định.......................................................... 6
1.2. Cơ sở thực tiễn ................................................................................................ 9
1.2.1. Thực trạng tình hình vấn đề ...................................................................... 9
1.2.2. Biện pháp giải quyết vấn đề ...................................................................... 9
1.2.3. Hiệu quả của đề tài.................................................................................. 10
CHƯƠNG II. XÂY DỰNG HỆ THỐNG ĐỊNH HƯỚNG NGHỀ NGHIỆP SỬ
DỤNG THUẬT TOÁN PHÂN LỚP CÂY QUYẾT ĐỊNH ......................................... 11
2.1. Xây dựng bộ dữ liệu...................................................................................... 11
2.2. Xác định đầu vào và đầu ra của hệ thống ..................................................... 11
2.2.1. Lựa chọn đặc trưng ................................................................................. 11
2.2.2. Xác định nhóm ngành nghề .................................................................... 11
2.2.3. Sơ đồ của hệ thống .................................................................................. 12
2.3. Mô hình phân lớp cho hệ thống định hướng nghề nghiệp ............................ 12
CHƯƠNG III. THỰC NGHIỆM SƯ PHẠM ...................................................................... 17
3.1. Môi trường thực nghiệm WEKA .................................................................. 17
3.2. Phương pháp thực nghiệm ............................................................................ 18
3.3. Kết quả thử nghiệm và đánh giá ................................................................... 22


PHẦN III. KẾT LUẬN...................................................................................................................... 29

1. Kết luận ............................................................................................................ 29
2. Kiến nghị và hướng phát triển ......................................................................... 29
TÀI LIỆU THAM KHẢO .................................................................................... 31
PHỤ LỤC A ........................................................................................................... 32


DANH MỤC CÁC TỪ VIẾT TẮT
STT

KÍ HIỆU

NGHĨA CỦA TỪ VIẾT TẮT

1

THPT

Trung học phổ thông

2

ID3

Iterative Dichotomiser 3

3

CLS

Concept Learning System


4

CSDL

Cơ sở dữ liệu

5

PLDL

Phân lớp dữ liệu


PHẦN I: MỞ ĐẦU
1. Đặt vấn đề
Chọn nghề cho bản thân là một trong những nhiệm vụ quan trọng nhất trong
cuộc sống của mỗi người. Chọn một nghề phù hợp có nghĩa là mình đã chọn một
con đường sự nghiệp có thể giúp bản thân đặt ra các mục tiêu chuyên nghiệp và
phát triển các chiến lược để đảm bảo một tương lai an tồn.
Gần đây, ngày càng có nhiều người bắt đầu đánh giá lại các quyết định nghề
nghiệp của mình và thay đổi nghề nghiệp ở giai đoạn sau trong cuộc đời. Sự lựa
chọn sai nghề sẽ làm cho chất lượng đào tạo bị giảm sút, bản thân họ khơng phát
huy được hết khả năng của mình làm lãng phí nguồn tài nguyên lao động gây lãng
phí cho cơng tác đào tạo và đào tạo lại.
Vì vậy lựa chọn lĩnh vực giáo dục phù hợp sẽ ảnh hưởng đến sự nghiệp của
người đó, vì lí do này trước khi chọn con đường học vấn cao hơn người đó phải
xác định con đường nghề nghiệp phù hợp với sở thích, khả năng, kỹ năng của mình
để tránh được việc đầu tư nhiều công sức, tiền bạc của cá nhân, gia đình nếu thất
bại trong việc chọn nghề. Việc định hướng chọn đúng ngành nghề là một việc vô

cùng quan trọng và cần thiết với mỗi chúng ta và đặc biệt những em trung học phổ
thơng. Nó thể hiện vai trò hết sức đặc biệt bởi nghề nghiệp sẽ ảnh hưởng đến thành
cơng hay thất bại cho chính bản thân các em sẽ giúp các em tránh khỏi những vấn
đề trên.
Kỹ năng, tính cách, sở thích, nền tảng giáo dục… là những yếu tố ảnh
hưởng đến sự nghiệp của một con người. Mặc dù các yếu tố đó có thể thay đổi theo
thời gian, do sở thích hoặc hồn cảnh, có một mục tiêu chun nghiệp sẽ đóng vai
trị là một hướng dẫn để đưa ra các quyết định quan trọng với sự rõ ràng hơn. Hiện
nay, học sinh gặp khó khăn trong việc lựa chọn nghề nghiệp. Điều này có thể được
ngăn chặn bằng cách tư vấn đúng cách cho thanh thiếu niên trước khi họ bắt đầu
bước vào các cấp học sau khi tốt nghiệp THPT.
Với lý do đó tơi tập trung nghiên cứu thuật tốn phân lớp Cây quyết định để
xây dựng mơ hình định hướng chọn nghề cho học sinh THPT dựa trên dữ liệu khảo
sát.
Ở nghiên cứu này các đặc trưng liên quan đến kỹ năng, tính cách, sở thích,
nền tảng giáo dục… là những yếu tố cơ bản để xem xét và xây dựng bộ dữ liệu.
Kết quả khảo sát sẽ tập trung đến những đối tượng thuộc ngành nghề phổ biến như
công an, bộ đội, y tế, giáo dục, kinh doanh, kỹ thuật,…Với cách nhìn như trên Tơi
chọn đề tài “SỬ DỤNG THUẬT TOÁN PHÂN LỚP CÂY QUYẾT ĐỊNH ĐỂ TƯ
VẤN ĐỊNH HƯỚNG NGHỀ NGHIỆP CHO HỌC SINH THPT” làm đề tài
nghiên cứu.

1


2. Mục tiêu nghiên cứu
Nghiên cứu hệ thống hỗ trợ các em học sinh ở trường THPT Tây Hiếu có thể
có những lựa chọn ngành học phù hợp với thế mạnh của bản thân khi định hướng
chọn nghề.
3. Đối tượng và phạm vi nghiên cứu

3.1. Đối tượng nghiên cứu
- Học sinh khối 12 trường THPT Tây Hiếu năm học 2018 – 2019; 2019 –
2020 và năm học 2020 – 2021.
- Dữ liệu khảo sát kết quả của các ngành nghề.
- Tìm hiểu, tham khảo các tài liệu về tư vấn chọn nghề.
- Nghiên cứu thuật toán phân lớp cây quyết định.
- Nghiên cứu các tài liệu về cách sử dụng phần mềm WEKA. Sử dụng
WEKA triển khai các kỹ lựa chọn đặc trưng trên bộ dữ liệu thử nghiệm với thuật
toán phân lớp cây quyết định.
3.2. Phạm vi nghiên cứu
- Phương pháp phân lớp cây quyết định.
- Dữ liệu khảo sát thực tế dựa trên khả năng, sở thích, kỹ năng.
- Xây dựng hệ thống tư vấn định hướng nghề nghiệp cho học sinh THPT.
3.3. Nhiệm vụ nghiên cứu
- Nghiên cứu về kỹ thuật phân lớp cây quyết định.
- Xác định bài tốn cụ thể là xây dựng cơng cụ lựa chọn nghề nghiệp và
chuẩn bị nguồn dữ liệu để xây dựng chương trình.
- Xây dựng chương trình ứng dụng mơ hình được lựa chọn để dự đốn
ngành nghề của học sinh dựa vào thơng tin đầu vào, từ đó thực hiện tư vấn chọn
nghề cho học sinh nhằm đạt được kết quả tốt nhất.
4. Nội dung nghiên cứu
- Nghiên cứu các bước trích chọn đặc trưng trong kỹ năng, sở thích,....
- Nghiên cứu các tài liệu liên quan đến thuật tốn phân lớp cây quyết định.
- Nghiên cứu cơng cụ WEKA để thử nghiệm với thuật toán phân lớp cây
quyết định.

2


5. Điểm mới của đề tài

- Đã có nhiều đề tài về hướng nghiệp cho học sinh, tuy nhiên ở đề tài này
tính mới được thể hiện ở việc sử dụng các đặc điểm kỹ năng, tính cách, sở thích...
và sử dụng thuật toán phân lớp để định hướng tư vấn nghề cho học sinh THPT.
- Xây dựng mơ hình định hướng chọn ngành nghề của những người đã làm
việc dựa vào các đặc điểm của nghề nghiệp từ đó sử dụng các kỹ thuật phân lớp
Cây quyết định.
- Xây dựng chương trình ứng dụng mơ hình được lựa chọn để dự đốn
ngành nghề của học sinh dựa vào thơng tin đầu vào là kỹ năng, năng lực và sở
thích từ đó có thể thực hiện tư vấn chọn nghề cho học sinh.
- Sử dụng phần mềm WEKA để phân lớp dựa vào thuật toán cây quyết định
hỗ trợ tư vấn định hướng chọn nghề cho học sinh THPT.

3


PHẦN II. NỘI DUNG
CHƯƠNG I: CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI
1.1. Cơ sở lí luận
1.1.1. Phân lớp dữ liệu
Trong quá trình hoạt động, con người sản sinh ra nhiều tập dữ liệu. Các tập
dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin
với những quy luật chưa được khám phá. Chính vì vậy, một nhu cầu đặt ra là cần
tìm cách trích lọc từ tập dữ liệu đã có đó thành các luật. PLDL là tiến trình khám
phá các luật đặc trưng hay phân loại cho các tập dữ liệu đã được xếp lớp. Tập dữ
liệu học bao gồm tập các đối tượng đã được xác định lớp sẽ được sử dụng để tạo
mơ hình phân lớp dựa trên các đặc trưng của đối tượng trên tập dữ liệu học. Các
luật phân lớp sẽ được sử dụng để xây dựng các bộ PLDL. Công nghệ PLDL đã,
đang và sẽ phát triển mạnh mẽ trước những khao khát tri thức của con người, có
vai trị quan trọng trong tiến trình dự đốn các khuynh hướng, quy luật phát triển
cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu

khoa học.
PLDL là một quá trình gồm:
- Bước học (Xây dựng trên một mơ hình phân lớp).
- Bước phân lớp (mơ hình vừa xây dựng được sử dụng để dự đoán nhãn cho
những lớp dữ liệu nào đó)

Hình 1.2 (a): Bước học/ huấn luyện trong quá trình phân lớp hai
bước [7]
4


Hình 1.2 (b): Bước phân lớp trong quá trình phân lớp hai bước
Ở bước học/huấn luyện, ta xây dựng mô hình phân lớp mơ tả bộ xác định
các lớp dữ liệu hoặc khái niệm. Ở bước này một thuật toán phân lớp xây dựng trên
mơ hình phân lớp bằng cách phân tích một tập huấn luyện hình thành từ bản ghi
trong CSDL và các nhãn lớp liên kết giữa chúng. Mỗi bản ghi X được biểu diễn
một vector thuộc tính gồm n – chiều, X=(x1, x2, …, xn), mô tả n giá trị đo đã thực
hiện trên bản ghi đó từ n thuộc tính tương ứng của CSDL A1, A2, …, An. Mỗi bản
ghi X được giả định thuộc về một lớp được quy định trước, như được xác định bởi
thuộc tính khác của CSDL gọi là thuộc tính nhãn lớp.
Thuộc tính nhãn lớp này có giá trị rời rạc và khơng có thứ tự. Nó có tính
phân loại ở chỗ mỗi giá trị của nó đóng vai trị một loại hoặc lớp. Các bản ghi riêng
tạo thành tập huấn luyện được gọi là bản ghi huấn luyện và được lấy mẫu ngẫu
nhiên từ CSDL đang phân tích. Trong ngữ cảnh phân lớp, các bản ghi CSDL có thể
được gọi tuỳ tài liệu như ví dụ, thể hiện, điểm dữ liệu, mẫu hoặc đối tượng.
Do nhãn lớp của mỗi bản ghi huấn luyện đều được cấp sẵn nên bước này gọi
là học có giám sát, có nghĩa là việc học của mơ hình phân lớp là có giám sát ở chỗ
nó được cho biết là mỗi bản ghi huấn luyện thuộc về lớp nào. Nó trái ngược với
học khơng giám sát, trong đó ta khơng biết nhãn lớp của mỗi bản ghi huấn luyện và
có thể cả số lượng hoặc tập hợp các lớp cần học nữa.

Mỗi thuộc tính đại diện cho một “đặc điểm” của X. Vì vậy các tài liệu về
nhận dạng mẫu dùng thuật ngữ vector đặc điểm thay cho vector thuộc tính.
5


Thuật ngữ vector thuộc tính, bất kỳ biến nào đại diện cho một vector đều
được trình bày bằng kiểu chữ đậm và nghiêng, các giá trị đo mô tả vector đó được
trình bày bằng kiểu chữ nghiêng (ví dụ: X = (x1, x2,x3)).
Trong các tài liệu về máy học, các bản ghi huấn luyện thường được gọi là
mẫu huấn luyện hoặc ví dụ huấn luyện.
Bước thứ nhất của q trình phân lớp cịn có thể được xem như là việc học
(hay tìm kiếm) một ánh xạ y=f (X) mà có thể dự đoán được nhãn lớp y liên kết với
một bản ghi X cho trước. Theo cách quan sát này, chúng ta muốn tìm ra một ánh
xạ hay hàm mà chia tách các lớp dữ liệu. Thông thường, ánh xạ này được biểu diễn
dưới dạng các luật phân lớp, các cây quyết định, các cơng thức tốn học. Trước
hết, ta đánh giá độ chính xác dự đốn của mơ hình phân loại ấy. Nếu như ta dùng
tập huấn luyện để đánh giá độ chính xác của mơ hình phân lớp thì việc đánh giá
này nhiều khả năng là quá lạc quan, bởi vì mơ hình đó có khuynh hướng q khớp
dữ liệu. Vì vậy, ta dùng một tập kiểm tra, bao gồm các bản ghi kiểm tra và các
nhãn lớp liên kết chúng. Để thực hiện việc đánh giá này, các bản ghi kiểm tra độc
lập với các bản ghi huấn luyện, nghĩa là chúng không được dùng để xây dụng mơ
hình phân lớp.
Độ chính xác của một mơ hình phân lớp trên một tập kiểm tra xác định là tỷ
lệ các bản ghi của tập kiểm tra được phân loại đúng đắn bởi mơ hình phân lớp ấy.
Nhãn lớp liên kết của mỗi bản ghi kiểm tra được so sánh với sự dự đốn lớp của
mơ hình phân lớp học ứng với bản ghi đó.
1.1.2. Thuật tốn phân lớp cây quyết định
Cây quyết định là việc tìm kiếm các cây quyết định từ những bản ghi huấn
luyện đã có nhãn lớp. Mỗi cây quyết định là một cấu trúc cây kiểu lưu đồ, trong đó
mỗi nút trong biểu thị một sự kiểm tra trên một thuộc tính nào đó, mỗi nhánh biểu

diễn một kết quả của sự kiểm tra đó, cịn mỗi nút lá chứa một nhãn lớp. Nút ở trên
cùng của cây gọi là nút gốc, chứa tên của một thuộc tính cần kiểm tra. Hình 1.3
cho thấy một cây quyết định tiêu biểu. Các nút trong được biểu diễn bằng hình chữ
nhật, cịn các nút lá được biểu diễn bằng hình bầu dục. Một số thuật tốn cây quyết
định chỉ sinh ra các cây nhị phân (Trong đó mỗi nút trong rẽ nhánh đến hai nút
khác), trong khi những thuật tốn cây quyết định khác có thể sinh ra những cây
không nhị phân.
Các cây quyết định được dùng cho phân lớp như thế nào? Cho một bản ghi
X nào đó mà ta chưa biết nhãn lớp liên kết với nó, các giá trị thuộc tính của bản ghi
đó được kiểm tra so với cây quyết định. Dựa theo những cuộc kiểm tra đó, ta lần ra
một đường đi từ gốc đến một nút lá chứa kết quả dự đoán lớp dành cho bản ghi ấy.
Các cây quyết định có thể dễ dàng được chuyển đổi thành các luật phân lớp, tức
hình thức phân loại đơn giản và đễ hiểu nhất đối với con người.

6


Hình 1.3: Một ví dụ về cây quyết định
* Thuật toán phân lớp cây quyết định
Thuật toán ID3 được phát triển bởi Quinlan và được công bố vào cuối thập
niên 70 của thế kỷ XX. Thuật toán ID3 được xem như là một cải tiến của CLS với
khả năng lựa chọn thuộc tính tốt nhất để tiếp tục triển khai cây tại mỗi bước.Thuật
tốn ID3 (I, O, S) được mơ hình hóa như sau:
Input: Tập dữ liệu huấn luyện S với I là tập đặc trưng và O là thuộc tính phân lớp.
Ouput: Cây phân lớp – Tập luật phân lớp.
Actions:
Bước 1. Nếu S rỗng thì Return “Cây rỗng”;
Bước 2. Nếu các bản ghi trong S có cùng giá trị trên O, Return 1 nút với giá trị đó;
Bước 3.1. Tính Gain của mỗi thuộc tính trong I. Giả sử X là thuộc tính trong I
có Gain lớn nhất;

Bước 3.2 Đặt {x_j : j=1, 2, .., m} là các giá trị của X;
Bước 3.3. Đặt {S_j : j=1, 2, .., m} là các tập con của S khi S bị phân hoạch theo
các giá trị của X;
Bước 3.3.1. Return nút gốc với nhãn X và các nhánh là x_1, x_2, .., x_m;
Bước 3.3.2. ID3(I-{X}, O, S_1), ID3(I-{X}, O, S_2), .., ID3(I-{X}, O, S_m);
- Entropy của một tập S được tính theo công thức (2.1). Entropy được dùng để đo
7


tính thuần nhất của một tập dữ liệu.
Entropy(S) = −P+log2(P+) – P−log2(P−) (2.1)
+ Trong trường hợp các mẫu dữ liệu có 2 thuộc tính phân lớp thì “Yes” (+), “No”
(−).
Kí hiệu P+ là để chỉ tỷ lệ các mẫu có giá trị thuộc tính quyết định “Yes”, và
ký hiệu P− là để chỉ tỷ lệ các mẫu có giá trị thuộc tính quyết định là “No” trong tập
S.
+ Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có cơng thức sau:
𝑛

Entropy(S)=∑𝑖=1(−Pi log 2 Pi )

(2.2)

Trong đó Pi là tỷ lệ các mẫu thuộc lớp i trên tập S các mẫu kiểm tra.
+ Các trường hợp đặc biệt:
- Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì
Entropy=0.
- Nếu trong tập S có số mẫu phân bố đều nhau vào các lớp thì Entropy(S)=1.
- Các trường hợp cịn lại 0 < Entropy(S) <1.
- Information Gain (Gain): Là đại lượng dùng để đo tính hiệu quả của một thuộc

tính được lựa chọn cho việc phân lớp. Gain được tính thơng qua giá trị Information
và Entropy.
+ Cho tập dữ liệu S gồm có n thuộc tính A i(i = 1, 2, …, n) giá trị Information của
thuộc tính Ai kí hiệu là Information (Ai) được xác định bởi công thức:
Information(Ai)= −∑𝑛𝑖=1 𝑙𝑜𝑔2 (𝑃𝑖 ) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) (2.3)
+ Giá trị Gain của thuộc tính A trong tập hợp S kí hiệu là Gain(S, A) và được tính
theo cơng thức sau:
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛(𝐴) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴)
𝑆

= Entropy(S) −∑𝑣∈𝑣𝑎𝑙𝑢𝑒 𝑆𝑣Entropy(Sv)

(2.4)

Trong đó:
- S là tập hợp ban đầu với thuộc tính A. Các giá trị của v tương ứng với các
giá trị thuộc tính A.
- Sv bằng tập con của tập S mà có thuộc tính A mang giá trị v.
- │Sv│là số phần tử của tập hợp Sv
- │S│ là số phần tử của tập hợp S
Trong quá trình xây dựng cây quyết định theo ID3 tại mỗi bước triển khai
cây thì thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất.
Với việc tính giá trị Gain để chọn lựa thuộc tính tối ưu cho việc triển khai
8


cây, ID3 được xem là thuật toán cải tiến của thuật toán CLS.
Khi áp dụng thuật toán ID3 cho cùng một tập dữ liệu đầu vào và thử nhiều
lần thì đều cho cùng một kết quả. Vì thuộc tính ứng viên được lựa chọn ở mỗi
bước trong quá trình xây dựng cây được lựa chọn trước.

Nhưng thuật toán này cũng chưa giải quyết được vấn đề tính số, liên tục, số
lượng các thuộc tính cịn bị hạn chế và giải quyết hạn chế với vấn đề dữ liệu bị
nhiễu hoặc bị thiếu.
1.2. Cơ sở thực tiễn
1.2.1. Thực trạng tình hình vấn đề
Lựa chọn ngành nghề là một bước ngoặt trong cuộc đời của học sinh THPT.
Chọn cho mình một nghề nghĩa là chọn cho mình một tương lai. Việc chọn nghề
thực sự quan trọng và vô cùng cần thiết. Chọn sai lầm một nghề nghĩa là đặt cho
mình một tương lai khơng thực sự an tồn và vững chắc. Khơng phải ai cũng có thể
trả lời được câu hỏi: Làm thế nào chọn được một nghề phù hợp. Chính những nghĩ
suy và trăn trở rằng tơi có phù hợp nghề này hay khơng, tơi có thực sự u thích
nghề này hay khơng, nghề này có tương lai hay khơng… là những vấn đề cần được
giải quyết khi bắt đầu quá trình chọn một nghề phù hợp. Muốn chọn nghề phù hợp
thực sự, cần phải chú ý thực hiện thật tốt các khâu trong q trình hướng nghiệp.
Khơng thể chờ đợi mà bản thân mỗi người phải thực hiện sự tự hướng nghiệp cho
chính mình bằng những nỗ lực tốt nhất có thể có của cá nhân.
Từ những việc khảo sát bằng những câu hỏi để đánh giá dựa trên năng lực,
kỹ năng và sở thích của các ngành nghề được chọn và áp dụng thuật toán phân lớp
dữ liệu chạy trên ứng dụng Weka để đưa ra cách nhìn tổng qt đa dạng, có cái
nhìn đa chiều hơn có thể hỗ trợ việc định hướng nghề cho các em học sinh THPT.
Qua đó hỗ trợ cho giáo viên hướng nghiệp làm công tác tư vấn cho các em trong
trường THPT có sự lựa chọn chính xác hơn trong việc định hướng nghề nghề
nghiệp trong tương lai của mình.
1.2.2. Biện pháp giải quyết vấn đề
Để tiến hành được định hướng nghề nghiệp cho học sinh THPT thì ta phải
tiến hành thu thập nghiên cứu các yếu tố ảnh hưởng đến sự lựa chọn nghề.
Để giải quyết được vấn đề này, dữ liệu của các ngành nghề hiện tại được sử
dụng, trong đó các thơng tin chung về kỹ năng, năng lực và thông tin chung của
mỗi người được ánh xạ bởi nghề nghiệp của họ. Hệ thống nghề nghiệp trực quan
được tạo ra sử dụng cho nhiều câu hỏi mà mỗi người được hỏi phải trả lời để kiểm

tra kỹ năng, năng lực cũng như câu hỏi cơ bản của mỗi người.
- Kỹ năng ảnh hưởng đến công việc của mỗi con người vì vậy kỹ năng sẽ là
một yếu tố ảnh hưởng không nhỏ đến sự lựa chọn nghề của mỗi người.
- Năng lực có ảnh hưởng rất lớn đến hiệu quả công việc của mỗi người.
9


Chính vì thế lựa chọn nghề dựa vào năng lực sẽ góp phần tạo thành cơng cho mỗi
học sinh khi có sự định hướng lựa chọn cho sự đúng đắn của bản thân.
Các câu trả lời sau đó được đưa vào mơ hình đã tạo để dự đốn nghề nghiệp
phù hợp với kỹ năng và năng lực của học sinh để góp phần giúp học sinh có sự lựa
chọn nghề phù hợp cho tương lai sau này.
1.2.3. Hiệu quả của đề tài
Cách tốt nhất để lựa chọn một con đường sự nghiệp là xem xét các kỹ năng,
khả năng, sở thích của mỗi người. Đây là những thơng số chính để đưa ra quyết
định lựa chọn nghề nghiệp phù hợp cho bản thân mỗi học sinh trong tương lai. Khả
năng là sức mạnh tinh thần hoặc thể chất cần thiết để làm một việc gì đó, sở thích
chỉ ra thói quen tham gia vào một thứ gì đó, sở thích mang đến hướng phát triển
cho một thói quen và hoạt động, kỹ năng thể hiện khả năng để làm điều gì đó mà
mình mong muốn.
Khi một người quyết định lựa chọn một nghề nghiệp, sự lựa chọn này có thể
ảnh hưởng hoàn toàn cuộc sống của họ. Gần đây, ngày càng có nhiều người bắt
đầu đánh giá lại các quyết định nghề nghiệp của họ và thay đổi nghề nghiệp ở giai
đoạn sau trong cuộc đời. Điều này có thể được ngăn chặn bằng cách tư vấn đúng
cách cho học sinh THPT trước khi họ bắt đầu có sự lựa chọn theo học đầu tư cho
công việc tương lai của bản thân mình.

10



CHƯƠNG 2. XÂY DỰNG HỆ THỐNG ĐỊNH HƯỚNG NGHỀ NGHIỆP SỬ
DỤNG THUẬT TOÁN PHÂN LỚP CÂY QUYẾT ĐỊNH
2.1. Xây dựng bộ dữ liệu
Để tiến hành được định hướng nghề nghiệp cho học sinh THPT thì ta phải
tiến hành thu thập nghiên cứu các yếu tố ảnh hưởng đến sự lựa chọn nghề.
Để giải quyết được vấn đề này, dữ liệu của các ngành nghề hiện tại được sử
dụng, trong đó các thông tin chung về kỹ năng, năng lực và thông tin chung của
mỗi người được ánh xạ bởi nghề nghiệp của họ. Hệ thống nghề nghiệp trực quan
được tạo ra sử dụng cho nhiều câu hỏi mà mỗi người được hỏi phải trả lời để kiểm
tra kỹ năng, năng lực cũng như câu hỏi cơ bản của mỗi người.
Các câu trả lời sau đó được đưa vào mơ hình đã tạo để dự đoán nghề nghiệp
phù hợp với kỹ năng và năng lực của học sinh để góp phần giúp học sinh có sự lựa
chọn nghề phù hợp cho tương lai sau này.
2.2. Xác định đầu vào và đầu ra của hệ thống
2.2.1. Lựa chọn đặc trưng
Hệ thống tư vấn định hướng chọn nghề cho học sinh được xây dựng với
output (Đầu ra) là một nghề phù hợp với học sinh nào đó. Giá trị của Output phụ
thuộc vào các yếu tố độc lập của Input (Đầu vào) là năng lực, tính cách và sở thích
của học sinh thơng qua những câu hỏi trắc nghiệm định hướng nghề nghiệp. Mẫu
câu hỏi trắc nghiệm tư vấn định hướng cho sự lựa chọn nghề của học sinh được
xây dựng dựa vào phiếu khảo sát nhóm ngành nghề trên năng lực, tính cách và sở
thích của các đối tượng khảo sát thực tế. Các thuộc tính liên quan với hệ thống tư
vấn nghề nghiệp được chỉ ra ở Phụ lục A
2.2.2. Xác định nhóm ngành nghề
Các nhóm ngành nghề tham gia vào hệ thống tư vấn nghề:
• Giáo viên
• Cơng An và Bộ đội
• Kinh doanh
• Ngành Y
• Xây dựng

• Ngành cơng nghệ thông tin

11


2.2.3. Sơ đồ của hệ thống

Khảo sát dữ liệu về các

nhóm ngành nghề


Thơng tin của học sinh
cần tư vấn nghề nghiệp






• dữ liệu
Tập






• Ví dụ 1:


Phân lớp dữ liệu

Mơ hình phân lớp

Kết quả tư vấn
nghề nghiệp

Hình 2.1: Mơ hình cấu trúc hệ thống tư vấn chọn ngành nghề
2.3. Mơ hình phân lớp cho hệ thống định hướng nghề nghiệp
Áp dụng thuật toán phân lớp cây quyết định cho bài toán tư vấn định hướng
nghề nghiệp cho học sinh THPT Tây Hiếu
Sử dụng thuật toán ID3, xây dựng cây quyết định cho tập dữ liệu huấn luyện sau:
* Đầu vào của bài toán:
Tập CSDL ngành nghề - Bảng dữ liệu về ngành nghề
Khảo sát 14 đối tượng ngành nghề gồm có 5 thuộc tính sau:
- Dữ liệu thuộc tính ngành nghề: Giáo viên (GV); Cơng an và bộ đội (CABĐ)
Thuộc tính này có 2 giá trị NN={GV, CABĐ}
- Tư duy biện luận của Anh/ Chị như thế nào?
Thuộc tính này có 3 giá trị TD={Hơi tốt, Tốt, Rất tốt}
- Nghề Anh/ Chị có cần sức chịu đựng tốt khơng?
Thuộc tính này có 3 giá trị SK={Ít cần, Cần thiết, Rất cần}
- Nghề của Anh/Chị có cần giao lưu khơng?
Thuộc tính này có 2 giá trị GL={Có, Khơng}
12


- Anh/Chị có thích cơng tác xã hội, phục vụ cộng đồng khơng?
Thuộc tính này có 2 giá trị CT={Thích, Rất thích}
Ta có CSDL như sau:
ID


TD

SK

GL

CT

NN

1

Hơi tốt

Cần thiết



Thích

GV

2

Hơi tốt

Cần thiết




Rất thích

GV

3

Tốt

Cần thiết



Thích

CABĐ

4

Rất tốt

Ít cần



Thích

CABĐ

5


Rất tốt

Rất cần

Khơng

Thích

CABĐ

6

Rất tốt

Rất cần

Khơng

Rất thích

GV

7

Tốt

Rất cần

Khơng


Rất thích

CABĐ

8

Hơi tốt

Ít cần



Thích

GV

9

Hơi tốt

Rất cần

Khơng

Thích

CABĐ

10


Rất tốt

Ít cần

Khơng

Thích

CABĐ

11

Hơi tốt

Ít cần

Khơng

Rất thích

CABĐ

12

Tốt

Ít cần




Rất thích

CABĐ

13

Tốt

Cần thiết

Khơng

Thích

CABĐ

14

Rất tốt

Ít cần



Rất thích

GV

Bảng dữ liệu về ngành nghề

Giả sử có một học sinh Nguyễn Văn An với thơng tin khảo sát theo các thuộc tính
trên như sau:
Nguyễn Văn An = (TD = Hơi tốt, SK = Tốt, GL= Có, CT= Rất thích)
Ta cần xác định xem đối tượng Nguyễn Văn An lớp CGV (Nghề giáo viên) hay
thuộc lớp CCABĐ?
* Đầu ra:
Bộ phân lớp sẽ được thực hiện như sau:
- Chọn nút gốc của cây quyết định:
Tập dữ liệu hiện tại có 9 kết quả CABĐ và 5 kết quả GV
13


Ta kí hiệu là S: [9+,5−].
- Theo cơng thức tính Entropy theo cơng thức (2.1) của một các thuộc tính:
Nếu có C lớp trong tập S:
Entropy(S)=∑𝑐𝑖=1 −𝑃𝑖 𝑙𝑜𝑔2 𝑃𝑖
Vậy:
Entropy(S) = Entropy([9+, 5−]) =−9/14*𝑙𝑜𝑔2 9/14 −5/14*𝑙𝑜𝑔2 5/14 = 0.94
Lưu ý:
• Entropy là 0 nếu tất cả các thành viên của S đều thuộc cùng một lớp.
• Entropy là 1 nếu tập hợp chứa số lượng bằng nhau các thành viên thuộc lớp
âm và dương.
• Xét thuộc tính TD, thuộc tính này nhận 3 giá trị là Hơi tốt, Tốt, Rất tốt.
Ứng với mỗi thuộc tính, ta có:
• SHơi tốt: [2+,3−] (Có nghĩa là trong tập dữ liệu tại (S), có 2 kết quả CABĐ và
3 kết quả GV tại TD = Hơi tốt). Tương tự:
• STốt: [4+,0−].
• SRất tốt : [3+,2−].
Tính Information Gain của thuộc tính TD trên tập S. Giá trị này phản ánh mức
độ hiệu quả của một thuộc tính trong phân lớp.

Cơng thức tính IG của thuộc tính A trên tập S như sau:
│𝑠 │

𝑣
Gain(S,A)=Entropy(S)−∑𝑣∈𝑉𝑎𝑙𝑢𝑒(𝐴) │𝑠│
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠𝑣 )

Trong đó:
- Value(A) là tập hợp các giá trị có thể có cho thuộc tính A.
- Sv là tập con của tập S mà A nhận giá trị v.
Lấy ví dụ với thuộc tính A = TD, ta có Value(A) = {Hơi tốt, Tốt, Rất tốt}, và
SHơi tốt = [2+,3−] như đã tính ở trên
Từ cơng thức, dễ dàng tính được:
Gain(S,TD)=Entropy([9+,5−])−∑𝑣∈𝑉𝑎𝑙𝑢𝑒(𝑇𝐷)

│𝑆𝑣 │
14

𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑣 )=0.246

Tương tự, ta tính được Information Gain cho 3 thuộc tính cịn lại:
Gain(S,SK)=0.029
Gain(S,GL)=0.152
Gain(S,CT)=0.048
Thuộc tính TD có Information Gain cao nhất, chọn nó làm nút gốc.

14


TD


Hơi tốt

Tốt

Rất tốt

[4+, 0−]

[2+,3−]
?

CABĐ

[3+, 2−]
?

Hình 2.2: Cây quyết định khi chọn nút gốc
Xây dựng tiếp cây quyết định:
Sau khi chọn được nút gốc là TD, tiếp theo ta tính tiếp các nút tại mỗi thuộc tính
của nút vừa chọn. Trong hình 2.2:
• Nhánh bên trái cùng ứng với TD = Hơi tốt, có SHơi tốt là [2+,3−] chưa phân
lớp hồn tồn nên vẫn phải tính tốn chọn nút tại đây. Tương tự cho nhánh
phải cùng.
• Nhánh ở giữa ứng với TD = Tốt, tập dữ liệu tại nhánh này đã hoàn toàn phân
lớp dương với 4+ và 0−. Tại đây đã có thể quyết định, khi TD= Tốt thì có
thể nghề CABĐ.
Ta sẽ thực hiện tính tốn với nhánh trái cùng, trên tập SHơi tốt=[2+,3−].
Tương tự như cách tìm nút gốc, ta tính Information Gain cho 3 thuộc tính cịn lại
là SK, GL và CT (trên tập SHơi tốt ).

Xét thuộc tính GL, có:
• SKhơng: [2+,0−] (Nghĩa là tại những dữ liệu có TD = Tốt và GL= Khơng, có 2
dữ liệu, tất cả đều cho kết quả CABĐ).
• SCó: [0,3−].
Từ đó:
• Gain(SHơitốt, GL)= 0.971
• Thực hiện tương tự ta có:
• Gain(SHơi tốt ,SK)=0.571
• Gain(SHơi tốt ,CT)=0.019
• Nhận thấy thuộc tính GL có Information Gain cao nhất, chọn thuộc tính này
làm nút cho nhánh trái cùng

15




TD


Rất tốt
Hơi tốt

Tốt

[4+, 0−]
[3+, 2−]
[2+, 3−]



GL
?
CABĐ




Khơng


[0+, 3−]
• 0−]
[2+,

GV
• CABĐ


Hình 2.3: Cây quyết định sau khi chọn cho nhánh trái cùng
Cây quyết định hồn chỉnh:
• Làm tương tự cho nút tại nhánh phải ngoài (đến khi tất cả các nút lá của cây
đều đã phân lớp), ta được cây quyết định hồn chỉnh như sau:
TD
Hơi tốt
[2+, 3−]

[4+, 0−]

GL
Khơng

[2+, 0−]
CABĐ

Rất tốt

Tốt

[3+, 2 −]

CABĐ



CT

Thích

[0+, 3−]
GV

[3+, 0−]
CABĐ

Hình 2.4: Cây quyết định hồn chỉnh

Rất thích
[0+, 2−]
GV

16



CHƯƠNG III. THỰC NGHIỆM SƯ PHẠM
3.1. Môi trường thực nghiệm WEKA
Weka là một công cụ hỗ trợ khai phá dữ liệu khá nổi tiếng, được xây dựng và phát
triển từ trường đại học Waikato, New Zealand bằng ngôn ngữ Java. Weka là phần
mềm tự do phát hành theo giấy phép công cộng GNU.
Weka chứa một tập các công cụ mô hình và thuật tốn cho việc phân tích dữ
liệu và mơ hình dự đốn, cùng với giao diện đồ họa cho người sử dụng dễ dàng
truy cập vào các chức năng. Weka được sử dụng cho nhiều ứng dụng khác nhau,
phục vụ cho mục đích nghiên cứu.

Hình 3.1: Phần mềm Weka phiên bản 3.9.0
Phần mềm Weka gồm nhiều ứng dụng và cơng cụ như là:
Có các ứng dụng trên hình 3.1:
- Explorer: Lựa chọn dữ liệu và thực hiện khai phá dữ liệu với các thuật toán
cơ bản trong khai phá dữ liệu
- Experimenter: Môi trường thử nghiệm
- Simple CLI: Cung cấp một giao diện dòng lệnh đơn giản cho phép thực
hiện các lệnh Weka, dành cho các máy tính mà hệ điều hành không cung cấp giao
17


diện GUI.
Tất cả các kỹ thuật của Weka được xây dựng dựa trên các giả định là dữ liệu
đơn hoặc là dữ liệu quan hệ, khi mỗi điểm dữ liệu được miêu tả bởi một số xác
định các thuộc tính (thơng thường, là dạng liên tục hoặc các thuộc tính được chuẩn
hóa, một vài dạng thuộc tính khác cũng được hỗ trợ).
Weka cung cấp cách truy cập cơ sở dữ liệu bằng các sử dụng kết nối Java
Database Connectivity (JDBC) và có thể xử lý kết quả trả về bởi một truy vấn cơ

sở dữ liệu.
Weka hỗ trợ 4 chế độ kiểm thử:
- Use Training Set (Sử dụng tập huấn luyện): đánh giá khả năng dự đoán lớp
của các mẫu được huấn luyện.
- Supplied Test Set (Tập hỗ trợ kiểm thử): đánh giá khả năng dự đoán lớp của
một tập kiểm tra có đầy đủ giá trị thuộc tính Out – put
- Cross – Validation (Đánh giá chéo).
- Percentage Split (Tách theo tỷ lệ): Chia tập dataset theo tỷ lệ quy định trước
về số mẫu học, số mẫu kiểm tra.
Những ưu điểm của Weka:
- Miễn phí cho người sử dụng;
- Hỗ trợ trên nhiều nền tảng hệ điều hành;
- Là một tập hợp xử lý DL và kỹ thuật mô hình;
- Hỗ trợ đồ hoạ;
3.2. Phương pháp thực nghiệm
Tất cả các đối tượng được khảo sát với các mỗi câu hỏi được phân thành
các mức độ tương ứng như sau:
Không tốt: 1

Hơi tốt: 2

Tốt: 3

Rất tốt: 4

Khơng cần: 1

Ít cần: 2

Cần thiết: 3


Rất cần: 4

Khơng thích: 1

Hơi thích:2

Thích: 3

Rất thích:4

Khơng tốt lắm: 1

Hơi tốt: 2

Tốt: 3

Rất tốt: 4

Không nhiều: 1

Hơi nhiều: 2

Tương đối: 3

Rất nhiều: 4

Không tốt lắm: 1

Khá tốt: 2


Tốt: 3

Rất tốt: 4

Bảng ví dụ phân cấp mức độ trong từng câu hỏi
18


Dữ liệu sau khi được phân loại theo mức độ tương ứng ở mỗi câu hỏi sẽ
được nhập vào tệp *.XLS, hoặc *. XLSX chạy được từ phần mềm ứng dụng Ms
Excel.

Hình 3.2: Bảng kỹ năng, tính cách và sở thích khi xử lý
Ta sẽ sử dụng CSDL được xử lý này chạy trên phần mềm ứng dụng WEKA
sử dụng thuật toán phân lớp cây quyết định. Để tiến hành phân lớp được bộ CSDL
này ta phải chuyển đổi kết quả của Bảng kỹ năng, tính cách và sở thích từ phần
mềm Excel (*.xls, *.xlsx) sau đó tiến hành lưu file thành file *.csv. Sau đó từ file
*.csv ta sử dụng ứng dụng WEKA đổi thành file *.arff để có thể thực hiện được
trong ứng dụng WEKA. Các bước chuyển đổi đó được thực hiện như sau:
Bước 1: Mở phần mềm ứng dụng Ms Excel, sau đó mở tệp Dữ liệu đã được
lưu sẵn trên ổ đĩa với các kỹ năng, tính cách và sở thích của các đối tượng ở mỗi
ngành nghề khảo sát.
Bước 2:Lưu tệp thành file có phần mở rộng là *.csv

3.3. Đánh giá và phân tích kết quả thực nghiệm
PHẦN III: KẾT LUẬN
1. Kết luận
2. Kiến nghị


Hình 3.3: Lưu tệp CSDL thành *.csv
19


Bước 3: Sử dụng phần mềm ứng dụng WEKA để chuyển đối tệp *.csv thành
tệp có phần mở rộng *.arff để chạy được trên WEKA.

Hình 3.4: Lưu file từ *.csv thành file *.arff
Tiến hành phân lớp dữ liệu trong ứng dụng WEKA phiên bản 3.9.0
Bước 1: Khởi động ứng dụng WEKA phiên bản 3.9.0, sau đó chọn Explore
Bước 2: Chọn Openfile… để lựa chọn tập dữ liệu trên máy

Hình 3.5: Mở tệp CSDL để xử lý trên WEKA

20


×