Thuật toán C4.5

Một phần của tài liệu 28029_1712202001911173DoMinhPhat.compressed (Trang 35)

1.3.3.1. Gíi thịu:

Thuật toán C4.5 cũng đ ợc phát triển b̉i Quinlan và công bố vào năm 1996. Thuật toán C4.5 là một thuật toán đ ợc c i tiến từ thuật toán ID3. Gi i thuật C4.5 là một gi i thuật học đơn gi n nh ng tỏ ra thành công trong nhiều lĩnh vực. C4.5 là một thuật toán hay vì cách biểu diễn tri th c học đ ợc c a nó, tiếp cận c a nó trong việc 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) {

1. Tính tón tần xuất ćc gí trị trong ćc ĺp của S; 2.If (Kỉm tra ćc mẫu, ńu thuộc cùng một ĺp hoặc có

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;

3.For (V́i m̃i thuộc tính A) Do (Tính gí trị GainRatio(S,A);

4. Ṭi nút N, tḥc hiện việc kỉm tra đ̉ cḥn ra thuộc tính có gí trị GainRatio ĺn nhất. G̣i N.test là thuộc tính có GainRatio ĺn nhất;

5.If (Ńu N.test là thuộc tính liên tục) Then (Tìm 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:

- Ńu N.test là thuộc tính liên tục t́ch theo ngưỡng ở bức 5

- Ńu N.test là thuộc tính phân lọi rời ṛc t́ch theo ćc gí trị của thuộc tính này.

Else

Ǵ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';

}

7. Tính tón ćc l̃i của nút N; Trả về nút N;

}

Trong thuật toán C4.5 cũng thực hiện các phép tính Entropy và Gain theo các công th c (1.1), (1.2), (1.3), (1.4) nh thuật toán ID3. Tuy nhiên, trong thuật toán C4.5 để việc chọn các thuộc tính phân nhánh cho cây đ t hiệu đ t hiệu qu hơn thì không chọn giá tṛ Gain c a thuộc tính có giá tṛ lớn nhất mà dùng t̉ suất lợi ích Gain Ratio lớn nhất để phân tách cây.

1.3.3.3. T sut ḷ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

( , ) ( ) 0 ( )

Gain S Mahs Entropy S Entropy S . Rõ ràng việc phân lớp 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ử ḍ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 | | | | ( ) log | | | | v j j A j S S SplitInfo S x S S (1.5)

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)

trong đó, hàm SplitInfo S A( , )làSplitInfo SA( ) (adsbygoogle = window.adsbygoogle || []).push({});

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)

= 0.54 / 1.53 = 0.29

T ơng tự

GainRatio(S, Hanh_kiem) = 0.34 GainRatio(S, Hoan_canh) = 0.12 GainRatio(S, Luu_ban) = 0.01

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íđ̣ phc ṭ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”.

Tuy 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.

CH 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ếmt̉ 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%. (adsbygoogle = window.adsbygoogle || []).push({});

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ọcngh̉ 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ọcnhiề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.

 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 ngkhiế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

qua những khó khăn trong học tập và cuộc sống nhằm ngăn chặn tình tr ng bỏ học giữa chừng nh hiện nay.

2.1.3. Khảo sát học sinh bỏ học

Từ thực tr ng và các nguyên nhân bỏ học c a học sinh, tôi tiến hành kh o sát để ńm các thông tin về tình hình bỏ học c a học sinh t i tr ng THPT V n T ng. Cách th c kh o sát:

 Từ ngùn thông tin đ ợc l u trữ t i tr ng về số liệu học sinh  Kh o sát trực tiếp từ học sinh

 Kh o sát thông qua giáo viên

Thông qua số liệu thống kê báo cáo c̀n l u trữ t i tr ng cho thấy học sinh bỏ học do rất nhiều nguyên nhân, tôi t m chia ra các nhóm nguyên nhân sau, để tiến hành kh o sát:

 Số học sinh bỏ học do học lực kém.

 Số học sinh bỏ học do điều kiện gia đình khó khăn.  Số học sinh bỏ học do các nguyên nhân khác.

* Khảo sát số liệu học sinh nghỉ học

B ng 2.1. Thống kê học sinh bỏ học TT Năm học số HST̉ng bỏ họcSố HS lệ%T̉ Trong đó Học lực yếu, kém Hoàn c nh gia đình Khác 1 2015-2016 1550 38 2.5 22 4 12 2 2016-2017 1500 40 2.7 25 3 12 3 2017-2018 1441 35 2.5 21 3 11

B ng số liệu trên cho thấy số l ợng học sinh ngh̉ học hằng năm ̉ tr ng THPT

Một phần của tài liệu 28029_1712202001911173DoMinhPhat.compressed (Trang 35)