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

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 (902.45 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

Đ

INH PH T

ỨNG DỤNG KỸ THUẬT CÂY QUYẾT ĐỊNH
XÂY DỰNG HỆ THỐNG DỰ B O KHẢ NĂNG BỎ HỌC
CỦA HỌC SINH TRƯỜNG THPT VẠN TƯỜNG
TỈNH QUẢNG NGÃI

Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2019


Cơng trình được hồn thành tại
TRƯỜNG ĐẠI HỌC SƯ PHẠM

Người hướng dẫn khoa học: PGS.TS. V T

gH

g

Phản biện 1: PGS.TSKH. Trần Quốc Chiến
Phản biện 2: TS. Nguyễn Quang Thanh



Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ ngành Hệ thống thông tin họp tại trường Đại học
Sư phạm vào ngày 6 tháng 4 năm 2019.

Có thể tìm hiểu luận văn tại:
- Thư viện Trường Đại học Sư phạm – ĐHĐN
- Khoa Công nghệ thông tin, trường Đại học Sư phạm - ĐHĐN


1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây ngành Giáo dục Đào tạo Quảng Ngãi
rất chú trọng đầu tư đưa ứng dụng công nghệ thông tin vào trường học
phục vụ cơng tác quản lí và dạy học, cơ sở hạ tầng được đầu tư nâng
cấp dần hoàn thiện, các ứng dụng và CSDL được xây dựng phục vụ
cơng tác quản lí. Tuy nhiên hiệu quả các ứng dụng trong cơng tác
quản lí mang lại chưa cao, trong đó có việc quản lí học sinh, đặc biệt
là vấn đề quản lí học sinh bỏ học.
Trước tình trạng học sinh trong Tỉnh bỏ học giữa chừng với tỉ lệ
cao, ngày 03/03/2017 Ban Thường vụ tỉnh Ủy Quảng Ngãi ra công
văn số 1568/CV-TV và ngày 10 tháng 03 năm 2017 Ủy ban nhân dân
tỉnh Quảng Ngãi ra công văn số 1241/UBND-KGVX về việc kiểm tra
chấn chỉnh tình trạng học sinh bỏ học trên địa bàn tỉnh Quảng Ngãi và
công văn số 496/SGDĐT-VP ngày 27 tháng 3 năm 2017 của Sở Giáo
dục và Đào tạo Quảng Ngãi về việc tăng cường các giải pháp khắc
phục học sinh bỏ học [6], [7].
Việc học sinh bỏ học có thể kéo theo nhiều hệ lụy cả trước mắt
lẫn lâu dài, không chỉ đối với cá nhân, gia đình học sinh mà cả với nhà

trường và xã hội. Vì vậy, việc dự đốn phát hiện sớm những học sinh
có biểu hiện bỏ học để có những biện pháp phù hợp kịp thời nhằm
giảm thiểu tình trạng học sinh bỏ học là một việc làm cần thiết và cấp
bách.
Hiện nay, trong công tác quản lý học sinh ở nhà trường thường
biết được các nguyên nhân dẫn đến học sinh có khả năng bỏ học một
cách đại khái chung chung. Việc phân tích, tổng hợp các nguyên nhân
học sinh bỏ học đã được một số tác giả đề cập tìm hiểu nhưng chưa có
các cơng cụ hỗ trợ để giúp nhà trường đánh giá phát hiện sớm học
sinh có khả năng bỏ học hay khơng.


2
Để thực hiện chủ trương của ngành về việc chấn chỉnh tình
trạng học sinh bỏ học cũng như tăng hiệu quả ứng dụng CNTT trong
quản lí để hạn chế tình trạng học sinh bỏ học, trong q trình học tập
tơi nhận thấy khai phá dữ liệu là bộ môn rất hữu ích trong việc phân
loại các nhóm đối tượng, tơi nghĩ có thể vận dụng kiến thức của mơn
học này để xây dựng hệ thống phân loại học sinh có khả năng bỏ học
hay khơng để từ đó giúp nhà trường tìm ra những biện pháp giáo dục
hợp lý nhằm hạn chế số lượng học sinh bỏ học cao như hiện nay.
Xuất phát từ những lý do trên, được sự đồng ý của PGS.TS. Võ
Trung Hùng, tôi chọn đề tài: “Ứng dụng kỹ thuật cây quyết định
xây dựng hệ thống dự báo khả năng bỏ học của học sinh trường
THPT Vạn Tường tỉnh Quảng Ngãi” để làm luận văn thạc sĩ.
2. Mục tiêu
Mục tiêu của đề tài là nghiên cứu và xây dựng hệ thống dự báo
khả năng bỏ học của học sinh trường THPT Vạn Tường tỉnh Quảng
Ngãi, nhằm giúp lãnh đạo nhà trường tìm ra các giải pháp phù hợp để
hạn chế tình trạng học sinh bỏ học, nâng cao hiệu quả giáo dục, giúp

cho học sinh có ý định bỏ học từng bước ổn định tinh thần và thích thú
đi học.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là học sinh tại trường THPT
Vạn Tường; cơ sở lý thuyết về khai phá dữ liệu và các thuật toán tạo
cây quyết định như CLS, ID3, C4.5; ngôn ngữ lập trình C#. Ngồi ra
trong luận văn còn nghiên cứu các biểu mẫu liên quan đến vấn đề bỏ
học của học sinh; các công văn của Sở GD-ĐT Quảng Ngãi, Ủy Ban
tỉnh Quảng Ngãi về việc hướng dẫn chấn chỉnh, khắc phục tình trạng
bỏ học của học sinh.
Phạm vi nghiên cứu


3
Phạm vi nghiên cứu là học sinh khối THPT ở trường THPT Vạn
Tường tỉnh Quảng Ngãi, các số liệu về học sinh bỏ học tại trường
THPT Vạn Tường các năm học 2015-2016, 2016-2017, 2017-2018.
Ngoài ra, trong đề tài tập trung nghiên cứu sâu vào thuật toán C4.5.
4. Phương pháp nghiên cứu
Nghiên cứu lý thuyết
Nghiên cứu các tài liệu về cơ sở lý thuyết; ngơn ngữ lập trình và
các cơng nghệ có liên quan; tổng hợp, thu thập các số liệu liên quan
đến việc bỏ học của học sinh.
Nghiên cứu thực nghiệm
Sử dụng các số liệu lưu trữ tại trường để tìm hiểu về nguyên
nhân học sinh bỏ học cũng như khảo sát thực tế và hỏi ý kiến chuyên
gia về nguyên nhân bỏ học của học sinh để xây dựng bảng dữ liệu
huấn luyện và xây dựng cây quyết định trên bảng dữ liệu đó.
Vận dụng các cơ sở lý thuyết để xây dựng ứng dụng, tiến hành

kiểm thử đánh giá hiệu suất của ứng dụng.
5. Ý nghĩa của đề tài
Về ý nghĩa khoa học
Đề tài được phân tích, tổng hợp từ những nguồn dữ liệu đáng
tin cậy sẽ là cơ sở khoa học để các nghiên cứu tiếp theo tham khảo.
Kết quả nghiên cứu của đề tài góp phần xây dựng cơ sở khoa học cho
việc tìm các giải pháp để hạn chế tình trạng học sinh bỏ học ở trường
THPT.


4
Về ý nghĩa thực tiễn
Xây dựng hệ hỗ trợ ra quyết định, triển khai hệ thống thử
nghiệm tại trường THPT Vạn Tường nhằm đánh giá hiệu quả trước
khi sử dụng rộng rãi. Ứng dụng có khả năng phân tích đưa ra dự báo
học sinh có ý định bỏ học để nhà trường có biện pháp giúp đỡ, duy trì
việc đến lớp cho các em.
6. Bố cục của luận văn
Chương 1: Trình bày cơ sở lý thuyết làm nền tảng để xây dựng
ứng dụng, bao gồm: Tổng quan về khai phá dữ liệu; phân lớp trong
khai phá dữ liệu; giới thiệu về cây quyết định trong phân lớp dữ liệu;
giải thuật CLS, ID3 và C4.5 xây dựng cây quyết định.
Chương 2: Tìm hiểu và phân tích thực trạng, ngun nhân học
sinh bỏ học, nêu lên những vấn đề còn hạn chế trong cơng tác quản lí
ở đơn vị. Ứng dụng thuật tốn C4.5 để xây dựng cây quyết định.
Chương 3: Trình bày chi tiết về mơ hình kiến trúc tổng thể của
hệ thống và xây dựng ứng dụng. Tiến hành thử nghiệm trên dữ liệu
thực tế, sau đó đánh giá kết quả đạt được và khả năng triển khai ứng
dụng trên toàn hệ thống.
Cuối cùng là những đánh giá, kết luận và hướng phát triển của

đề tài.
CHƯƠNG 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
Chương này trình bày khái quát về khai phá dữ liệu, các bước
xây dựng hệ thống khai phá dữ liệu, phân lớp trong khai phá dữ liệu.
Giới thiệu về cây quyết định và các thuật toán xây dựng cây quyết
định CLS, ID3 và C4.5.
1.1. Khai phá dữ liệu
1.1.1. Sơ lược về khai phá dữ liệu
1.1.2. Kĩ thuật khai phá dữ liệu


5
1.1.3. Các bước xây dựng hệ thống khai phá dữ liệu
1.1.4. Ứng dụng của khai phá dữ liệu
1.1.5. Kiến trúc của một hệ thống khai phá dữ liệu
1.2. Phân lớp dữ liệu bằng cây quyết định
1.2.1. Phân lớp dữ liệu
1.2.2. Quá trình phân lớp dữ liệu
1.2.3. Cây quyết định
1.2.4. Ưu điểm của cây quyết định
1.2.5. Xây dựng cây quyết định
1.2.6. Rút ra luật từ cây quyết định
1.3. Các thuật toán xây dựng cây quyết định
1.3.1. Thuật toán CLS
Function CLS_Builder(S, A)
{

1. Tạo một nút T, gồm tất cả các mẫu của tập huấn
luyện.

2. If(mọi mẫu trong T đều nằm trong cùng một lớp
"Yes")Then
Return T là nút lá gán nhãn "yes" và dừng lại.
3. If(mọi mẫu trong T đều nằm trong cùng một lớp
"No")Then
Return T là nút lá gán nhãn "No" và dừng lại.
4. If (Các mẫu thuộc cả hai lớp "yes" và "no") Then
{
 Chọn một thuộc tính X trong tập thuộc tính của tập
mẫu dữ liệu, X có các giá trị v1,v2, …vn.
 Chia tập mẫu trong T thành các tập con T1, T2,….,Tn.
chia theo giá trị của X.
 Tạo n nút con Ti (i=1,2…n) với nút cha là nút T.
 Tạo các nhánh nối từ nút T đến các nút Ti (i=1,2…n)
là các thuộc tính của X.
}
5. Thực hiện lặp cho các nút con Ti(i =1,2..n) và quay
lại bước 2.
}


6
1.3.2. Thuật toán ID3
1.3.2.1. Giới thiệu
1.3.2.2.. Giải thuật ID3
Function ID3_Builder(S, A)
{
1. Tạo một nút gốc N cho cây quyết định;
2. If (Các mẫu trong S đều thuộc cùng một lớp C)
Then Return nút N là nút lá có nhãn C;

3. If (thuộc tính A rỡng) Then
Return nút N với nhãn là lớp phổ biến nhất
trong các mẫu;
4. Chọn A.Best là thuộc tính có độ lợi thơng tin
cao nhất;
5. Loại A.Best ra khỏi tập thuộc tính A
6. Foreach (giá trị ai của A.best)
{
Tạo một nhánh của cây từ nút N với
A.Best=ai;
Đặt vào Si các mẫu trong S có giá trị
A.Best=ai;
If (Si rỗng) Then
Gắn nhãn cho nút lá là lớp phổ biến
trong các mẫu;
Else
Gắn
nút
được
trả
về
bởi
ID3_Builder(Si, A);
}
}

1.3.2.3. Chọn thuộc tính phân loại tốt nhất
1.3.2.4. Độ lợi thông tin
Độ lợi thông tin (Information Gain) là độ đo được sử dụng
trong giải thuật ID3. Đầu tiên là công thức đo lượng thông tin kỳ vọng

để phân lớp một phần tử trong tập dữ liệu S được đo bằng công thức
sau [1], [11]:
m

Info( S )

pi log 2 ( pi )
i 1

(1.1)


7
trong đó, pi là xác xuất một phần tử dữ liệu trong tập S thuộc vào
lớp Ci và nó được ước lượng bằng công thức pi

| Si |
, với Si là tập
|S|

các phần tử dữ liệu trong tập S thuộc lớp Ci ; m là số lượng các lớp
trong S . Hàm logarit cơ số 2 được sử dụng là do công thức trên đo
lượng thông tin theo đơn vị bit (theo lý thuyết thông tin của
C.Shannon). Hàm Info( S ) còn được gọi là Entropy của S được viết

Entropy(S ) [1]. Vậy:
m

Entropy (S )


Info(S )

pi log 2 ( pi )

(1.2)

i 1

Trong luận văn này nghiên cứu chỉ giới hạn với số lớp m 2 .
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 cùng một lớp hay có một giá trị phân loại.
Entropy có giá trị nằm trong khoảng [0..1].
Entropy(S)=0: Nếu tập S chỉ tồn ví dụ thuộc cùng một loại,
hay S là thuần nhất.
Entropy(S)=1: Nếu tập S có các ví dụ thuộc các loại khác nhau
với độ pha trộn cao nhất.
0khác nhau là khơng bằng nhau.
Giả sử ta phân chia dữ liệu trong S theo thuộc tính A nào đó,
và giả sử thuộc tính này có v giá trị (rời rạc) khác nhau là
{a1 , a2,..., av } . Thuộc tính này phân chia tập dữ liệu S thành v tập

con {S1 , S2 ,..., Sv ) trong đó S j là tập các phần tử dữ liệu có giá trị của
thuộc tính A là ai . Tập con này sẽ tương ứng với một nhánh cây
được phát triển từ nút N trong giải thuật tạo cây quyết định. Trường
hợp lý tưởng thì ta muốn tập con này sẽ có khả năng phân lớp chính
xác các phần tử trong nó, hay nói một cách khác ta muốn tập con này


8

thuần nhất càng tốt. Tuy nhiên trong thực tế thì các tập này thường
khơng thuần nhất vì nó chứa các phần tử dữ liệu thuộc về các lớp khác
nhau, do đó chúng ta cần thêm thơng tin InfoA ( S ) để phân lớp chính
xác tập con này. Lượng thơng tin InfoA ( S ) này là thông tin kỳ vọng
để phân lớp một phần tử dữ liệu trong S dựa trên việc chia dữ liệu
bằng thuộc tính A còn gọi là Entropy của tập S đối với thuộc tính A
viết là Entropy(S , A) . Giá trị này càng nhỏ thì độ thuần nhất của các
tập con càng cao. Thông tin này được đo bởi công thức [1], [11]:
InfoA ( S )

trong đó

| Sj |
|S|

v

| Sj |

j 1

|S|

Entropy (S , A)

x Info(S j )

(1.3)

được dùng làm trọng số của tập con S j . Cuối cùng


hàm độ lợi thông tin của thuộc tính A trong tập S là Gain(S , A)
được tính bằng cơng thức [1], [11]:

Gain( S , A)

Info( S ) InfoA ( S )
Entropy (S ) Entropy (S , A)

(1.4)

Giá trị Gain(S , A) cho ta biết được lợi bao nhiêu nếu chia dữ
liệu theo thuộc tính A. Giá trị này càng lớn thì càng tốt, do đó thuộc
tính có giá trị Gain() lớn nhất sẽ được chọn để phân nhánh trong quá
trình xây dựng cây quyết định.
Thuật toán ID3 được xem là một cải tiến của thuật tốn CLS.
Tuy nhiên thuật tốn ID3 khơng có khả năng xử lý đối với những dữ
liệu có chứa thuộc tính số, thuộc tính liên tục và khó khăn trong việc
xử lý các dữ liệu thiếu và dữ liệu nhiễu. Vấn đề này sẽ được giải quyết
trong thuật toán C4.5.


9
1.3.3. Thuật toán C4.5
1.3.3.1. Giới thiệu:
1.3.3.2. Giải thuật C4.5 xây dựng cây quyết định
Function C45_Builder(S,A)
{
1. của S>;

2. If hoặc có rất ít mẫu khác lớp> Then nút lá>
Else <Tạo một nút quyết định N>;
3. For <Với mỡi thuộc tính A> Do GainRatio(A)>;
4. thuộc
tính có giá trị GainRatio tốt nhất(lớn nhất). Gọi
N.test là thuộc tính có GainRatio lớn nhất>;
5. If <Nếu N.test là thuộc tính liên tục> Then ngưỡng cho phép tách của N.test>;
6. For <Với mỗi tập con S' được tách ra từ tập S>
Do
{
// * S' được tách ra theo quy tắc:
- Nếu N.test là thuộc tính liên tục tách theo
ngưỡng ở bước 5
- Nếu N.test là thuộc tính phân loại rời rạc
tách theo các giá trị của thuộc tính này.
If <Kiểm tra, nếu S' rỡng> Then của nút N là nút lá>;
Else
gọi đệ qui lại đối với hàm C45_Builder(S'),
với tập S'>;
}
7. <Tính tốn các lỗi của nút N>;
<Trả về nút N>;
}


1.3.3.3. Tỉ suất lợi ích Gain Ratio
Độ đo độ lợi thông tin hoạt động khơng tốt trong trường hợp
một thuộc tính có nhiều giá trị. Ví dụ, thuộc tính Mã học sinh (Mahs)
hay ID,…Đặc biệt khi chia dữ liệu theo thuộc tính này thì mỗi tập con


10
dữ liệu sẽ tương ứng với một bản ghi, do đó các tập con này là hồn
tồn thuần nhất. Hay nói cách khác lượng thơng tin cần để phân lớp
tập dữ liệu S dựa trên cách phân chia dữ liệu trên thuộc tính này là
Entropy(S , A) 0 và giá trị độ lợi thông tin sẽ đạt giá trị tối đa
Gain(S , Mahs)

Entropy(S ) . Rõ ràng việc phân lớp

Entropy(S ) 0

dựa trên thuộc tính này là vơ nghĩa.
Do dó, trong giải thuật C4.5 tác giả đã đề xuất sử dụng một độ
đo mới gọi là tỉ số độ lợi (Gain Ratio) để cố tránh nhược điểm này.
Hàm này sử dụng một phương pháp ch̉n hóa độ lợi thơng tin bằng
cách sử dụng giá trị phân chia thông tin (Split information) được định
nghĩa tương tự như hàm Info( S ) [1], [11]:
v

SplitInfoA (S )
j 1

| Sj |

|S|

x log 2

| Sj |

(1.5)

|S|

Giá trị này biểu diễn thông tin tiềm năng được sinh ra thông
qua việc chia tập dữ liệu huấn luyện S thành v tập con tương ứng
với các giá trị của thuộc tính A . Đây là điểm khác so với độ lợi thơng
tin, do đó cơng thức tính tỉ số độ lợi thông sẽ là [1], [11]:
GainRation(S , A)

Gain( S , A)
SplitInfo(S , A)

(1.6)

trong đó, hàm SplitInfo(S , A) là SplitInfoA ( S )
Dựa trên độ đo này, các thuộc tính có giá trị tỉ số độ lợi cao sẽ
được chọn làm thuộc tính phân chia dữ liệu. Có một chú ý rằng, nếu
hàm SplitInfo( S , A)

0 thì cơng thức trên khơng dùng được, do đó

có thể thêm ràng buộc để tránh trường hợp này. Cụ thể giá trị độ lợi
thơng tin của thuộc tính được chọn phải đủ lớn, ít nhất là lớn hơn giá

trị trung bình độ lợi thơng tin của tất cả các thuộc tính.
1.3.3.4. Đánh giá độ phức tạp của thuật toán C4.5
1.3.3.5. Phương pháp đánh giá độ hiệu quả


11
1.4. Tởng kết chương 1
Thuật tốn C4.5 thường được sử dụng để xây dựng cây quyết
định vì những ưu điểm của của nó như cây trực quan, dễ hiểu; ngồi ra
nó còn xử lý được kiểu dữ liệu số và rời rạc, dữ liệu thiếu.
CHƯƠNG 2
ỨNG DỤNG CÂY QUYẾT ĐỊNH DỰ BÁO KHẢ NĂNG BỎ
HỌC CỦA HỌC SINH
Chương này sẽ phân tích về thực trạng, nguyên nhân dẫn đến
học sinh bỏ học để xây dựng tập dữ liệu huấn luyện và thực hiện tính
tốn chi tiết việc phân tách cây trên thuật toán C4.5 để xây dựng cây
quyết định, từ đó rút ra tập luật để xây dựng ứng dụng ở chương 3.
2.1. Tình hình bỏ học của học sinh
2.1.1. Thực trạng, nguyên nhân học sinh bỏ học
2.1.2. Hậu quả của tình trạng bỏ học
2.1.3. Khảo sát học sinh bỏ học
2.1.4. Phân tích nguyên nhân bỏ học của học sinh
2.1.5. Giải pháp xây dựng hệ thống
2.2. Ứng dụng cây quyết định
2.2.1. Lượng hóa dữ liệu để đưa vào thuật tốn C4.5
Để thuật toán C4.5 xây dựng được cây quyết định hiệu quả,
đáng tin cậy, trước tiên ta phải lượng hóa dữ liệu nhằm có được tập dữ
liệu huấn luyện tốt nhất.
2.2.2. Phân tích dữ liệu để xây dựng tập huấn luyện
Qua kết quả khảo sát cũng như việc phân tích tình hình học sinh

bỏ học hiện nay, ta thấy có nhiều yếu tố ảnh hưởng dẫn đến việc bỏ
học của các em. Tuy nhiên, trong luận văn chỉ chọn lọc một số nguyên
nhân chủ yếu như sau:
Học lực (HL): Học lực được đánh giá thành 5 mức là: G (Giỏi),
K (Khá), TB (Trung bình), Y (Yếu), Ke (Kém).


12
Hạnh kiểm (HK): Là kết quả rèn luyện của học sinh. Hạnh
kiểm được xếp thành 4 mức tương ứng là Tốt (T), Khá (K), Trung
bình (Tb) và Yếu (Y).
Diện lưu ban(LB): Chia làm hai trường hợp
 Co: Là những học sinh thuộc diện ở lại lớp.
 Khong: Là những học sinh thuộc diện được lên lớp hoặc
học sinh mới tuyển đầu cấp.
Hồn cảnh gia đình (HCGD): Cần xem xét đến các trường hợp:
 Bình thường (BT): Là những học sinh đang có bố mẹ ni
dưỡng, quan tâm, có điều kiện để học tập.
 Khó khăn (KTKK): Kinh tế gia đình còn khó khăn, bố mẹ
làm ăn xa.
 Bố mẹ li hơn (CMLH): Là những học sinh có bố mẹ đã li
hơn, thiếu thốn tình cảm từ gia đình, khơng người quan tâm đến
việc học của các em.
 Mồ côi cha mẹ (MCCM): Học sinh mồ côi cha mẹ hoặc ở
với ông bà già yếu hoặc đang ở với người thân.
 Bạo lực gia đình (BLGD): Là những học sinh trong gia đình
thường xuyên bị bạo lực từ bố mẹ hoặc người thân.
Bỏ học (Bo_hoc): Là kết quả của việc áp dụng cây quyết định
dự báo khả năng bỏ học của học sinh. Ta chia thành 2 trường hợp:
Những học sinh có thể bỏ học (Yes) hoặc khơng (No).

Ta có các giá trị của các thuộc tính như sau:
HL

=

{G, K, TB, Y, Ke}

HK

=

{T, K, TB, Y}

LB

=

{Co, khong}

HC_GD =

{BT, KTKK, CMLH, MCCM, BLGD)

Bo_hoc =

{Yes, No}


13
Từ phân tích trên ta xây dựng bảng dữ liệu huấn luyện mẫu như sau:

TT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

Bảng 2.11. Bảng dữ liệu huấn luyện
HL

HK
HCGD
LB
Bo_hoc
G
K
BT
Co
No
G
T
KTKK
Co
No
G
TB
BT
Khong
No
K
K
MCCM
Co
No
K
T
BLGD
Khong
No
K

T
BT
Khong
No
K
TB
BLGD
Co
Yes
K
Y
MCCM
Co
Yes
Ke
TB
MCCM
Khong
Yes
Ke
Y
KTKK
Co
Yes
Ke
Y
CMLH
Khong
Yes
Ke

Y
KTKK
Khong
Yes
TB
K
KTKK
Co
No
TB
K
BT
Khong
No
TB
K
BLGD
Khong
Yes
TB
K
MCCM
Khong
Yes
TB
T
BT
Co
No
TB

T
KTKK
Co
No
TB
TB
MCCM
Khong
Yes
TB
Y
KTKK
Co
Yes
TB
Y
MCCM
Co
Yes
TB
Y
CMLH
Khong
Yes
Y
K
CMLH
Co
Yes
Y

T
BT
Khong
No
Y
TB
CMLH
Khong
Yes
Y
Y
BT
Khong
Yes


14
Từ bảng dữ liệu huấn luyện trên, áp dụng thuật toán C4.5 để
xây dựng cây quyết định cho bài toán dự báo khả năng bỏ học của học
sinh.
2.2.3. Triển khai giải thuật C4.5
Cây quyết định được xây dựng bằng cách mở rộng cây xuất
phát từ nút gốc. Ta sẽ xét 1 tập SN chứa các nút cần xử lý. Việc xử lý
tại mỗi nút bao gồm việc xem xét nút đó có phải là nút lá hay khơng.
Nếu là nút lá thì tìm quyết định đầu ra tương ứng. Ngược lại, nếu
khơng phải là nút lá, ta sẽ tìm thuộc tính để phân tích nút này, và từ đó
đưa ra thơng tin của các nút con xuất phát từ đó. Ban đầu tập SN chứa
một nút duy nhất là nút gốc, với các thông tin tương ứng được khởi
động. Ta sẽ tiến hành quá trình xử lý các nút trên trong tập SN.Với mỗi
nút ta sẽ thực hiện việc xử lý như mơ tả trên đây. Có 2 trường hợp như

sau: Nếu là nút lá, ta loại nó ra khỏi tập SN. Nếu không phải là nút lá,
ta cũng loại nó ra khỏi tập SN, đồng thời bổ sung các nút con của nó
vào tập SN. Như vậy, việc xử lý trên sẽ được thực hiện theo một vòng
lặp cho đến khi tập SN rỗng.
2.2.4. Xây dựng cây quyết định
Gọi S là tập thuộc tích đích. Có tất cả 26 ví dụ, trong đó:
- Yes xuất hiện trong tập thuộc tính đích 15 lần.
- No xuất hiện trong tập thuộc tính là đích 11 lần.
Áp dụng cơng thức tính Entropy, ta có:
Entropy(S) = - (15/26)log2(15/26) - (11/26)log2(11/26) =0.98
Đối với thuộc tính Học lực (HL), ta tính Entropy của các tập
con S được chia bởi các giá trị của thuộc tính HL như bảng sau:


15
Bảng 2.12. Entropy phân theo thuộc tính HL đối với tập S
Bo_hoc
HL
Số lượng
Entropy(i)
Yes
No
G
3
0
3
0
K
5
2

3
0.97
TB
10
6
4
0.97
Y
4
3
1
0.81
Ke
4
4
0
0
Entropy của S đối với thuộc tính HL là:
Entropy(S,HL)

= (3/26) x 0 + (5/26) x 0.97 + (10/26) x 0.97
+ (4/26) x 0.81 + (4/26) x 0 = 0.68

Độ lợi thông tin tương ứng là:
Gain(S,HL) = Entropy(S) – Entropy(S,HL) = 0.98 - 0.68 = 0.30
Tỷ suất lợi ích Gain Ratio:
SplitInfo(S,HL)= - (3/26) x log2(3/26) - (5/26)
log2(5/26) - (10/26) x log2(10/26)

x

-

(4/26) x log2(4/26) - (4/26) x log2(4/32) =
2.18
GainRatio(S,HL) = Gain(S,HL)/SplitInfo(S,HL)
= 0.30 / 2.18 = 0.14
Một cách tương tự, ta tính độ lợi thơng tin và tỉ suất lợi ích
GainRatio của các thuộc tính còn lại.
Bảng 2.13. Entropy phân theo tḥc tính HK
Bo_hoc
HK
Số lượng
Entropy(i)
Yes
No
T
6
0
6
0
K
7
3
4
0.99
TB
5
4
1
0.72

Y
8
8
0
0
GainRatio(S,HK) = 0.29


16
Bảng 2.14. Entropy phân theo tḥc tính HCGD
Bo_hoc
Số
HCGD
Entropy(i)
lượng
Yes
No
BLGD
3
2
1
0.92
BT
7
1
6
0.59
CMLH
4
4

0
0
KTKK
6
3
3
1.00
MCCM
6
5
1
0.65
GainRatio(S,HCGD) = 0.15
Bảng 2.15. Entropy phân theo tḥc tính LB
Bo_hoc
Số
LB
Entropy(i)
lượng
Yes
No
Co
12
6
6
1.00
Khong
14
9
5

0.94
GainRatio(S,LB) = 0.01
Từ những kết quả tính tốn trên, ta đưa ra được bảng so sánh
GainRatio của các thuộc tính HL, HK, HCGD, LB như sau:
Bảng 2.16. Bảng so sánh kết quả tính GainRatio của các tḥc tính
Thuộc tính
Gain
SpliInformation GainRatio
HL
0.30
2.18
0.14
HK
0.57
1.98
0.29
HCGD
0.33
2.26
0.15
LB
0.01
1.00
0.01
Ta nhận thấy GainRatio(S,HK) =0.29 đạt giá trị lớn nhất, do đó
thuộc tính HK có khả năng phân loại lớn nhất. Chính vì vậy ta sẽ chọn
thuộc tính này làm nút gốc phân nhánh cây.
Ứng với giá trị thuộc tính HK = “T”, có Entropy =0. Do đó, tại
nhánh này sẽ là nút lá có nhãn là No.
Ứng với giá trị thuộc tính HK = “Y”, có Entropy =0. Do đó, tại

nhánh này sẽ là nút lá có nhãn là Yes.


17
Ta có cây quyết định xuất phát từ nút gốc như sau:

Hình 2.4. Cây quyết định bắt đầu từ nút gớc
Xét nhánh HK = “K”, ta có bảng dữ liệu như sau:
TT
1
2
3
4
5
6
7

Bảng 2.17. Bảng dữ liệu trường hợp HK=“K”
HL
HK
HCGD
LB
G
K
BT
Co
TB
K
KTKK
Co

K
K
MCCM
Co
Y
K
CMLH
Co
TB
K
BT
Khong
TB
K
BLGD
Khong
TB
K
MCCM
Khong

Bo_hoc
No
No
No
Yes
No
Yes
Yes


Gọi S1 là tập thuộc tính đích, có tất cả 7 ví dụ, trong đó:
- Yes xuất hiện trong tập thuộc tích đích 3 lần.
- No xuất hiện trong tập thuộc tính đích 4 lần.
Áp dụng cơng thức Entropy ta có:
Entropy(S1) = - (3/7)log2(3/7) – (4/7)log2(4/7) = 0.99
Tiếp theo ta lần lượt tính GainRatio của các thuộc tính trên tập
S1 như trên, kết quả như sau:
Bảng 2.21. Bảng so sánh kết quả tính GainRatio của các tḥc tính
Thuộc tính
Gain
SpliInformation GainRatio
HL
0.42
1.66
0.25
HCGD
0.7
2.24
0.31
LB
0.13
0.99
0.13


18
Ta nhận thấy GainRatio(S1,HCGD) = 0.31 đạt giá trị lớn nhất,
do đó thuộc tính này sẽ được chọn làm nút phân nhánh tiếp theo.
Cách tính và chọn nút phân nhánh như trên ta được cây theo
nhánh HK= “K “ như sau:


Hình 2.5. Cây quyết định ứng với nhánh HK=“K”
Tương tự, với nhánh HK=“TB” ta xây dựng được cây như sau:

Hình 2.6. Cây quyết định ứng với nhánh HK=“TB”


19
Cây hồn chỉnh khi thực hiện thuật tốn C4.5 trên tập dữ liệu
huấn luyện như sau :

Hình 2.7. Cây quyết định hoàn chỉnh với tập dữ liệu huấn luyện S
2.2.5. Tạo luật từ cây quyết định
Từ cây quyết định trên, ta có thể rút ra được một số luật sau:
IF(HK=T) THEN Bo_hoc=No
IF(HK=K) &&(HCGD=BLGD)THEN Bo_hoc=Yes
IF(HK=K) &&(HCGD=BT) THEN Bo_hoc=No
IF(HK=K) &&(HCGD=MCCM)&&(LB=Co) THEN Bo_hoc=No
IF(HK=K) &&(HCGD=MCCM)&&(LB=Khong)THEN Bo_hoc=Yes
IF(HK=K) &&(HCGD=KTKK)THEN Bo_hoc=No
IF(HK=K) &&(HCGD=CMLH)THEN Bo_hoc=Yes
IF(HK=TB)&&(HCGD=BLGD)THEN Bo_hoc=Yes
IF(HK=TB)&&(HCGD=BT) THEN Bo_hoc=No
IF(HK=TB)&&(HCGD=CMLH)THEN Bo_hoc=Yes
IF(HK=TB)&&(HCGD=MCCM)THEN Bo_hoc=Yes
IF(HK=Y)THEN Bo_hoc=Yes


20
Từ việc phân tích các mẫu dữ liệu ban đầu, luận văn đã xây

dựng được một cây quyết định bằng cách ứng dụng thuật toán C4.5.
Tập luật được rút ra từ cây quyết định gồm 12 luật đơn giản, dễ
hiễu và dễ cài đặt, luận văn sẽ vận dụng tập luật này để xây dựng ứng
dụng dự báo về việc học sinh có khả năng bỏ học hay khơng.
2.3. Tởng kết chương 2
Chương này cũng trình bày cụ thể quá trình phân tích để xây
dựng tập dữ liệu huấn luyện, trình bày chi tiết q trình tính tốn,
chọn lựa thuật toán nhằm xây dựng một cây quyết định trực quan, có
khả năng phân loại đúng đắn tập dữ liệu cho trước và đồng thời rút ra
một tập các luật đơn giản sẽ áp dụng trong việc xử lý các tập dữ liệu
mới trong thực tế.
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH VÀ THỬ NGHIỆM
Chương này, trình bày về việc sử dụng cây quyết định để xây
dựng ứng dụng giải quyết bài toán dự báo khả năng bỏ học của học
sinh, gồm: mô tả các chức năng của hệ thống, đặc tả chi tiết các thành
phần của hệ thống, cài đặt thuật toán C4.5, thực hiện thử nghiệm
chương trình với dữ liệu thực tế, đánh giá kết quả thực hiện của hệ
thống và khả năng triển khai ứng dụng.
3.1. Xây dựng chương trình
3.1.1. Các chức năng của hệ thống
3.1.2. Kiến trúc tổng thể của hệ thống
3.1.3. Đặc tả chi tiết các thành phần
3.1.4. Cài đặt chương trình
3.1.5. Giao diện và các chức năng của chương trình.
3.2. Thử nghiệm chương trình
3.2.1. Huấn luyện cây quyết định
3.2.2. Thực nghiệm đánh giá



21
3.2.2.1. Phân tích
Tôi tiến chọn dữ liệu thực nghiệm là toàn bộ dữ liệu của học
sinh thuộc khối 11 tại trường THPT Vạn Tường để chạy kiểm thử hệ
thống, dữ liệu được trích xuất từ CSDL quản lí học sinh của đơn vị và
được nhập bổ sung thông tin dự báo có khả năng bỏ học hay khơng
(Yes/No) để so sánh đối chiếu với kết quả do hệ thống phân loại.
Sau khi thực hiện chức năng Thực nghiệm đánh giá ta thu
được kết quả với độ chính xác khá cao khi so sánh với kết quả dự
kiến. Trong tổng số 430 trường hợp thì có 400 trường hợp phân loại
đúng dự kiến đạt tỉ lệ 93% và 30 trường hợp dự đốn khơng đúng dự
kiến, tỉ lệ 7%. (Hình 3.12)
3.2.2.2. Đánh giá kết quả thử nghiệm
Sau khi đưa Hệ thống dự báo học sinh bỏ học vào kiểm nghiệm
thực tế với 430 mẫu dữ liệu, tôi rút ra được những nhận xét, đánh giá
một cách tương đối về hệ thống như sau:
 Hệ thống được triển khai cài đặt dễ dàng, dễ sử dụng.
 Hệ thống hoạt động ổn định, hiển thị kết quả nhanh chóng và
rất thuận tiện.
 Hệ thống đã xử lý và cho ra được những dự đốn có độ
chính xác cao (93%), đảm bảo độ tin cậy.
 Hệ thống cũng đưa ra được số liệu thống kê riêng cho từng
nguyên nhân bỏ học, ta thấy nguyên nhân bỏ học phần lớn là học sinh
có học lực Yếu (10%), Kém (100%); hạnh kiểm tập trung nhóm Trung
bình (11.01%) và yếu (100%); Hồn cảnh gia đình tập trung nhóm học
sinh có Cha mẹ lí hơn (100%) hoặc bạo lực gia đình (100%). Đây
cũng là kết quả phản ánh đúng thực tế với các trường hợp học sinh bỏ
học hiện nay.
 Kết quả dự báo của hệ thống là nguồn thơng tin vơ cùng hữu
ích cho Cán bộ quản lí, GVCN và gia đình học sinh để từ đó có những



22
quan tâm, sâu sát hơn, tìm hiểu được nguyên nhân các em muốn bỏ
học để kịp thời có những biện pháp phù hợp ngăn chặn. Chẳng hạn
với các em thuộc nhóm có nguy cơ bỏ học do thành tích học tập kém
thì Nhà trường có biện pháp kèm cặp giúp các em có phương pháp
học tập phù hợp để nâng cao thành tích học tập. Với những em có
thành tích học tập tốt nhưng vẫn thuộc nhóm có nguy cơ bỏ học thì
giáo viên cần gần gũi để tìm hiểu nguyên nhân tác động trực tiếp, từ
đó đưa ra biện pháp hợp lý nhằm ngăn chặn tình trạng bỏ học phổ biến
như hiện nay.
3.2.3. Triển khai sử dụng hệ thống
Với những kết quả đạt được trên dữ liệu thử nghiệm ta có thể
triển khai sử dụng hệ thống với dữ liệu thực tế tại đơn vị.
Tại trường THPT Vạn Tường và các trường THPT trên địa bản
tỉnh Quảng Ngãi hiện nay đang triển khai các ứng dụng quản lí CSDL
về học sinh như: quản lí các thơng tin cá nhân học sinh, hồn cảnh gia
đình cũng như thơng tin về quá trình rèn luyện và học tập của học sinh
như điểm, thơng tin về hạnh kiểm v.v…Vì vậy, ta có thể sử dụng dữ
liệu của CSDL đó để khai thác hệ thống dự báo học sinh bỏ học.
Ứng dụng này có thể được cài đặt trên máy tính của GVCN,
Cán bộ quản lí. Với việc sử dụng hệ thống dự báo này, tôi tin rằng
lãnh đạo nhà trường cũng như GVCN có thể biết sớm được thơng tin
học sinh có khả năng bỏ học hay khơng, để từ đó có các phương pháp
giáo dục phù hợp nhằm nâng cao chất lượng giáo dục, hạn chế tình
trạng học sinh bỏ học và thực hiện tốt các nhiệm vụ giáo dục của
ngành.
3.3. Tổng kết chương 3
Trong chương này, luận văn đã sử dụng bộ dữ liệu

Test_bochoc.xlsx để kiểm chứng thuật toán xây dựng cây quyết định
C4.5. Bộ dữ liệu này có 430 bản ghi với 4 thuộc tính, nó rất phù hợp


23
trong việc sử dụng cây quyết định để phân loại học sinh. Đồng thời,
dựa vào kết quả dự báo của hệ thống luận văn đã phân tích, đánh giá
kết quả thực nghiệm trên cơ sở đó có thể vận dụng hệ thống để xử lý
các tình huống trong thực tế.
KẾT LUẬN
1. Kết quả đạt được
Về lý thuyết, luận văn đã trình bày được cơ sở lý thuyết liên
quan đến khai phá dữ liệu, phân lớp dữ liệu, thuật toán xây dựng cây
quyết định C4.5. Nêu và phân tích được thực trạng, nguyên nhân học
sinh bỏ học với tỉ lệ cao hiện nay.
Luận văn này cũng sử dụng những lý thuyết trên để xây dựng
hệ thống phân tích, đánh giá dự báo khả năng bỏ học của học sinh.
Hệ thống xây dựng được các chức năng cơ bản để kiểm tra đánh
giá mức độ hiệu quả của thuật toán C4.5 và các chức năng khác phục
vụ trong công tác dự báo khả năng bỏ học của học sinh nhằm giúp cán
bộ quản lý, giáo viên chủ nhiệm có trước những thơng tin để từ đó có
phương pháp giáo dục phù hợp nhằm ngăn chặn tình trạng bỏ học phổ
biến như hiện nay.
Bước đầu hệ thống hoạt động hiệu quả với dữ liệu kiểm nghiệm
và cho kết quả với độ chính xác cao; hệ thống cũng phân tích, thống
kê được các nguyên nhân cụ thể nhằm giúp lãnh đạo nhà trường nắm
bắt thơng tin dự báo về tình hình học sinh bỏ học một cách chi tiết
hơn.
2. Hạn chế
Chưa kết nối và truy xuất dữ liệu trực tiếp với CSDL quản lí

học sinh tại đơn vị, dữ liệu vào cho hệ thống mới thực hiện được với
dạng file Excel. Do đó còn thao tác thủ công để lấy dữ liệu từ CSDL
của đơn vị chuyển sang Excel rồi mới đưa vào hệ thống để xử lí.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×