Để 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 ḍng CNTT trong qu n lí để h n chế tình tr ng học sinh bỏ học, trong quá trình học
Trang 1TR ̀NGăĐ̣I ḤCăS ăPḤM
Trang 2Đ̃ MINH 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 ăḤC
Trang 3L ̀IăCAMăĐOAN
Tôi xin cam đoan:
Nh̃ng ṇi dung trong lụn văn ǹy do tôi tḥc hịn dứi ṣ hứng d̃n tṛc típ
c̉a PGS TS Ṽ Trung H̀ng
Ṃi tham kh̉o d̀ng trong lụn văn đ̀u đực tŕch d̃n r̃ r̀ng v̀ trung tḥc tên
t́c gỉ, tên công tr̀nh, th̀i gian, đ̣a đỉm công b́
Ṃi sao ch́p không ḥp ḷ, vi pḥm qui ch́ đ̀o ṭo, hay gian tŕ, tôi xin cḥu
hòn tòn tŕch nhịm
T ́c gỉ
Đ̃ Minh Ph́t
Trang 5K€t n6i tr�rc ti€p v6i h� th6ng co s6· do· li�u hi�n c6 t�1i d'n vi d€ thu�n lqi hm1 cho ngLrcri s.r d�mg trong qua trlnh khai thac h� th6ng
Tir khoa:
Khai pha do· li�u; cay quy€t dinh; phan 16p do· li�u; thu�t toan C4.5; h� th6ng d�r bao h9c sinh b6 h9c;
Trang 7Key word:
Data mining; decision tree; data classification; C4.5 algorithm; Student prediction system
Assoc Prof VO TRUNG HUNG DO MINHPHAT
Trang 8M CăL C
L ̀IăCAMăĐOAN i
DANH M C C ́C T̀ VI T T́T iv
DANH M C C ́C B NG v
DANH M C C ́C HỊNH vi
M ăĐ U 1
1 LỦ do chọn đề tài 1
2 Ṃc tiêu 2
3 Đối t ợng và ph m vi nghiên c u 2
4 Ph ơng pháp nghiên c u 2
5 ́ nghĩa c a đề tài 2
6 Bố c̣c c a luận văn 3
CH NGă1.ăTỔNGăQUANăV ăKHAIăPH́ăD ăLI U 4
1.1 Khai phá dữ liệu 4
1.1.1 Sơ l ợc về khai phá dữ liệu 4
1.1.2 Kĩ thuật khai phá dữ liệu 6
1.1.3 Các b ớc xây dựng hệ thống khai phá dữ liệu 8
1.1.4 ng ḍng c a khai phá dữ liệu 8
1.1.5 Kiến trúc c a một hệ thống khai phá dữ liệu 9
1.2 Phân lớp dữ liệu bằng cây quyết đ̣nh 10
1.2.1 Phân lớp dữ liệu 10
1.2.2 Quá trình phân lớp dữ liệu 10
1.2.3 Cây quyết đ̣nh 12
1.2.4 u điểm c a cây quyết đ̣nh 13
1.2.5 Xây dựng cây quyết đ̣nh 13
1.2.6 Rút ra luật từ cây quyết đ̣nh 14
1.3 Các thuật toán xây dựng cây quyết đ̣nh 15
1.3.1 Thuật toán CLS 15
1.3.2 Thuật toán ID3 18
1.3.3 Thuật toán C4.5 23
1.4 T̉ng kết ch ơng 1 26
CH NGă2.ă NGăD NGăCÂYăQUY TăĐ NHăD ăB́OăKH ăNĔNGăB ăḤCă C AăḤCăSINH 27
2.1 Tình hình bỏ học c a học sinh 27
2.1.1 Thực tr ng, nguyên nhân học sinh bỏ học 27
2.1.2 Hậu qu c a tình tr ng bỏ học 28
2.1.3 Kh o sát học sinh bỏ học 29
2.1.4 Phân tích nguyên nhân bỏ học c a học sinh 34
Trang 92.1.5 Gi i pháp xây dựng hệ thống 35
2.2 ng ḍng cây quyết đ̣nh 37
2.2.1 L ợng hóa dữ liệu để đ a vào thuật toán C4.5 37
2.2.2 Phân tích dữ liệu để xây dựng tập huấn luyện 38
2.2.3 Triển khai gi i thuật C4.5 40
2.2.4 Xây dựng cây quyết đ̣nh 42
2.2.5 T o luật từ cây quyết đ̣nh 53
2.3 T̉ng kết ch ơng 2 53
CH NGă3 XÂYăD NGăCH NGăTRỊNHăVĨăTH ăNGHI M 54
3.1 Xây dựng ch ơng trình 54
3.1.1 Các ch c năng c a hệ thống 54
3.1.2 Kiến trúc t̉ng thể c a hệ thống 54
3.1.3 Đặc t chi tiết các thành phần 55
3.1.4 Cài đặt ch ơng trình 57
3.1.5 Giao diện và các ch c năng c a ch ơng trình 58
3.2 Thử nghiệm ch ơng trình 59
3.2.1 Huấn luyện cây quyết đ̣nh 59
3.2.2 Thực nghiệm đánh giá 62
3.2.3 Triển khai sử ḍng hệ thống 65
3.3 T̉ng kết ch ơng 3 68
K T LU N 69
1 Kết qu đ t đ ợc 69
2 H n chế 69
3 H ớng phát triển 69
TĨIăLI UăTHAMăKH O 70
Trang 10DANH M C C ́C T̀ VI T T́T
TI NG VI T
CLS Concept Learning System
CNTT Công nghệ thông tin
DPL Data Pre – Processing Layer
KDD Knowledge Discovery in Databases
Trang 112.3 Kh o sát học sinh bỏ học thuộc diện l u ban 30
2.5 Kh o sát bỏ học từ học sinh 31 2.6 Kết qu kh o sát nguyên nhân học sinh bỏ bọc 31 2.7 Thống kê kh o sát học sinh bỏ học trong tình huống thực tế từ học sinh 32
2.8 Kh o sát sinh bỏ học từ giáo viên 32
2.10 B ng dữ liệu thu gọn từ dữ liệu qu n lí học sinh 38
2.12 Entropy phân theo thuộc tính HL đối với tập S 42 2.13 Entropy phân theo thuộc tính HK 43 2.14 Entropy phân theo thuộc tính HCGD 43 2.15 Entropy phân theo thuộc tính LB 44 2.16 B ng so sánh kết qu tính GainRatio c a các thuộc tính 44 2.17 B ng dữ liệu tr ng hợp HK=“K” 45 2.18 Entropy phân theo thuộc tính HL đối với tập S1 46 2.19 Entropy phân theo thuộc tính HCGD đối với tập S1 46 2.20 Entropy phân theo thuộc tính LB đối với tập S1 47 2.21 B ng so sánh kết qu tính GainRatio c a các thuộc tính 47 2.22 B ng dữ liệu tr ng hợp HK=“K” và HCGD=“MCCM” 48 2.23 Entropy phân theo thuộc tính HL đối với tập S2 48 2.24 Entropy phân theo thuộc tính LB đối với tập S2 48 2.25 B ng dữ liệu tr ng hợp HK=“TB” 49 2.26 Entropy phân theo thuộc tính HL đối với tập S3 50 2.27 Entropy phân theo thuộc tính HCGD đối với tập S3 50 2.28 Entropy phân theo thuộc tính LB đối với tập S3 51 2.29 B ng so sánh Ratio phân theo thuộc tính đối với tập S3 51 3.1 Thống kê t̉ lệ dự báo học sinh bỏ học theo Học lực 64 3.2 Thống kê t̉ lệ dự báo học sinh bỏ học theo H nh kiểm 64 3.3 Thống kê t̉ lệ dự báo học sinh bỏ học theo Hoàn c nh gia đình 64 3.4 Thống kê t̉ lệ dự báo học sinh bỏ học theo diện L u ban 65
Trang 12DANH M C C ́C HỊNH
Số hiệu
1.1 Quá trình phát hiện tri th c trong khai phá dữ liệu 5
1.6 Cây đ ợc t o khi thuộc tính “Hanh_kiem” đ ợc chọn 16
1.8 Cây đ ợc t o bằng thuật toán CLS theo th tự các thuộc tính Hanh_kiem,
Hoan_canh, Luu_ban
17
1.9 Cây đ ợc t o bằng thuật toán CLS theo th tự các thuộc tính Hoc_luc,
Hanh_kiem, Hoan_canh, Luu_ban
18
1.11 Cây đ ợc t o bằng thuật toán ID3 xuất phát từ thuộc tính Hanh_kiem 22
2.7 Cây quyết đ̣nh hoàn ch̉nh với tập dữ liệu huấn luyện S 52
Trang 13M ăĐ U
1 LỦădoăch năđ ătƠi
Trong những năm gần đây ngành Giáo ḍc Đào t o Qu ng Ngưi rất chú trọng đầu t đ a ng ḍng công nghệ thông tin vào tr ng học pḥc ṿ 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 ḍng và CSDL
đ ợc xây dựng pḥc ṿ công tác qu n lí Tuy nhiên hiệu qu các ng ḍ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 đề
1241/UBND-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 ḍc Đào
t o Qu ng Ngưi về việc tăng c ng các gi i pháp kh́c pḥ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ệ ḷy c tr ớc ḿ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ự đoá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 ḳ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
Để 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 ḍng CNTT trong qu n lí để h n chế tình tr ng học sinh
bỏ học, trong quá 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 ḍ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 ḍ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 QủngăNgãi” để làm luận
văn th c sĩ
Trang 142 M c tiêu
Ṃ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 ḍ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# Ngoà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 pḥc tình tr ng bỏ học c a học
sinh
Phạm vi nghiên c u
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
Trang 156 B ăc căc aălu năvĕn
Nội dung chính c a luận văn đ ợc chia thành 3 ch ơng nh sau:
Ch ngă1: Trình bày cơ s̉ lỦ thuyết làm nền t ng để xây dựng ng ḍ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, nguyên 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 ṿ ng ḍng thuật toá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 ḍ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 ḍ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
Trang 16CH 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
Th i đ i ngày nay, mỗi chúng ta đư từng nghe nói và ch ng kiến về sự tăng
tr ̉ng liên ṭc với tốc độ v ợt bậc về dung l ợng dữ liệu do con ng i kh̉i t o, l u giữ và truyền dẫn; sự tăng tr ̉ng này c̀n gọi là “hiện t ợng bùng n̉ thông tin” ớc tính c mỗi năm l ợng thông tin trên thế giới l i tăng lên kho ng 2 lần[1] Chính vì vậy, hiện nay dữ liệu mà con ng i thu thập và l u trữ trong các kho dữ liệu là vô cùng lớn, thậm chí lớn đến m c v ợt quá kh năng kiểm soát Cũng b̉i lỦ do này các nhà khoa học đư đề cập đến việc t̉ ch c l i dữ liệu sao cho hiệu qu , đáp ng đ ợc yêu cầu chất l ợng ngày càng cao nhằm hỗ trợ những nhà qu n lỦ ra quyết đ̣nh trong các t̉ ch c qu n lỦ tài chính, th ơng m i, khoa học,
Với l ợng dữ liệu tăng nhanh hàng năm, rõ ràng các ph ơng pháp th công truyền thống áp ḍng để phân tích dữ liệu sẽ không hiệu qu , tốn kém và dễ dẫn đến những sai lệch Do đó, để có thể sử ḍng hiệu qu hơn nữa các cơ s̉ dữ liệu (CSDL) lớn thì nhất thiết cần ph i có những kỹ thuật mới và kỹ thuật khai phá dữ liệu (KPDL)
đư đ ợc các nhà khoa học đề cập tới
Khai phá dữ liệu là một lĩnh vực khoa học mới, ra đ i vào những năm cuối thập
kỷ 80 c a thế kỷ XX, nhằm khai thác những thông tin, tri th c hữu ích, tiềm ẩn trong các CSDL c a các t̉ ch c, doanh nghiệp từ đó thúc đẩy kh năng s n xuất, kinh doanh, c nh tranh c a t̉ ch c, doanh nghiệp Các kết qu nghiên c u cùng với những
ng ḍng thành công trong khai phá dữ liệu, khám phá tri th c cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang l i nhiều lợi ích, đ̀ng th i có u thế hơn hẳn so với các công c̣ phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu
đ ợc ng ḍng rộng rưi trong các lĩnh vực nh : Phân tích dữ liệu hỗ trợ ra quyết đ̣nh, điều tṛ y học, tin-sinh học, th ơng m i, tài chính, b o hiểm, text mining, web
mining,
Có nhiều đ̣nh nghĩa khác nhau về khai phá dữ liệu Theo giáo s Tom Mitchell
[10] đ a ra đ̣nh nghĩa khai phá dữ liệu nh sau: “Khai phá dữ liệu là việc sử ḍng dữ liệu ḷch sử để khám phá những qui t́c và c i thiện những quyết đ̣nh trong t ơng lai” Với một cách tiếp cận ng ḍng hơn, tiến sĩ Fayyad đư phát biểu: “Khai phá dữ liệu
th ng đ ợc xem là việc khám phá tri th c trong các cơ s̉ dữ liệu, là một quá trình trích xuất những thông tin ẩn tr ớc đây ch a biết và có kh năng hữu ích, d ới d ng các qui luật, ràng buộc, qui t́c trong CSDL” C̀n các nhà thống kê thì xem “Khai phá
dữ liệu là quá trình phân tích đ ợc thiết kế thăm d̀ một l ợng cực lớn các dữ liệu
nhằm phát hiện ra các mẫu thích hợp hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp th c hóa các kết qu tìm đ ợc bằng cách áp ḍng các mẫu
đư phát hiện đ ợc cho tập con mới c a dữ liệu” Nói tóm l i khai phá dữ liệu là một
b ớc trong quá trình phát hiện tri th c mới từ những dữ liệu đư đ ợc thu thập đ ợc
Trang 17Nh vậy ta có thể khái quát hóa khái niệm KPDL là “qú tr̀nh kh̉o śt v̀ phân
t́ch ṃt lựng ĺn các d̃ lịu đực lưu tr̃ trong ćc CSDL, kho d̃ lịu,…đ̉ từ đó tŕch xuất ra ćc thông tin quan tṛng, có gí tṛ tìm ẩn bên trong”
Khám phá tri th c trong CSDL (Knowledge Discovery in Databaes – KDD) là ṃc tiêu chính c a KPDL, do vậy hai khái niệm KPDL và KDD đ ợc các nhà khoa học xem là t ơng đ ơng nhau Thế nh ng, nếu phân chia một cách chi tiết thì khai phá
dữ liệu là một b ớc chính trong quá trình KDD Hình 1.1 d ới đây mô t quá trình
phát hiện tri th c trong khai phá dữ liệu [1]
Hình 1.1 Quá trình phát hịn tri thức trong khai phá d̃ lịu
Quá trình KPDL có thể phân thành các giai đo n sau:
Chọn lọc: Là b ớc tuyển chọn những tập dữ liệu cần đ ợc khai phá từ các tập
dữ liệu lớn ban đầu theo một số tiêu chí nhất đ̣nh
Tiền xử lỦ dữ liệu: Là b ớc làm s ch dữ liệu (xử lỦ dữ liệu không đầy đ , không nhất quán ), t̉ng hợp dữ liệu (nén, nhóm dữ liệu, tính t̉ng, xây dựng các
histograms, lấy mẫu ), r i r c hóa dữ liệu (r i r c hóa dựa vào histograms,
entropy ) Sau b ớc tiền xử lỦ này, dữ liệu sẽ nhất quán, đầy đ , đ ợc rút gọn
và r i r c hóa
Biến đ̉i dữ liệu: Là b ớc chuẩn hóa và làm ṃn dữ liệu để đ a dữ liệu về
d ng thuận lợi nhất nhằm pḥc ṿ việc áp ḍng các kỹ thuật khai phá ̉ b ớc sau
Khai phá dữ liệu: Là b ớc áp ḍng những kỹ thuật phân tích (phần nhiều là các kỹ thuật học máy) nhằm khai thác dữ liệu, trích lọc những mẫu tin, những mối quan hệ đặc biệt trong dữ liệu Đây đ ợc xem là b ớc quan trọng và tốn th i gian nhất c a toàn bộ quá trình KDD
Đánh giá và biểu diễn tri th c: Những mẫu thông tin và mối quan hệ trong dữ liệu đư đ ợc phát hiện ̉ b ớc khai phá dữ liệu đ ợc chuyển sang và biểu diễn ̉
d ng gần gũi với ng i sử ḍng nh đ̀ tḥ, cây, b ng biểu và luật Đ̀ng th i
Trang 18b ớc này cũng đánh giá những tri th c khai phá đ ợc theo những tiêu chí nhất đ̣nh
1.1.2 Kĩ thuật khai phá dữ liệu
Theo nguyên lỦ, khi sử ḍng ph ơng th c KPDL để gi i quyết một vấn đề c̣ thể, cần ph i hình dung ra lo i vấn đề là gì Có thể t̉ng kết thành hai lo i chính, cũng liên quan đến các đối t ợng c a khai phá dữ liệu:
KPDL dự đoán (predictive method): là đ a ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện th i KPDL dự đoán bao g̀m các kỹ thuật phân lo i
(classification), h̀i quy (regression)
KPDL mô t (descriptive method): có nhiệm ṿ mô t về các tính chất hoặc đặc tính chung c a dữ liệu trong CSDL hiện có Bao g̀m các kỹ thuật: phân c̣m
(clustering), phân tích luật kết hợp (association rules), mẫu tuần tự (sequential
patterns)
1.1.2.1 Phân ĺp
Phân lớp là quá trình xây dựng một mô hình để mô t dữ liệu đ ợc phân chia
nh thế nào, nói cách khác, phân lớp là quá trình xây dựng một mô hình bằng cách gán các đối t ợng dữ liệu (thuộc tính) vào các lớp đư xác đ̣nh
Tiến trình phân lớp dựa trên 4 thành phần cơ b n:
Lớp (class)
Dự đoán (predictors)
Tập dữ liệu đ ợc đào t o (Training dataset)
Tập dữ liệu kiểm thử (Testing dataset)
Đặc tr ng c a tiến trình phân lo i g̀m những điểm sau:
Input: tập dữ liệu đào t o ch a những đối t ợng với thuộc tính c a nó, với một
số thuộc tính đư đ ợc gán nhãn (phân lớp);
Output: mô hình (classifier) đ ợc gán b̉i những nhưn c̣ thể cho mỗi đối
t ợng, dựa trên những thuộc tính khác;
Mô hình sử ḍng để dự đoán những lớp mới, những đối t ợng ch a biết Tập dữ liệu kiểm thử cũng dùng để xác đ̣nh độ chính xác c a mô hình Khi một
mô hình phân lo i đ ợc xây dựng, nó sẽ ph i so sánh với những mô hình khác để lựa chọn mô hình tốt nhất Liên quan đến việc so sánh giữa các mô hình phân lo i (mô hình phân lớp), sẽ có một số thành phần cần đ ợc tính đến:
Kh năng dự đoán (predictive accuracy)
Tốc độ (speed)
Độ m nh mẽ (robustness)
Độ mềm dẻo (scalability)
Trang 19 Tính dễ diễn gi i (interpreability)
Độ đơn gi n (simplicity)
1.1.2.2 Phân cụm
Nói đến phân c̣m, nghĩa là nói đến chia một tập dữ liệu thành một vài c̣m
(cluster), dựa trên việc xác đ̣nh những đặc điểm chung
Các đối t ợng thuộc một c̣m là t ơng tự nhau
Đối t ợng ̉ c̣m này sẽ ít t ơng tự với đối t ợng ̉ c̣m khác
Phân c̣m dữ liệu đ ợc sử ḍng nhiều trong các ng ḍng về phân đo n tḥ
tr ng, phân khúc khách hàng, nhận d ng mẫu, phân lo i trang web…
Ph ơng pháp này đ ợc sử ḍng hiệu qu trong các lĩnh vực nh qu ng cáo có
ch đích, phân tích quyết đ̣nh, qu n lỦ kinh doanh
1.1.2.4 M̃u tuần ṭ
Mẫu tuần tự là xác đ̣nh những mẫu mà sự xuất hiện c a chúng trong CSDL thỏa mưn ng ỡng tối thiểu Luật tuần tự đ ợc sinh ra từ mẫu tuần tự, biểu diễn mối quan hệ giữa hai lo t sự kiện, lo t sự kiện này sẽ x y ra sau lo t sự kiện kia, tuần tự theo th i gian, thể hiện tri th c tiềm ẩn c a dữ liệu tuần tự Khai thác mẫu tuần tự đ ợc ng ḍng trong nhiều lĩnh vực nh : phân tích tḥ tr ng, phân tích mẫu truy cập web, dự đoán nhu cầu mua śm c a khách hàng
1.1.2.5 Hồi quy
Ph ơng pháp h̀i quy là học một hàm ánh x một ṃc dữ liệu và một biến dự báo giá tṛ thực Phân tích h̀i quy sẽ xác đ̣nh đ ợc đ̣nh l ợng quan hệ giữa các biến,
và qu ng bá giá tṛ một biến pḥ thuộc vào giá tṛ c a những biến khác
Ph ơng pháp h̀i quy khác với phân lớp dữ liệu là h̀i quy dùng để dự đoán những giá tṛ liên ḷc, c̀n phân lớp dữ liệu là dự đoán các giá tṛ r i r c Các ng ḍng
c a ph ơng th c h̀i quy:
Kinh tế
Dự báo th i tiết
Trang 201.1.3 Các b ớc xây dựng hệ thống khai phá dữ liệu
B ớc 1: Xác đ̣nh ṃc tiêu bài toán B ớc đầu tiên trong quá trình khai phá dữ liệu đó là ph i xác đ̣nh rõ ṃc tiêu, nhiệm ṿ c a bài toán
B ớc 2: Thu thập dữ liệu Sau khi xác đ̣nh đ ợc ṃc tiêu, nhiệm ṿ c a bài toán, ta tiến hành thu thập các dữ liệu liên quan, ta có thể tiến hành chọn lọc các mẫu tiêu biểu để gi m độ lớn c a tập huấn luyện
B ớc 3: Làm s ch dữ liệu và chuyển đ̉i dữ liệu
Đây là một b ớc rất quan trọng trong dự án khai phá dữ liệu Ṃc đích c a làm
s ch dữ liệu là lo i bỏ những dữ liệu thừa, không nhất quán, có ch a nhiễu Quá trình làm s ch dữ liệu sẽ cố ǵng thêm giá tṛ vào những giá tṛ ḅ thiếu, làm ṃn các điểm nhiễu và sửa l i các dữ liệu không nhất quán
B ớc 4: Xây dựng mô hình Đối với mỗi bài toán trong khai phá dữ liệu đều có nhiều mô hình để gi i quyết Để lựa chọn chính xác mô hình nào tốt hơn là khó khăn, chúng ta nên thử gi i quyết bài toán bằng nhiều mô hình khác nhau r̀i tiến hành so sánh lựa chọn, để tìm ra mô hình tối u nhất, thích hợp nhất với bài toán đặt ra
B ớc 5: Đánh giá mô hình, đánh giá mẫu Sau khi áp ḍng một số các mô hình chúng ta sẽ đánh giá lựa chọn xem mô hình nào tốt hơn
B ớc 6: Báo cáo Sau khi xây dựng và đánh giá mô hình thích hợp, chúng ta nên
đ a ra các báo cáo dự đoán d ới d ng biểu đ̀ hay b ng số liệu
B ớc 7: Dự đoán Trong hầu hết các bài toán khai phá dữ liệu, tìm ra các mẫu ch̉
là một nửa c a yêu cầu, nửa yêu cầu c̀n l i là đ a ra các dự đoán
B ớc 8: Tích hợp vào ng ḍng Tích hợp khai phá dữ liệu và ng ḍng là b ớc cuối cùng trong khai phá dữ liệu Ṃc tiêu là đ a tri th c tìm kiếm đ ợc vào ng ḍng
B ớc 9: Qu n lỦ mô hình Mỗi một mô hình khai phá dữ liệu đều có một v̀ng
đ i phát triển Tuy vậy trong một số tr ng hợp các mẫu là thay đ̉i th ng xuyên, trong những tr ng hợp đó thì mô hình ph i đ ợc t o mới liên ṭc và việc t o ra mô hình mới là ph i tự động
Tin - sinh (Bio-informatics)
Khai phá dữ liệu văn b n, dữ liệu web (Textmining & Webmining)
Trong tài chính và tḥ tr ng ch ng khoán (Finace & Stock market)
Trang 21 Trong điều tṛ y học (Medical treatment)
Trong b o hiểm (Insurance)
Phát hiện gian lận (Fraud detection)
Các ng ḍng phát hiện và cô lập lỗi trên hệ thống m ng viễn thông (Network
fault isolation)
1.1.5 Kiến trúc c a một hệ thống khai phá dữ liệu
Hình 1.2 Kín trúc đỉn hình ḥ th́ng khai phá d̃ lịu
Kiến trúc điển hình c a một hệ thống khai phá dữ liệu đ ợc trình bày trong hình
1.2 [1] Trong kiến trúc hệ thống này, các ngùn dữ liệu cho các hệ thống khai phá dữ liệu bao g̀m hoặc CSDL, hoặc kho dữ liệu, hoặc World Wide Web, hoặc kho ch a dữ liệu kiểu bất kỳ khác, hoặc t̉ hợp các kiểu dữ liệu đư kể trên
Cơ s̉ tri th c, bao ch a các tri th c miền ng ḍng hiện có, đ ợc sử ḍng trong thành phần hệ thống khai phá dữ liệu để làm tăng tính hiệu qu c a thành phần này Một số tham số c a thuật toán khai phá dữ liệu t ơng ng sẽ đ ợc tinh ch̉nh theo tri
th c miền sẵn có từ cơ s̉ tri th c trong hệ thống Cơ s̉ tri th c c̀n đ ợc sử ḍng trong việc đánh giá các mẫu đư khai phá đ ợc xem chúng có thực sự hấp dẫn hay không, trong đó có việc đối ch ng mẫu mới với các tri th c đư có trong cơ s̉ tri th c Nếu mẫu khai phá đ ợc là thực sự hấp dẫn thì chúng đ ợc b̉ sung vào cơ s̉ tri th c
để pḥc ṿ cho ho t động tiếp theo c a hệ thống Nh vậy, ngùn tri th c b̉ sung vào
cơ s̉ tri th c ̉ đây không ch̉ từ lập luận logic theo các hệ toán logic để có tri th c
Trang 22mới, không ch̉ do con ng i hiểu biết thêm về thế giới khách quan để b̉ sung vào mà c̀n là tri th c đ ợc phát hiện một cách tự động từ ngùn 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
Phân lớp là một trong những mối quan tâm nhiều nhất c a con ng i trong quá trình làm việc với một tập hợp đối t ợng Điều này giúp con ng i có thể tiến hành việc śp xếp, tìm kiếm các đối t ợng một cách thuận lợi Khi biểu diễn đối t ợng vào các CSDL, tính chất lớp vốn có c a đối t ợng trong thực tế th ng đ ợc biểu diễn
t ơng ng bằng một thuộc tính “lớp” riêng biệt Chẳng h n, trong hệ thống thông tin
qu n lỦ th viện, thuộc tính về lo i t liệu có miền giá tṛ là tập tên chuyên ngành c a
t liệu, g̀m các giá tṛ nh “Tin học”, “Vật lỦ”; hay hệ thống qu n lí học sinh, thuộc tính về xếp lo i học lực có thể đ ợc phân thành các lớp Giỏi, Khá, Trung bình, Yếu,
Kém; … Tr ớc đây các công việc gán giá tṛ c a thuộc tính lớp th ng đ ợc làm một cách th công Nh ng hiện nay, với sự bùng n̉ c a thông tin và các lo i dữ liệu, việc đánh giá, thuộc tính lớp một cách th công là rất khó khăn, có thể nói là không thể Do vậy, các ph ơng pháp phân lớp tự động là rất cần thiết và là một trong những ch đề chính trong khai phá dữ liệu
Các CSDL th ng ch a nhiều thông tin ẩn – các thông tin có thể sử ḍng pḥc ṿ quá trình phân lớp Các gi i thuật phân lớp th ng phân tích dữ liệu nhằm tìm ra các mô hình mô t các lớp dữ liệu, từ đó có thể quyết đ̣nh đ ợc một phần tử dữ liệu mới là thuộc lớp nào
Việc tìm ra lớp c a một phần tử dữ liệu mới trong nhiều tr ng hợp có Ủ nghĩa rất quan trọng, nó hỗ trợ quá trình ra quyết đ̣nh thông minh, thậm chí là những quyết đ̣nh mang tính chất sống c̀n Ví ḍ, một nhân viên ngân hàng cho vay vốn rất muốn
có hệ thống có kh năng tự học từ các dữ liệu ḷch sử để có thể quyết đ̣nh đ ợc một đơn vay vốn mới là “an toàn” hay “m o hiểm” để từ đó có quyết đ̣nh phù hợp là cho
vay hay không, hay vay với số tiền bao nhiêu là hợp lỦ Hay một bác sĩ rất muốn có hệ thống hỗ trợ phân tích dữ liệu điều tṛ ḷch sử để dự đoán xem một bệnh nhân mới với những triệu ch ng thu đ ợc sẽ thuộc bệnh nào, trên cơ s̉ đó sẽ có các phác đ̀ điều tṛ
t ơng ng
1.2.2 Quá trình phân lớp dữ liệu
B n chất c a bài toán phân lớp là dự đoán các nhưn (hay lớp) c a các phần tử dữ liệu đầu vào và các nhưn (hay lớp) này là các giá tṛ r i r c Thông th ng các gi i
thuật phân lớp th ng ho t động thông qua 2 b ớc [1]:
B ớc th nhất: Xây dựng mô hình t̀ tập dữ liệu huấn luyện
b ớc này, nó sẽ phân tích dữ liệu đư gán nhãn để tìm ra mô hình phù hợp mô
t tập dữ liệu đó, b ớc này đ ợc gọi là bức ḥc (learning step) hay pha ḥc (learning
Trang 23phase) và tập dữ liệu gán nhãn pḥc ṿ quá trình này đ ợc gọi là d̃ lịu huấn luỵn
(training data)
Dữ liệu huấn luyện là ṭp ćc phần tử d̃ lịu (data point) có gán nhãn, hay còn
đ ợc gọi là b̉n ghi (tuple) mô t dữ liệu và nhưn t ơng ng c a b n ghi đó Một phần
tử dữ liệu X th ng đ ợc biểu diễn bằng một vector n chiều X ( , x x 1 2 , , xn)trong đó mỗi phần tử trong vector x ich a một giá tṛ biểu diễn thuộc tính (attribute) A i c a phần tử dữ liệu đó Một thuật ngữ khác cùng Ủ nghĩa với khái niệm thuộc tính là khái niệm đặc tr ng (feature) Vì nhưn c a các phần tử dữ liệu đ ợc đi kèm với dữ liệu
trong tập dữ liệu huấn luyện nên b ớc này c̀n đ ợc gọi là ḥc có gím śt (supervised
learning) Hay nói cách khác các gi i thuật phân lớp là thuộc lớp gi i thuật ḥc có
giám sát Về b n chất trong b ớc này, các gi i thuật phân lớp học ra hàm y f X( ) để
từ đó, khi có một phần tử X mới nó sẽ dự đoán ra nhãn Y t ơng ng với nó Theo khía
c nh này thì ta có thể thấy đ ợc b ớc th nhất này là quá trình học ra một hàm hay một ánh x nó có kh năng phân lo i đ ợc các lớp dữ liệu Tùy theo các gi i thuật
khác nhau mà hàm f X( ) này có thể có các d ng khác nhau nh ̉ d ng luật (rule), cây quyết đ̣nh (dicision tree) hay các công th c d ng toán học,…
H̀nh 1.3 Xây ḍng mô h̀nh
B ớc th hai: S̉ dụng mô hình, kỉm tra v̀ phân lớp
Sau khi học đ ợc hàm phân lớp, các gi i thuật có thể dùng để dự đoán các dữ liệu mới Tuy nhiên tr ớc khi đem gi i thuật vào ng ḍng trong thực tế, các gi i thuật
ph i tr i qua b ớc th 2 là b ớc kiểm tra hiệu năng c a chúng
Nếu độ chính xác c a mô hình đ ợc ớc l ợng dựa trên tập dữ liệu huấn luyện
thì kết qu thu đ ợc là rất kh quan vì mô hình luôn có xu h ớng qú ph̀ ḥp
(overfit) dữ liệu Quá phù hợp dữ liệu là hiện t ợng kết qu phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình phân lớp từ tập dữ liệu huấn luyện có thể đư kết hợp những đặc điểm riêng biệt c a tập dữ liệu đó Do vậy, để tránh hiện t ợng quá
Trang 24ph̀ ḥp, một tập dữ liệu khác gọi là ṭp d̃ lịu kỉm thử (testing set) sẽ đ ợc sử ḍng
để đo độ chính xác c a gi i thuật Thông th ng tập dữ liệu kiểm thử sẽ không ch a bất kỳ phần tử dữ liệu nào nằm trong tập dữ liệu huấn luyện Cũng giống tập dữ liệu huấn luyện, trong tập dữ liệu kiểm thử, từng phần tử dữ liệu cũng có nhưn đi kèm Các nhưn này đ ợc dùng để so sánh với nhưn đ ợc các gi i thuật phân lớp dự đoán Tỷ lệ
đoán đúng nhưn c a các gi i thuật phân lớp đ ợc gọi là đ̣ ch́nh x́c (accuracy) c a
gi i thuật Khi chất l ợng phân lớp c a các gi i thuật là chấp nhận đ ợc trong một miền dữ liệu c̣ thể nào đó, ta có thể dùng chúng để dự đoán lớp c a các phần tử dữ liệu mới hoàn toàn ch a biết tr ớc
H̀nh 1.4 Sử dụng mô h̀nh
Trong mô hình phân lớp, thuật toán phân lớp giữ vai tr̀ trung tâm, quyết đ̣nh tới
sự thành công c a mô hình phân lớp Do vậy chìa khóa c a vấn đề phân lớp dữ liệu là tìm ra đ ợc một thuật toán phân lớp nhanh, hiệu qu , có độ chính xác cao và có kh năng m̉ rộng đ ợc Trong đó kh năng m̉ rộng c a thuật toán đ ợc đặc biệt chú trọng và phát triển
1.2.3 Cây quyết định
Cây quyết đ̣nh là một trong những gi i pháp trực quan và hữu hiệu để mô t quá trình phân lớp dữ liệu Trên cây quyết đ̣nh, chúng ta tìm đ ợc các luật, những luật này cung cấp những thông tin hữu ích để hỗ trợ việc ra quyết đ̣nh gi i quyết một vấn đề nào đó
Trong lĩnh vực học máy, cây quyết đ̣nh là một kiểu mô hình dự báo (predictive
model), nghĩa là một ánh x từ các quan sát về một sự vật, hiện t ợng tới các kết luận
về giá tṛ ṃc tiêu c a sự vật, hiện t ợng Mỗi nút trong (Node) t ơng ng với một biến, đ ng nối giữa nó với nút con c a nó thể hiện giá tṛ c̣ thể cho biến đó Mỗi nút
lá đ i diện cho giá tṛ dự đoán c a biến ṃc tiêu, cho tr ớc các giá tṛ dự đoán c a các biến đ ợc biểu diễn b̉i đ ng đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng
Trang 25trong cây quyết đ̣nh đ ợc gọi là học bằng cây quyết đ̣nh, hay ch̉ gọi với cái tên nǵn gọn là cây quyết đ̣nh [1], [2]
Cây quyết đ̣nh là biểu đ̀ phát triển có cấu trúc d ng cây, nh mô t trong hình
vẽ sau:
Hình 1.5 Ví dụ v̀ cây quýt đ̣nh
Trong cây quyết đ̣nh:
Gốc: là node trên cùng c a cây
Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)
Nhánh: biểu diễn các kết qu c a kiểm tra trên node trong (mũi tên)
Node lá: biểu diễn lớp hay sự phân phối lớp (hình tr̀n)
1.2.4 u đỉm c a cây quyết định
So với các ph ơng pháp khai phá dữ liệu khác, cây quyết đ̣nh là ph ơng pháp có một số u điểm [1]:
Cây quyết đ̣nh t ơng đối dễ hiểu
Dễ tính toán khi phân lớp
Đ̀i hỏi m c xử lỦ tiền dữ liệu đơn gi n
Kh năng xử lỦ với c hai thuộc tính liên ṭc và r i r c
Kết qu dự đoán bằng cây quyết đ̣nh có thể thẩm đ̣nh bằng cách thống kê
1.2.5 Xây dựng cây quyết định
Xây dựng cây quyết đ̣nh là công đo n quan trọng nhất trong việc sử ḍng cây quyết đ̣nh để khai phá dữ liệu Quá trình xây dựng cây quyết đ̣nh g̀m ba b ớc cơ
b n sau:
Bức 1: Ṭo cây quýt đ̣nh
T i b ớc này việc t o cây quyết đ̣nh b́t đầu từ gốc, đến từng nhánh và phát triển quy n p theo cách th c chia để tṛ cho tới khi đ t đ ợc cây quyết đ̣nh với tất c các lá
Trang 26Ng ợc l i thì lặp l i b ớc 1 đến b ớc 4 cho từng node con
Bức 2: Cắt tỉa cây quýt đ̣nh
B ớc này nhằm ṃc đích đơn gi n hóa và khái quát hóa, từ đó làm tăng độ chính xác c a cây quyết đ̣nh bằng cách lo i bỏ sự pḥ thuộc vào m c độ nhiễu (noise) c a
dữ liệu huấn luyện mang tính chất thống kê, hay những sự biến đ̉i mà có thể là đặc tính riêng biệt c a dữ liệu huấn luyện B ớc này ch̉ truy cập dữ liệu trên cây quyết đ̣nh đư đ ợc phát triển trong b ớc 1 và quá trình thực nghiệm cho thấy b ớc này không tốn nhiều tài nguyên tính toán nh với phần lớn các thuật toán
Bức 3: Đ́nh gí cây
T i b ớc này cần đánh giá độ chính xác c a cây kết qu thu đ ợc Việc đánh giá cây kết qu khá đơn gi n bằng cách cho một tập dữ kiện vào và so sánh nhưn c a lớp
đư dự đoán với nhưn c a lớp trên thực tế đ t đ ợc Tiêu chí để đánh giá độ chính xác
c a cây quyết đ̣nh là tỷ số các mẫu đ ợc phân lớp chính xác trên t̉ng số các mẫu đ a
vào
1.2.6 Rút ra luật t̀ cây quyết định
Có thể chuyển đ̉i qua l i giữa mô hình cây quyết đ̣nh và mô hình d ng luật (IF…THEN…) Hai mô hình này là t ơng đ ơng nhau
Ví ḍ từ cây 1.5 ta có thể rút ra đ ợc các luật sau:
Trang 271.3 Ćcăthu tătónăxơyăd ngăcơyăquy tăđ nh
1.3.1 Thuật toán CLS
Thuật toán này đ ợc Hovland và Hint giới thiệu trong Concept Learning System (CLS) vào những năm 50 c a thế kỷ XX Sau đó gọi t́t là thuật toán CLS Thuật toán CLS đ ợc thiết kế theo chiến l ợc chia để tṛ từ trên xuống [8]:
Input: Tập dữ liệu huấn luyện, các thuộc tính c a tập dữ liệu huấn luyện và một
giá tṛ phân lo i
Output: Cây quyết đ̣nh
Thuật toán xây dựng cây quyết đ̣nh CLS
Ví ḍ: Xét bài toán “Dự báo học sinh bỏ học” ng với tập dữ liệu là b ng “Học
sinh” sau đây:
1 Ṭo một nút T, gồm tất 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 ḷ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 ḷi
{
Trang 28TT Hoc_luc Hanh_kiem Hoan_canh Luu_ban Du_bao
B ng dữ liệu trên là tập dữ liệu mẫu mô t dự báo học sinh có bỏ học hay không
Cây quyết đ̣nh đ ợc xây dựng theo thuật toán CLS nh sau:
1/ Chọn thuộc tính Hanh_kiem = {Y, TB, K, T} triển khai cây, ta có cây
H̀nh 1.6 Cây đực ṭo khi thục t́nh “Hanh_kiem” đực cḥn
Với giá tṛ thuộc tính Hanh_kiem=”Y”, giá tṛ Du_bao c a các mẫu [7,14] đều
nhận giá tṛ “Yes”, chúng thuộc cùng một lớp, nên đây là nút lá nhưn là “Yes” và với
giá tṛ thuộc tính Hanh_kiem = "T", giá tṛ Du_bao c a các mẫu [2,5,6,10,11,12] đều
nhận giá tṛ "No", nên nút lá t ơng ng với nhưn là "No"
2/ Tiếp theo chọn thuộc tính Hoan_canh để m̉ rộng cho nhánh bên trái, ta đ ợc
cây nh sau:
Trang 29H̀nh 1.7 Cây đực m̉ ṛng theo thục t́nh “Hoan_canh”
3/ T ơng tự nh vậy chọn thuộc tính Luu_ban để m̉ rộng nhánh ph i cho cây,
ta thu đ ợc cây nh sau:
H̀nh 1.8 Cây đực ṭo b̀ng thụt tón CLS theo thứ ṭ các thục tính
Hanh_kiem, Hoan_canh, Luu_ban Hình trên là cây kết qu thu đ ợc khi áp ḍng thuật toán CLS cho tập dữ liệu trong b ng 1.1 với th tự các thuộc tính Hanh_kiem, Hoan_canh, Luu_ban Nếu áp ḍng thuật toán CLS với th tự khác c a các thuộc tính ta sẽ thu đ ợc cây kết qu có hình d ng khác
Trang 30Tr ng hợp áp ḍng thuật toán CLS để xây dựng cây với th tự các thuộc tính
Hoc_luc, Hanh_kiem, Hoan_canh, Luu_ban thì cây kết qu có d ng nh sau:
H̀nh 1.9 Cây đực ṭo b̀ng thụt tón CLS theo thứ ṭ các thục tính Hoc_luc,
Hanh_kiem, Hoan_canh, Luu_ban
Với một tập mẫu dữ liệu huấn luyện nếu áp ḍng thuật toán CLS với th tự chọn thuộc tính triển khai cây khác nhau, sẽ cho ra các cây có hình d ng khác nhau Việc lựa chọn thuộc tính sẽ nh h ̉ng tới độ rộng, độ sâu, độ ph c t p c a cây Vì vậy một câu hỏi đặt ra là th tự thuộc tính nào đ ợc chọn để triển khai cây sẽ là tốt nhất Vấn
đề này sẽ đ ợc gi i quyết trong thuật toán ID3 d ới đây
1.3.2 Thuật toán ID3
1.3.2.1 Gíi thịu
Quinlan là ng i phát triển gi i thuật ID3 đ ợc công bố vào cuối thập niên 70
c a thế kỷ XX Gi i thuật ID3 đư tr̉ thành các h̀n đá t ng và nó m̉ đầu cho hàng
lo t các gi i thuật dựa trên học qui n p cây quyết đ̣nh (decision tree induction) Nhiệm ṿ c a gi i thuật ID3 là học cây quyết đ̣nh từ một tập các ví ḍ huấn luyện
(training example) hay c̀n gọi là dữ liệu huấn luyện (training data)
Gi i thuật ID3 áp ḍng cách tiếp cận tham ăn (greed) để xây dựng cây quyết đ̣nh
theo h ớng từ trên xuống (top -down) L u Ủ rằng đối với bất kỳ thuộc tính nào, chúng
ta cũng có thể phân vùng tập hợp các ví ḍ huấn luyện thành những tập con tách r i,
mà ̉ đó mọi ví ḍ trong một phân vùng (partition) có một giá tṛ chung cho thuộc tính
đó ID3 chọn một thuộc tính để kiểm tra t i nút hiện t i c a cây và dùng tŕc nghiệm này để phân vùng tập hợp các ví ḍ, thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng Việc này tiếp ṭc cho đến khi mọi thành viên c a phân vùng đều nằm trong cùng một lớp, lớp đó tr̉ thành nút lá c a cây
Trang 311.3.2.2 Gỉi thụt ID3
Input: Một tập hợp các ví ḍ S ch a dữ liệu huấn luyện Mỗi ví ḍ bao g̀m các
thuộc tính A và một giá tṛ phân lo i c a nó (Yes, No, )
Output: Cây quyết đ̣nh
Gi i thuật xây dựng cây quyết đ̣nh ID3 [5]:
1.3.2.3 Cḥn thục t́nh phân lọi t́t nhất
Quinlan là ng i đầu tiên đề xuất việc sử ḍng lỦ thuyết thông tin để t o ra các
cây quyết đ̣nh và công trình c a ông là cơ s̉ cho phần trình bày ̉ đây LỦ thuyết
thông tin c a Clause Shannon cung cấp khái niệm Entropy để đo độ thuần nhất c a
một tập hợp [3]
Khi tập ví ḍ là thuần nhất thì có thể nói: ta biết ch́c ch́n về giá tṛ phân lo i
c a một ví ḍ thuộc tập này, hay ta có l ợng thông tin về tập đó là cao nhất Khi tập ví
ḍ có độ pha trộn cao nhất, nghĩa là số l ợng các ví ḍ có cùng giá tṛ phân lo i cho
mỗi lo i là t ơng đ ơng nhau, thì khi đó ta không thể đoán chính xác đ ợc một ví ḍ
có thể có giá tṛ phân lo i là gì, hay nói cách khác l ợng thông tin có đ ợc về tập này
là ít nhất Vậy đều ta mong muốn ̉ đây là làm sao chọn thuộc tính để hỏi sao cho có
thể chia tập ví ḍ ban đầu thành các tập ví ḍ thuần nhất càng nhanh càng tốt Vậy
tr ớc hết ta cần có một phép đo độ thuần nhất c a một tập hợp, từ đó mới có thể so
sánh tập ví ḍ nào thì tốt hơn
Function ID3_Builder(S, A)
{
5 Lọi A.Best ra kh̉i ṭp thuộc t́nh A=A-A.best;
6 Foreach (giá trị a i của A.best)
Trang 321.3.2.4 Đ̣ ḷi thông tin
Độ lợi thông tin (Information Gain) là độ đo đ ợc sử ḍ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]:
2 1
S p
S , với Si là tập các phần tử dữ liệu trong tập Sthuộc lớp Ci; m là số l ợng các lớp trong S Hàm logarit cơ số 2 đ ợc sử ḍng là do
công th c trên đo l ợng thông tin theo đơn ṿ 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:
2 1
m
i i i
Entropy S Info S p p (1.2)
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í ḍ, thì thành viên c a S là một ví ḍ, mỗi ví ḍ thuộc cùng một lớp hay có
một giá tṛ phân lo i
Entropy có giá tṛ nằm trong kho ng [0 1]
Entropy(S)=0: Nếu tập S ch̉ toàn ví ḍ 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í ḍ thuộc các lo i khác nhau với độ pha trộn
cao nhất
0<Entropy(S)<1: Nếu tập S có số l ợng ví ḍ thuộc các lo i khác nhau là không
bằng nhau
H̀nh 1.10 Minh ḥa gí tṛ Entropy(S)
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á tṛ (r i r c) khác nhau là { , 2, ,a a1 av} Thuộc tính này phân chia tập
ữ liệu ành ập con đó à tập các phần tử dữ liệu có giá
Trang 33tṛ 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 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 Info SA( )để phân lớp chính xác tập con này L ợng
thông tin Info SA( )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 Ac̀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á tṛ 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]:
j
S Info S Entropy S A x Info S
S đ ợ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 Slà Gain S A( , )đ ợc tính bằng công th c [1], [11]:
AGain S A Info S Info S
Entropy S Entropy S A (1.4)
Giá tṛ 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á tṛ này càng lớn thì càng tốt, do đó thuộc tính có giá tṛ 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
Ví ḍ: Xét b ng dữ liệu “Học sinh” có bỏ hay hay không? Thuật toán ID3 sẽ học
cây quyết đ̣nh từ tập dữ liệu huấn luyện nh sau:
Gọi S là tập thuộc tích đích từ b ng dữ liệu “Học sinh” (b ng 1.1), ta nhận thấy trong tập thuộc tính đích S có 14 mẫu, trong đó có 6 mẫu thuộc lớp Yes và 8 mẫu thuộc lớp No
Do đó, theo công th c (1.2) ta có:
Entropy(S) = - (6/14)log2(6/14) - (8/14)log2(8/14) = 0.99
Đối với thuộc tính Hoc_luc, ta tính Entropy c a các tập con S đ ợc chia b̉i các giá tṛ c a thuộc tính Hoc_luc nh b ng sau:
B ng 1.2 Entropy phân theo thuộc tính Hoc_luc đối với tập S
Hoc_luc Số l ợng Bo_hoc Entropy(i)
Yes No
Trang 34Entropy c a S đối với thuộc tính Hoc_luc theo công th c (1.3) là:
Entropy(S, Hoc_luc) = (3/14) x 0 + (5/14) x 0.72 + (6/14) x 0.65 = 0.54
Độ lợi thông tin t ơng ng, theo công th c (1.4) là:
Gain(S, Hoc_luc) = Entropy(S) – Entropy(S, Hoc_luc) = 0.99 - 0.54 = 0.45
Một cách t ơng tự, độ lợi thông tin c a các thuộc tính c̀n l i là:
Tập con các mẫu ng với thuộc tính Hanh_kiem =”T” có Entropy=0, các mẫu
này có giá tṛ Du_bao =”No” nên nút lá ng với nhánh này là ”No”
Tập con các mẫu ng với thuộc tính Hanh_kiem =”Y” có Entropy=0, các mẫu
này có giá tṛ Du_bao =”Yes” nên nút lá ng với nhánh này là ”Yes”
Cây đ ợc t o với nút gốc Hanh_kiem nh sau:
H̀nh 1.11 Cây đực ṭo b̀ng thụt tón ID3 xuất ph́t từ thục t́nh Hanh_kiem
ng với nhánh Hanh_kiem=”K” và Hanh_kiem=”TB” ta cũng tính giá tṛ Gain
cho các thuộc tính và chọn thuộc tính có giá tṛ Gain lớn nhất để triển khai cây Quá
trình thực hiện cho đến khi hết tập S, ta thu đ ợc cây nh sau:
H̀nh 1.12 Cây hòn chỉnh đực ṭo b̀ng thụt tón ID3
Trang 35Với việc tính toán giá tṛ Gain để lựa chọn thuộc tính tối u cho việc triển khai cây, thuật toán ID3 đ ợc xem là một c i tiến c a thuật toán CLS Tuy nhiên thuật toá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 ṭc (numeric attribute) và khó khăn trong việc xử lỦ các dữ liệu thiếu (missing
data) và dữ liệu nhiễu (noisy data) Vấn đề này sẽ đ ợc gi i quyết trong thuật toán
qu n lỦ tính ph c t p, kinh nghiệm c a nó dùng cho việc chọn lựa các khái niệm ng viên và tiềm năng c a nó đối với việc xử lỦ dữ liệu nhiễu Thuật toán C4.5 cũng biểu diễn các khái niệm (concept) ̉ d ng các cây quyết đ̣nh (decision tree) Biểu diễn này cho phép chúng ta xác đ̣nh phân lo i c a một đối t ợng bằng cách kiểm tra các giá tṛ
c a nó trên một số thuộc tính nào đó [3], [9], [11]
1.3.3.2 Gỉi thụt C4.5 xây ḍng cây quýt đ̣nh
Input: Một tập hợp các ví ḍ S ch a dữ liệu huấn luyện Mỗi ví ḍ bao g̀m các
thuộc tính A và một giá tṛ phân lo i c a nó (Yes, No, )
Output: Cây quyết đ̣nh
Gi i thuật xây dựng cây quyết đ̣nh C4.5 [5]
Function C45_Builder(S,A)
{
rất ít mẫu khác ĺp) Then Return Ǵn nh̃n cho nút
Else Ṭo một nút quýt định N;
GainRatio(S,A);
tính có gí trị GainRatio ĺn nhất G̣i N.test là thuộc
cho ph́p t́ch của N.test);
{
// * S' đực t́ch ra theo quy t́c:
bức 5
ćc gí trị của thuộc tính này
If ( Kỉm tra, ńu S' r̃ng) Then Ǵn nút con này của
nút N là nút lá;
Trang 36Else
Ǵn nút con này là nút đực trả về bằng ćch g̣i đệ
qui ḷi đối v́i hàm C45_Builder(S'), v́i tập S';
1.3.3.3 Tỉ suất ḷ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á tṛ Ví ḍ, 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 dữ liệu sẽ t ơng ng với một b n ghi, do đó các tập
con này là hoàn toà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á tṛ độ lợi thông tin sẽ đ t giá tṛ tối đa
tính này là vô nghĩa
Do dó, trong gi i thuật C4.5 tác gi đư đề xuất sử ḍ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ử ḍng một ph ơng pháp
chuẩn hóa độ lợi thông tin bằng cách sử ḍng giá tṛ phân chia thông tin (Split
information) đ ợc đ̣nh nghĩa t ơng tự nh hàm Info S( ) [1], [11]:
2 1
Giá tṛ 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á tṛ 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]:
( , ) ( , )
( , )
Gain S A GainRation S A
SplitInfo S A (1.6)
Trang 37trong đó, hàm SplitInfo S A( , )làSplitInfo SA( )
Dựa trên độ đo này, các thuộc tính có giá tṛ 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( , ) 0thì
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á tṛ độ 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á tṛ trung bình độ lợi thông tin c a tất c các thuộc tính
Ví dụ: Với b ng dữ liệu “Học sinh”, theo thuật toán ID3 thì ta chọn Gain c a
thuộc tính có giá tṛ lớn nhất để phân nhánh cho cây thì trong thuật toán C4.5 ta tính
tiếp giá tṛ Gain Ratio cho các thuộc tính và chọn Gain Ratio c a thuộc tính có giá tṛ
lớn nhất
́p ḍng các công th c (1.5), (1.6) ta tính đ ợc giá tṛ Gain Ratio c a các thuộc
tính nh sau:
Tỷ suất lợi ích Gain Ratio:
SplitInfo(S,Hoc_luc) = - (3/14) x log2(3/14) - (5/14) x log2(5/14)
- (6/14) x log2(6/14) = 1.53 GainRatio(S,Hoc_luc) = Gain(S, Hoc_luc)/SplitInfo(S, Hoc_luc)
Ta nhận thấy, GainRatio(S, Hanh_kiem) có giá tṛ lớn nhất nên thuộc tính
Hanh_kiem đ ợc chọn làm nút gốc phân tách cây
Sau khi lập đ ợc cấp đầu tiên c a cây quyết đ̣nh ta l i xét các tập con ng với
các nhánh c a thuộc tính Hanh_kiem Tiếp ṭc tính Gain Ratio cho tập con ng với
nhánh Hanh_kiem =”K” và Hanh_kiem =”TB” và chọn thuộc tính có Gain Ratio lớn
nhất để phân tách cây Quá trình đ ợc tiếp ṭc thực hiện cho đến khi hết tập S
1.3.3.4 Đ́nh gí đ̣ phức ṭp c̉a thụt tón C4.5
Xét t i mỗi nút không ph i là nút lá (“non-leaf”) mà ̉ đó có C tr ng hợp và A
thuộc tính Với mỗi thuộc tính Ai c a A, ta ph i xét tất c các tr ng hợp Ci c a C
Nh vậy độ ph c t p t i mỗi nút non-leaf là (A*C)
Xét c cây quyết đ̣nh thì độ ph c t p sẽ là O(A*C*N), với N là số nút non-leaf
c a cây Kí hiệu O(Num) dùng để thể hiện độ ph c t p Đây là kí hiệu toán học, trong
tr ng hợp này có thể hiểu là số l ợng phép tính cần thiết c a thuật toán xấp x̉
“Num”
Trang 38Tuy nhiên, ta cần chú Ủ rằng, nếu đi theo chiều từ nút gốc đến các nút con r̀i
cháu…, số l ợng tr ng hợp C và số l ợng thuộc tính A t i mỗi nút non-leaf gi m đi
rất nhiều Do đó thuật toán sẽ hội ṭ rất nhanh
1.3.3.5 Phương ph́p đ́nh gí đ̣ hịu qủ
Một cây quyết đ̣nh sinh ra b̉i thuật toán C4.5 đ ợc đánh giá là tốt nếu nh cây
này có kh năng phân lo i đúng đ ợc các tr ng hợp hay ví ḍ sẽ gặp trong t ơng lai,
hay c̣ thể hơn là kh năng phân lo i đ ợc đúng các ví ḍ không nằm trong tập dữ liệu
huấn luyện
Để đánh giá m c độ hiệu qu c a một cây quyết đ̣nh ng i ta th ng sử ḍng
một tập ví ḍ tách r i, tập này khác với tập dữ liệu huấn luyện, để đánh giá kh năng
phân lo i c a cây trên các ví ḍ c a tập này Tập dữ liệu này gọi là tập kiểm tra
(validation set) Thông th ng, tập dữ liệu sẵn có sẽ chia thành 2 tập: tập huấn luyện
th ng chiếm 2/3 số ví ḍ và tập kiểm tra chiếm 1/3 số ví ḍ, hoặc ta dùng một tập dữ
liệu ngẫu nhiên có kết qu dự báo đ ợc đ a vào tr ớc, sau đó thực hiện hệ thống để
đ a ra kết qu dự báo từ việc thực hiện thuật toán C4.5, tiếp theo so sánh kết qu c a 2
tập dữ liệu này và đánh giá độ hiệu qu c a thuật toán
1.4 T ̉ng k tăch ngă1
Khai phá dữ liệu là một môn khoa học liên ngành: Cơ s̉ dữ liệu, học máy và thống kê toán học, nghiên c u các kỹ thuật nhằm phát hiện những thông tin có giá tṛ, tiềm ẩn trong các cơ s̉ dữ liệu lớn
Khai phá dữ liệu bằng cây quyết đ̣nh là một kỹ thuật trong số các kỹ thuật
th ng đ ợc sử ḍng để khai phá dữ liệu, nhằm tìm kiếm các tri th c có ích và hỗ trợ
ra quyết đ̣nh trong các công tác qu n lỦ c a các nhà lưnh đ o các cơ quan, t̉ ch c doanh nghiệp,
Thuật toán C4.5 th ng đ ợc sử ḍ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; ngoài ra nó c̀n xử lỦ đ ợc kiểu dữ liệu số
và r i r c, dữ liệu thiếu
Trang 39CH NGă2 NGăD NGăCÂYăQUY TăĐ NHăD ăB́OăKH ăNĔNGăB ăḤCăC Aă
Ḥ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 toá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 ḍ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
Hiện nay, hiện t ợng bỏ học c a học sinh đang là vấn đề đ ợc các nhà qu n lí giáo ḍc đặc biệt quan tâm Tình tr ng học sinh bỏ học đư đến m c báo động, nó không ch̉ x y ra ̉ vùng sâu, vùng xa, vùng đặc biệt khó khăn mà c̀n diễn ra ̉ các
tr ng vùng đ̀ng bằng, thành phố, trong đó có các tr ng học trên đ̣a bàn t̉nh Qu ng Ngưi Tr ng THPT V n T ng cũng chung tình tr ng đó
Hiện t ợng học sinh bỏ học ̉ các tr ng học trên đ̣a bàn t̉nh Qu ng Ngưi chiếm t̉ lệ cao, nhất là các tr ng ̉ vùng nông thôn, vùng sâu, vùng xa, các xã nghèo, ven
biển,… Theo thống kê c a S̉ GD&ĐT Qu ng Ngưi trong năm học 2016-2017 toàn t̉nh có 1.436 học sinh bỏ học Trong đó bậc tiểu học 24 em, THCS 571 em và THPT chiếm t̉ lệ cao nhất với 841 em Năm học 2017-2018, tính đến ngày 31/12/2017 toàn t̉nh có 602 học sinh bỏ học
Tr ng THPT V n T ng thuộc khu vực biên giới biển, kinh tế xư hội các xư trong vùng tuyển sinh c̀n nhiều khó khăn, vấn đề quan tâm đến việc học tập c a con
em ch a đ ợc pḥ huynh chú trọng nhiều nên t̉ lệ học sinh bỏ học c a tr ng thuộc nhóm cao so với mặt bằng chung trong t̉nh, số liệu thống kê học sinh bỏ học c a
tr ng qua các năm cho thấy thực tr ng này Năm học 2014-2015 có 35/1607 em chiếm t̉ lệ 2.18%; Năm học 2015-2016 có 38/1550 em chiếm t̉ lệ 2.45%; Năm học
2016-2017 có 40/1500 em chiếm t̉ lệ 2.67%
Học sinh bỏ học có nhiều nguyên nhân nh :
Học sinh học yếu không theo ḳp ch ơng trình, thua kiến th c b n, học yếu ḅ thầy phê bình… dẫn đến chán học ngh̉ học nhiều ngày r̀i bỏ học luôn
Gia đình nghèo đi làm thuê ̉ xa, để con em ̉ nhà với anh cḥ, ông, bà, hoặc
ng i thân Ng i thân thiếu quan tâm dẫn đến học sinh ngh̉ học nhiều, bỏ học
Do kinh tế gia đình khó khăn đư khiến nhiều học sinh ph i theo cha mẹ đi làm
xa, hoặc bỏ học để pḥ giúp công việc gia đình
Do b n tính ham chơi nhất là các tr̀ chơi điện tử, l i học, l i thiếu sự quan tâm c a thầy cô và gia đình th ng xuyên ngh̉ học đi chơi… dẫn đến ngh̉ học
Trang 40 Sự phối hợp giữa nhà tr ng, pḥ huynh học sinh ch a cao, nhiều pḥ huynh c̀n có t t ̉ng trông ch , phó mặc con em mình cho nhà tr ng Việc huy động học sinh đến tr ng và duy trì sĩ số c̀n nhiều t̀n t i h n chế
Công tác ch nhiệm c a giáo viên ch a thật sự đi vào chiều sâu
Nguyên nhân nữa là do các em ḿc bệnh, thiên tai, nhà xa tr ng, cha mẹ ly
hôn, m̀ côi cha mẹ,…
Học sinh bỏ học sẽ không đ ợc tu d ỡng đ o đ c th ng xuyên, không có đ̣nh
h ớng cho cuộc sống, dễ sa ngư vào những tệ n n xư hội và có thể ph i cḥu sự phán quyết c a Pháp luật Phần lớn những tệ n n xư hội đều xuất phát từ trình độ dân trí thấp, kém hiểu biết Pháp luật, do đó việc h n chế học sinh bỏ học có Ủ nghĩa đặc biệt quan trọng không những cho b n thân ng i học mà c̀n cho gia đình và xư hội
2.1.2 Hậu quả c a tình trạng bỏ học
Đối với các em nhà tr ng đóng một vai tr̀ rất quan trọng, đây là nơi cung cấp kiến th c khoa học nền t ng, là nơi t o mọi điều kiện để các em phát triển một cách toàn diện c thể chất lẫn tinh thần Vì vậy, nếu học sinh bỏ học sớm thì sẽ để l i hậu
qu rất lớn cho b n thân các em và xư hội
Đối với b n thân học sinh:
+ Các em sẽ ḅ thiếu ḥt một nền t ng tri th c cơ b n cần thiết cho cuộc sống, thiếu kiến th c dẫn đến kh năng nhận th c, tiếp thu và vận ḍng những kiến
th c khoa học trong thực tiễn h n chế nên khó nâng cao trình độ
+ Khó xin đ ợc việc làm tốt l ơng cao do không có trình độ mà ph i làm các công việc nặng nhọc, không ̉n đ̣nh, ít kĩ thuật, thu nhập thấp
+ Do ngh̉ học sớm nên kh năng lấy vợ/ch̀ng sớm sẽ tăng n n t o hôn + Sẽ c̀i cọc hơn các b n cùng trang l a do ph i tham gia lao động sớm, lao động nặng nhọc
+ Kh năng giao tiếp và văn hóa h n chế
Đối với xư hội
+ Khi bỏ học, tâm tr ng th ng chán ch ng khiến những học sinh này dễ ḅ kích động, lôi kéo Từ đó có thể hình thành nên một l ợng thanh thiếu niên thất học, lêu l̉ng, dễ sa vào các thói h tật xấu, ăn chơi, đua đ̀i quậy phá,… + Khi không có việc làm ̉n đ̣nh dẫn đến nhiều khó khăn trong cuộc sống, nếu không đ b n lĩnh các em sẽ thành tay sai c a các tệ n n xư hội nh trộm
c ớp, c b c, r ợu chè, nghiện hút, m i dâm, giết ng i,…
Dù nguyên nhân bỏ học c a học sinh là gì đi chăng nữa thì hậu qu c a nó để l i
là rất lớn Làm thế nào biết tr ớc đ ợc học sinh có kh năng sẽ bỏ học giữa chừng hay không, để phối hợp cùng gia đình các em có biện pháp ḳp th i giúp đỡ các em v ợt