Phạm vi nghiên cứu + Kỹ thuật phân l p: cây quy t đ nh, thuật toán ID3,thuật toán C4.5 và thuật toán Naive Bayes + Công c khai phá dữ liệu, SQL server và ngôn ngữ lập trình Visual Studi
Trang 1Đ IăH CăĐĨ N NG
NGUY NăTH ăBỊNHăMINH
TểNăĐ ăTĨI LU NăVĔN:
NGăD NGăKHAIăPHỄăD ăLI Uă XỂYăD NGăH H ăTR ăTUY NăSINHă
Chuyên ngành: Hệ th ng thông tin
Trang 4M CăL C
L IăCAMăĐOAN i
TịMăT TăĐ ăTĨI ii
DANHăM CăT ăVI TăT T v
DANHăM CăCỄCăB NG v
DANHăM CăCỄCăHỊNH vi
1 LỦ do ch n đề tài 1
2 M c tiêu và n i dung nghiên c u 2
3 Đ i t ợng và phạm vi nghiên c u 2
4 Ph ơng pháp nghiên c u 3
5 ụ nghĩa đề tài nghiên c u 3
6 K t quả dự ki n 3
7 B c c luận văn 3
CH NGă1ăăT NGăQUANăV PHỄT HI N TRI TH C VĨăKHAIăPHỄăD ăLI U 5
1.1 Phát hiện tri th c 5
1.2.Các b c trong phát hiện tri th c 5
1.3 Các ng d ng c a phát hiện tri th c 6
1.4 Khai phá dữ liệu 7
1.5 Mô hình khai phá dữ liệu 8
1.6 Các ph ơng pháp khai phá dữ liệu 9
1.7 K t luận Ch ơng 1 9
CH NGă2ăăK ăTHU TăKHAIăPHỄăD ăLI UăVĨă NGăD NG 11
2.1 Cây quy t đ nh 11
2.2 Đánh giá cây quy t đ nh trong lĩnh vực khai phá dữ liệu: 13
2.3 Thuật toán ID3 13
2.4 Thuật toán C4.5 19
2.5 Thuật toán Naive Bayes 28
2.6.Các giai đoạn c a quá trình khai phá dữ liệu 29
2.7 Khai phá dữ liệu trong giáo d c 30
2.8 Khai phá dữ liệu sinh viên Tr ng Đại h c Phạm Văn Đồng 31
2.9 K t luận Ch ơng 2 32
CH NGă3ăă NGăD NGăKHAIăPHỄăD ăLI UăTRONGăPHỂNăTệCHăVĨăH ăTR ă H CăSINHăCH NăNGĨNHăH CăVĨOăTR NGăĐ IăH CăPH MăVĔNăĐ NG 33
Trang 53.1 Gi i thiệu về Tr ng Đại h c Phạm Văn Đồng 33
3.2 Gi i thiệu về công c khai phá dữ liệu 35
3.3 Mô hình và bài toán xây dựng hệ hỗ trợ t v n tuyển sinh 37
3.4 Mô tả việc tổng hợp dữ liệu cho bài toán 39
3.5 Chu n hoá dữ liệu đ u vào cho thuật toán 40
3.6 Phân tích cơ s dữ liệu dữ liệu 48
3.7 Khai phá dữ liệu rút ra tri th c 51
3.8 Triển khai ch ơng trình 52
3.9 Hình ảnh trích ra từ ch ơng trình demo 53
K TăLU NăVĨăH NGăPHỄTăTRI N 55
1 K t luận 55
2 H ng phát triển 55
DANHăM CăTĨIăLI UăTHAMăKH O 57
Ti ng Việt 57
Ti ng Anh 57
Tài liệu internet 58
Trang 6DANH M C T VI T T T
CHXHCN C ng hòa xư h i ch nghĩa
UBND y ban nhân dân
THPT Trung h c phổ thông
KDD Knowledge Discovery in Databases
ID3 Decision tree
Sprint Scalable PaRallelization INduction of decisionTrees
Weka Waikato Environment for Knowledge Analysis
SQL Ngôn ngữ truy v n mang tính c u trúc(Structured Query
Bảng 2.3 Bảng dữ liệu về thu c tính TrinhDoCM 24
Bảng 2.4 Bảng dữ liệu về thu c tính LLChinhTri 24
Bảng 2.5 Bảng dữ liệu về thu c tính NgoaiNgu 24
Bảng 2.6 Bảng dữ liệu về thu c tính NgoaiNgu = yes 24
Bảng 3.1 Bảng c u trúc file excel dữ liệu c a luận văn 42
Bảng 3.2 Bảng m c đ quan tr ng c a các thu c tính 50
Trang 7DANH M C CÁC HÌNH
S ăhi uăcác
2.2 K t quả cây quy t đ nh v i dữ liệu bảng 2.1 18
2.5 Cây quy t đ nh hoàn chỉnh 27
3.2 Giao diện ph n mềm Weka 38 3.3 Mô hình giải pháp xây dựng hệ hỗ trợ tuyển sinh 38 3.4 Cơ s dữ liệu tuyển sinh c a Tr ng Đại h c Phạm Văn
3.5 Cơ s dữ liệu tuyển sinh c a Tr ng và điểm h c lực THPT 40
3.7 Giao diện l c thu c tính c a Weka 43 3.8 Giao diện sau khi loại b các thu c tính 44 3.9 Giao diện thi t lập thông s r i rạc hoá dữ liệu 45 3.10 Giao diện r i rạc hoá dữ liệu 46 3.11 K t quả dữ liệu r i rạc hoá 46
3.13 Chuyển kiểu dữ liệu cho thu c tính thành công 48 3.14 C u trúc file arff hoàn chỉnh 48 3.15 Giao diện x p hạng thu c tính 49 3.16 K t quả đánh giá mô hình 51 3.17 ng d ng mô hình cho tập dữ liệu kiểm tra 52
Trang 8M ăĐ U
1 L ýădoăch năđ ătƠi
Hiện nay, v i sự bùng nổ c a công nghệ thông tin, con ng i tr nên nh bé giữa kho ki n th c khổng lồ, giữa các sự lựa ch n phù hợp cho bản thân Giữa kho đại
d ơng tri th c, con ng i mu n tìm tri th c c n thi t cho bản thân tr nên khó khăn
và đôi lúc luôn có sự phân vân giữa các lựa ch n.Giải pháp khai phá dữ liệu, đặc biệt cây quy t đ nh là m t kỹ thuật tuyệt v i để giúp con ng i đ a ra những lựa ch n phù hợp v i bản thân
Nghề nghiệp c a m t cá nhân có Ủ nghĩa h t s c quan tr ng đ i v i sự phát triển kinh t , xư h i c a qu c gia nói chung và đ i v i cu c s ng c a mỗi cá nhân, gia đình nói riêng Giải quy t việc làm cho ng i lao đ ng, đặc biệt là lao đ ng trẻ là m t trong những v n đề quan tâm hàng đ u c a xư h i Hiện nay, ch t l ợng và cơ c u lao
đ ng Việt Nam còn nhiều b t cập, tình trạng d cung c u thi u v n còn phổ bi n
Mặc dù tình trạng h c v n c a lao đ ng không ngừng đ ợc cải thiện, hệ th ng văn bằng đ ợc nâng cao và m r ng nh ng tình trạng th t nghiệp v n ti p t c gia tăng
L ợng sinh viên t t nghiệp từ các tr ng đại h c,cao đẳng chính quy trong cả n c không có việc làm ngày càng nhiều, m t b phận sau khi t t nghiệp đại h c tr đảm nhận các công việc không c n bằng c p, hiện t ợng sinh viên sau khi t t nghiệp làm công nhân, hoặc làm các công việc không c n đ n trình đ đại h c đang d n không còn xa lạ
M t trong các nguyên nhân d n đ n đ n th tr ng lao đ ng c a Việt Nam có nhiều b t cập đó là nguồn nhân lực đ ợc đào tạo nh ng không đáp ng đ ợc yêu c u công việc Trong đó, nguyên nhân ch y u h c sinh, sinh viên ch a có đ nh h ng việc làm t ơng lai, ch a hiểu bản thân và nghề nghiệp mình ch n, ch a hiểu các yêu
c u nghề nghiệp c n Th ng ng i h c sinh, sinh viên ch n nghề theo cảm tính, theo bạn bè, đ nh h ng gia đình hay theo phong trào Và sau khi vào h c, h c sinh, sinh viên m i phát hiện bản thân không phù hợp v i ngành nghề mình ch n, d n đ n tình trạng chán nản, b bê việc h c, hoặc h c v i t t ng h c để có t m bằng, ra tr ng tính ti p Và k t quả ra tr ng v i thành tích không cao, đi làm v i ngành nghề đào tạo không h ng th , không tập trung, d n đ n ch t l ợng công việc không đạt yêu
c u, và các suy nghĩ tiêu cực về công việc Vì vậy, ch n nghề nghiệp phù hợp cho bản thân mỗi ng i, đặc biệt là h c sinh Trung h c phổ thông và m t b c ngoặc quan
tr ng c a mỗi đ i ng i
Hiện nay, tại khu vực Quảng Ngưi ch a có các ng d ng hỗ trợ h c sinh Trung
h c phổ thông ch n nghề Và Tr ng Đại h c Phạm Văn Đồng cũng ch a có ch ơng
trình t v n tuyển sinh nào tự đ ng để t v n nghề phù hợp cho h c sinh tr c khi h c
sinh ch n ngành đăng kỦ vào tr ng.V i tính c p thi t trên và yêu c u hiện nay thì việc thu hút h c sinh vào các Tr ng Đại h c, Cao đẳng là v n đề c n thi t và s ng
Trang 9còn c a đơn v Do đó, b phận t v n tuyển sinh r t quan tr ng V i Ủ t ng giúp các
em h c sinh ch n ngành h c cho đúng để có đ nh h ng nghề nghiệp cho t ơng lai
c a mình, bằng kỹ thuật khai phá dữ liệu, tôi nghiên c u đề tài “ ngăd ngăkhai phá
d ăli u xơyăd ngăh ăh ătr ătuy năsinhăt iăTr ngăĐ iăh căPh măVĕnăĐ ng” làm
luận văn t t nghiệp c a mình
2 M cătiêuăvƠăn iădungănghiênăc u
2.1 Mục tiêu của đề tài
- M c tiêu tổng quát: H ng đ n xây dựng ng d ng hỗ trợ tuyển sinh bằng kỹ thuật khai phá dữ liệu để hạn ch tình trạng ch n sai nghề c a h c sinh trong t ơng lai
và giảm tình trạng th t nghiệp hoặc làm trái nghề c a sinh viên Tr ng Phạm Văn Đồng sau khi ra tr ng
- M c tiêu c thể:
+ Nghiên c u các kỹ thuật khai phá dữ liệu
+ ng d ng các kỹ thuật khai phá dữ liệu để tạo ra ng d ng hỗ trợ h c sinh
ch n nghề phù hợp
+ ng d ng dễ sử d ng đ i v i ng i dùng cu i
2.2 Nội dung nghiên cứu
- Tổng quan về khai phá dữ liệu, tập dữ liệu m u, thuật toán ID3, thuật toán C4.5,thuật toán Naive Bayes và cây quy t đ nh
- Quy trình tuyển sinh c a tr ng:
3 Đ iăt ngăvƠăph măviănghiênăc u
+ Kỹ thuật khai phá dữ liệu c thể là cây quy t đ nh thuật toán ID3, thuật toán
C4.5 và thuật toán Naive Bayes
+ H c sinh, thí sinh tự do
+ Quy trình tuyển sinh và quy ch xét tuyển
3.2 Phạm vi nghiên cứu
+ Kỹ thuật phân l p: cây quy t đ nh, thuật toán ID3,thuật toán C4.5 và thuật
toán Naive Bayes
+ Công c khai phá dữ liệu, SQL server và ngôn ngữ lập trình Visual Studio trên nền Web
+ Công tác t v n tuyển sinh Tr ng Đại h c Phạm Văn Đồng
Trang 104 P h ngăphápănghiênăc u
4.1 Nghiên cứu lý thuyết
- Nghiên c u về khai phá dữ liệu và các tài liệu liên quan
- Nghiên c u thực trạng tuyển sinh tại tr ng Đại h c Phạm Văn Đồng, tìm hiểu nhu c u thực t c a ng i h c, m t s tiêu chí cơ bản c a các nhà tuyển d ng và nhu c u việc làm ngoài xư h i
4.2 Nghiên cứu thực nghiệm
- Ti n hành xây dựng các giải pháp và xây dựng ng d ng đánh giá
- Phân tích thi t k cơ s dữ liệu tuyển sinh và k t quả h c tập c a Sinh viên từ
đó so sánh và dự đoán k t quả h c tập c a từng ngành, xây dựng hệ th ng ch ơng trình ng d ng, triển khai xây dựng ch ơng trình ng d ng, kiểm tra, thử nghiệm và đánh giá k t quả
5 ụănghƿaăđ ătƠiănghiênăc u
5.1 Ý nghĩa khoa học
- Tìm hiểu cây quy t đ nh trong khai phá dữ liệu
- Xây dựng ra m t hệ th ng t v n hỗ trợ t v n tuyển sinh c a tr ng
6 K tăqu ăd ăki n
- Xây dựng đ ợc hệ hỗ trợ tuyển sinh c a Tr ng dựa trên lỦ thuy t khai phá
Trang 11Lu năvĕnăg mă3ăch ng:
Ch ngă1:ăT ngăquanv phátăhi nătriăth căvƠ khaiăpháăd ăli u
Trình bày tổng quan về phát hiện tri th c, khai phá dữ liệu, m i liên hệ giữa phát hiện tri th c và khai phá dữ liệu Ch ơng này tìm hiểu về các ph ơng pháp khai phá dữ liệu, các mô hình khai phá dữ liệu,ầ
Ch ngă2:K ăthu tăKhaiăpháăd ăli uvƠă ngăd ng
Ch ơng này tìm hiểu về các kỹ thuật khai phá dữ liệu, đặc biệt kỹ thuật khai phá dữ liệu bằng cây quy t đ nh Ngoài ra ch ơng còn gi i thiệu ng d ng khai phá dữ liệu trong lĩnh vực giáo d c, và h ng ng d ng khai phá dữ liệu tại Tr ng Đại h c
dữ liệu thực nghiệm cho bài toán, xác đ nh đ chính xác cây quy t đ nh, xây dựng tập luật và k t quả thực nghiệm khi h c sinh thực hiện ch n nghề trên hệ th ng ch n nghề,ầ
K tălu n vƠăh ngăphátătri n
Danhăm cătƠiăli uăthamăkh o
Trang 12C H NG 1 T NG QUAN V PHỄT HI N TRI TH C VÀKHAI
PHÁ D LI U
Ch ơng này trình bày tổng quan về phát hiện tri th c, khai phá dữ liệu, quy
trình phát hiện tri th c, các v n đề chính c a khai phá dữ liệu, các ph ơng pháp, các
nghiệp v trong khai phá dữ liệu
1.1 Phát hi n tri th c
Kh ái ni m: Ngoài thuật ngữ phát hiện tri th c, ng i ta còn dùng m t s thuật
ngữ khác có Ủ nghĩa t ơng tự nh phân tích dữ liệu/m u, khai m dữ liệu, khai phá dữ liệuầ Nh ng tóm lại, về bản ch t phát hiện tri th c liên quan đ n việc phân tích các
dữ liệu và sử d ng các kỹ thuật đặc biệt để tìm ra các m u đặc tr ng trong m t tập dữ liệu khổng lồ Có nhiều đ nh nghĩa về phát hiện tri th c đư đ ợc các tác giả khác nhau
đ a ra, theo đ nh nghĩa c a Fayyad: “KDD (Knowledge Discovery in Databases)là quá trình không t m th ng c a việc xác đ nh các m u tiềm n có tính hợp lệ, m i lạ, có ích và có thể hiểu đ ợc trong dữ liệu”[3]
Ti n trình khai phá tri th c bao gồm các giai đoạn: Chu n b dữ liệu, tìm ki m
mô hình, khai phá dữ liệu, đánh giá m u và sử d ng tri th c khai phá đ ợc Thuật ngữ
“m u tiềm n” đ ợc hiểu là m i quan hệ trong dữ liệu chẳng hạn nh những sinh viên
h c gi i toán và ti ng Anh thì có điểm trung bình cu i khóa cao, “hợp lệ” b i vì ch ng minh đ ợc tính đúng c a mô hình Thuật ngữ “m i lạ” hàm Ủ rằng những m u khai
phá đ ợc là không bi t tr c
1.2.C ácăb c trong phát hi n tri th c
Quá trình phát hiện tri th c đ ợc ti n hành qua 6 giai giai đoạn sau:
Hìnhă1.1:ăQuáătrìnhăphátăhi nătriăth c
Trang 13Phát hiện tri th c bao gồm nhiều giai đoạn đ ợc lặp đi lặp lại nhiều l n mà
không c n phân biệt từng b c trong quá trình thực hiện
Giai đoạn 1:Ch n l c dữ liệu Là việc tìm hiểu lĩnh vực ng d ng từ đó hình
thành bài toán, xác đ nh các nhiệm v c n phải hoàn thành B c này s quy t đ nh cho việc rút ra đ ợc các tri th c hữu ích và cho phép ch n các ph ơng pháp khai phá
dữ liệu thích hợp v i m c đích ng d ng cùng v i bản ch t c a dữliệu
Giai đoạn 2: Tiền xử lỦ dữ liệu (xử lỦ thô) B c này còn đ ợc g i là tiền xửlỦ
dữ liệu nhằm loại b nhiễu (dữ liệu d thừa), làm sạch dữ liệu, xử lỦ và khắc ph c v n
đề thi u hoặc thừa dữ liệu, bi n đổi dữ liệu và rút g n dữ liệu n u c n thi t B c này
th ng chi m nhiều th i gian nh t (b c quan tr ng) trong toàn b quy trình phát hiện trith c
Giai đoạn 3:Chuyển đổi dữ liệu Thực hiện bi n đổi dữ liệu, ch n lựa m ts
ph ơng pháp Phân loại (Classification), hồi quy (Regression), phân nhóm (Clustering), quy nạp, tổng hợp k t quả(Summarization)
Giai đoạn 4: Khai phá dữ liệu Quá trình này trích ch n, chi t xu t ra các m u
hay các mô hình tiềm n d i các dữ liệu có Ủ nghĩa, hiểu đ ợc Giai đoạn này r t quan tr ng, bao gồm các công đoạn nh : ch c năng, nhiệm v và m c đích khai phá
dữ liệu, dùng ph ơng pháp khai phá nào là thíchhợp?
Giai đoạn 5: Đánh giá các m u.Trong giai đoạn này, các m u dữ liệu đ ợc
chi t xu t b i các ph n mềm khai phá dữ liệu Không phải b t c m u nào cũng đều có ích, thậm chí còn b sai lệch Chính vì vậy, c n phải xác đ nh và lựa ch n những tiêu chu n đánh giá sao cho s chi t xu t ra các tri th c c n thi t Giai đoạn này đánh giá
đ tin cậy c a mô hình khai phá đ ợc cũng nh tính hữu d ng c a các mô hình đ i v i các m c tiêu đ ợc xác đ nh ban đ u
Giai đoạn 6: Hiểu và sử d ng tri th c đư tìm đ ợc Giai đoạn này làm sáng t
các mô tả và dự đoán Các b c trên có thể lặp đi lặp lại m t s l n, k t quả thu đ ợc
có thể đ ợc l y trên t t cả các l n thựchiện
Tóm lại: Quá trình phát hiện tri th c từ trong kho dữ liệu (KDD – Knowledge Discovery Database) là quá trình chi t xu t ra tri th c từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan tr ng nh t
1.3 C ác ng d ng c a phát hi n tri th c
Hiện nay, có khá nhiều các ng d ng c a khai phá dữ liệu và khám phá tri th c
đ ợc triển khai, đem lại hiệu quả cao trong thực t , ph c v cho sản xu t kinh doanh
và nghiên c u khoa h c
Trang 14Trong khoa h c, m t trong những ngành ng d ng chính là thiên văn h c Hệ
th ng SKICAT dùng để phân tích ảnh, phân loại và x p nhóm các vật thể không gian
từ các ảnh quan sát vũ tr Hệ th ng này đ ợc dùng để xử lỦ 3 terabytes dữ liệu ảnh từ Đài thiên văn Palomar, v i khoảng 1 tỉ vật thể không gian phát hiện đ ợc SKICAT có thể làm đ ợc những công việc tính toán cực l n trong việc phân loại các ảnh vật thể
b t hợp pháp
Trong lĩnh vực giáo d c: ng d ng khai phá dữ liệu nhằm giải đáp các câu h i quan tr ng, làm sáng t ti n trình h c tập từ đó hỗ trợ cho các nhà quản lỦ giáo d c trong việc ra quy t đ nh để nâng cao hiệu su t giảng dạy và h c tập ng d ng khai phá dữ liệu trong hệ th ng đào tạo trực tuy n nhằm phân tích hành vi c a ng i h c
1.4 Khai ph á d li u
Khai phá dữ liệu là m t khái niệm ra đ i vào những năm cu i c a thập kỷ 1980
Nó là quá trình khám phá thông tin n đ ợc tìm th y trong các cơ s dữ liệu và có thể xem nh là m t b c trong quá trình khám phá tri th c Data Mining là giai đoạn quan
tr ng nh t trong ti n trình khai phá tri th c từ cơ s dữ liệu, các tri th c này hỗ trợ trong việc ra quy t đ nh trong khoa h c và kinh doanh
Để hình dung v n đề này ta có thể sử d ng m t ví d đơn giản nh sau: Khai phá dữ liệu đ ợc ví nh tìm m t cây kim trong đ ng c khô Trong ví d này, cây kim
là m t mảnh nh tri th c hay m t thông tin có giá tr và đ ng c khô là m t kho cơ s
dữ liệu r ng l n Nh vậy, những thông tin có giá tr tiềm n trong kho cơ s dữ liệu
s đ ợc chi t xu t ra và sử d ng m t cách hữu ích nh khai phá dữ liệu Ch c năng khai phá dữ liệu gồm có g p nhóm phân loại, dự báo, đoán và phân tích các liên k t Năm 1989 Fayyad, Smyth và Piatestsky-Shapiro đư dùng khái niệm phát hiện tri th c
từ cơ s dữ liệu (Knowledge Discovery in Database-KDD) Trong đó, khai phá dữ liệu
là m t giai đoạn r t đặc biệt trong toàn b quá trình, nó sử d ng các kỹ thuật để tìm ra
các m u từ dữ liệu [7]
Khai phá dữ liệu (data mining) là quá trình tính toán để tìm ra các m u trong các b dữ liệu l n liên quan đ n các ph ơng pháp tại giao điểm c a máy h c, th ng kê
Trang 15và các hệ th ng cơ s dữ liệu Đây là m t lĩnh vực liên ngành c a khoa h c máy tính.M c tiêu tổng thể c a quá trình khai thác dữ liệu là trích xu t thông tin từ m t b
dữ liệu và chuyển nó thành m t c u trúc dễ hiểu để sử d ng ti p.Ngoài b c phân tích thô, nó còn liên quan t i cơ s dữ liệu và các khía cạnh quản lỦ dữ liệu, xử lỦ dữ liệu
tr c, suy xét mô hình và suy luận th ng kê, các th c đo thú v , các cân nhắc ph c tạp, xu t k t quả về các c u trúc đ ợc phát hiện, hiện hình hóa và cập nhật trực tuy n Khai thác dữ liệu là b c phân tích c a quá trình “khám phá ki n th c trong cơ
s dữ liệu” hoặc KDD
Chúng ta có thể hiểu m t cách sơ l ợc rằng khai phá dữ liệu là quá trình tìm
ki m thông tin hữu ích, tiềm n và mang tính dự báo trong các cơ s dữ liệu l n Khai phá dữ liệu là c t lõi c a quá trình khám phá tri th c Khai phá dữ liệu là nhằm tìm ra những m u m i, m u có tính ch t không t m th ng, những thông tin tiềm n mang tính dự đ ng ch a đ ợc bi t đ n và có khả năng mang lại ích lợi
1.5 Môăhìnhăkhaiăpháăd ăli u
Mô hình khai phá dữ liệu là m t mô tả về m t khía cạnh c thể c a m t tập dữ liệu Nó tạo ra các giá tr đ u ra cho tập các giá tr đ u vào
Víăd : Mô hình hồi qui tuy n tính, mô hình phân l p, mô hình phân nhóm
M t mô hình khai phá dữ liệu có thể đ ợc mô tả 2 m c:
- M c ch c năng (Function level): Mô tả mô hình bằng những thuật ngữ về dự
đ nh sử d ng Ví d : phân l p, phân nhóm
- M c biểu diễn (representation level): Biểu diễn c thể m t mô hình
Víăd : Mô hình log-linear, cây phân l p, ph ơng pháp láng giềng g n nh t Các
mô hình khai phá dữ liệu dựa trên 2 kiểu h c: Có giám sát và không giám sát (đôi khi
đ ợc nói đ n nh là h c trực ti p và không trực ti p – directed and undirected
learning)
Các hàm h c có giám sát (Supervised learning functions) đ ợc sử d ng để dự đoán giá tr Các hàm h c không giám sát đ ợc dùng để tìm ra c u trúc bên trong, các quan hệ hoặc tính gi ng nhau trong n i dung dữ liệu nh ng không có l p hay nhưn nào
đ ợc gán u tiên Ví d c a các thuật toán h c không giám sát gồm phân nhóm
k-mean (k-mean clustering) và các luật k t hợp Apriori M t ví d c a thuật toán h c có giám sát bao gồm Naive Bayes cho phân l p (classification)
T ơng ng có 2 loại mô hình khai phá dữ liệu:
- Các mô hình dự báo (h c có giám sát):
+ Phân l p: Nhóm các m c thành các l p riêng biệt và dự đoán m t m c s thu c vào l p nào
Trang 16+ Hồi qui (Regression): X p xỉ hàm và dự báo các giá tr liên t c
+ Đ quan tr ng c a thu c tính: Xác đ nh các thu c tính là quan tr ng nh t trong các k t quả dự báo
- Các mô hình mô tả (h c không giám sát):
+ Ph n nhóm (Clusterning): Tìm các nhóm tự nhiên trong dữ liệu
+ Các mô hình luật k t hợp (Association models): Phân tích “gi hàng”
+ Trích ch n đặc tr ng (Feature extraction): Tạo các thu c tính (đặc tr ng) m i
nh là k t hợp c a các thu c tính ban đ u
1.6 Cácăph ngăphápăkhaiăpháăd ăli u
• Ph ơng pháp quy nạp (Induction): M t cơ s dữ liệu là m t kho thông tin
nh ng các thông tin quan tr ng hơn cũng có thể đ ợc suy diễn từ kho thông tin đó Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp
• Ph ơng pháp suy diễn: Nhằm rút ra thông tin là k t quả logic c a các thông
tin trong cơ s dữ liệu Ph ơng pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri th c m i từ các thông tin cũ M u chi t xu t đ ợc bằng cách sử d ng ph ơng pháp này th ng là các luật suy diễn
• Ph ơng pháp quy nạp: Ph ơng pháp quy nạp suy ra các thông tin đ ợc sinh ra từ
cơ s dữ liệu Có nghĩa là nó tự tìm ki m, tạo m u và sinh ra tri th c ch không phải bắt
đ u v i các tri th c đư bi t tr c Các thông tin mà ph ơng pháp này đem lại là các thông
tin hay các tri th c c p cao diễn tả về các đ i t ợng trong cơ s dữ liệu Ph ơng pháp này liên quan đ n việc tìm ki m các m u trong CSDL Trong khai phá dữ liệu, quy nạp đ ợc
sử d ng trong cây quy t đ nh và tạo luật
1.7 K t lu năCh ngă1
Phát hiện tri th c từ dữ liệu là quá trình khám phá m u có ích, ch a bi t từ kh i dữ
liệu l n Quá trình phát hiện tri th c bao gồm nhiều giai đoạn từ việc xác đ nh m c tiêu
c a bài toán đ n chu n b liệu và cu i cùng là kiểm đ nh k t quả và sử d ng tri th c thu
đ ợc Khai phá dữ liệu là m t giai đoạn quan tr ng trong toàn b quá trình phát hiện tri
th c
KDD đ ợc ng d ng r ng rưi trong nhiều lĩnh vực: thiên văn, sinh h c, y t ,
th ơng mại, an ninh qu c phòng, đặc biệt trong lĩnh vực giáo d c Khai phá dữ liệu trong giáo d c tuy là ngành m i nổi nh ng thu hút đ ợc sự quan tâm c a đông đảo
c ng đồng khoa h c ng d ng khai phá dữ liệu trong giáo d c nhằm tìm l i giải đáp cho các câu h i trong giáo d c, làm sáng t ti n trình h c tập từ đó hỗ trợ cho các nhà quản lỦ giáo d c trong việc ra quy t đ nh để nâng cao hiệu su t giảng dạy và h c tập, nâng cao năng lực cạnh tranh c a tr ng h c
Trang 17Ch ơng này trình bày kỹ thuật xây dựng cây quy t đ nh bằng thuật toán ID3 Cây quy t đ nh đ ợc dùng trong các bài toán phân l p, dự báo Cây quy t đ nh đ ợc dùng r ng rưi vì những u điểm c a nó cho k t quả trực quan, dễ hiểu và xử lỦ đ ợc
dữ liệu kiểu s , dữ liệu có giá tr là tên thể loại, dữ liệu r i rạc, dữ liệu thi u và xử lỦ
t t m t l ợng dữ liệu l n trong th i gian ngắn
Trang 18CH NGă2 K THU T KHAI PHÁ D LI U VÀ NG D NG
Ch ơng này tìm hiểu về các kỹ thuật khai phá dữ liệu, đặc biệt kỹ thuật khai phá dữ liệu bằng cây quy t đ nh Ngoài ra ch ơng còn gi i thiệu ng d ng khai phá dữ liệu trong lĩnh vực giáo d c, và h ng ng d ng khai phá dữ liệu tại Tr ng Đại h c
Phạm Văn Đồng
2.1 Cây quy tăđ nh
Cây quyết định: Cây quy t đ nh là m t mô tả tri th c dạng đơn giản nhằm phân
các đ i t ợng dữ liệu thành m t s l p nh t đ nh Các nút c a cây đ ợc gán nhưn là tên các thu c tính, các cạnh đ ợc gán các giá tr có thể c a các thu c tính, các lá mô tả các l p khác nhau Các đ i t ợng đ ợc phân l p theo các đ ng đi trên cây, qua các cạnh t ơng ng v i các giá tr , thu c tính c a đ i t ợng t i lá
Tạo luật: Các luật đ ợc tạo ra nhằm suy diễn m t s m u dữ liệu có Ủ nghĩa về
mặt th ng kê Các luật có dạng N u P thì Q, v i P là mệnh đề đúng v i m t ph n trong
cơ s dữ liệu, Q là mệnh đề dự đoán
Cây quy t đ nh và luật có u điểm là hình th c mô tả đơn giản, mô hình suy diễn khá dễ hiểu đ i v i ng i sử d ng Tuy nhiên, gi i hạn c a nó là mô tả cây và luật chỉ có thể biểu diễn đ ợc m t s dạng ch c năng và vì vậy gi i hạn về cả đ chính xác c a mô hình
Trong luận văn tôi ng d ng kỹ thuật khai phá tập trung vào v n đề: Dự đoán
đ ợc ngành h c mà h c sinh nên đăng kỦ vào tr ng Đại h c Phạm Văn Đồng ng
d ng khai phá dữ liệu trong giáo d c nhằm tìm l i giải đáp cho các câu h i trong giáo
d c, làm sáng t ti n trình h c tập từ đó hỗ trợ cho cho sinh viên ch n đúng ngành h c
và góp ph n nâng cao hiệu su t giảng dạy và h c tập, nâng cao năng lực cạnh tranh
c a tr ng h c cũng nh đáp ng nhu c u c a xư h i
Cây quy t đ nh (decision tree) là m t ph ơng pháp r t mạnh và phổ bi n cho cả hai nhiệm v c a khai phá dữ liệu là phân loại và dự báo Mặt khác, cây quy t đ nh còn có thể chuyển sang dạng biểu diễn t ơng đ ơng d i dạng tri th c là các luật If-
Then Cây quy t đ nh là c u trúc biễu diễn d i dạng cây Trong đó, mỗi nút trong (internal node) biễu diễn m t thu c tính, nhánh (branch) biễu diễn giá tr có thể có c a thu c tính, mỗi lá (leaf node) biểu diễn các l p quy t đ nh và đỉnh trên cùng c a cây
g i là g c (root) Cây quy t đ nh có thể đ ợc dùng để phân l p bằng cách xu t phát từ
g c c a cây và di chuyển theo các nhánh cho đ n khi gặp nút lá Trên cơ s phân l p này chúng ta có thể chuyển đổi về các luật quy t đ nh Cây quy t đ nh đ ợc sử d ng
để xây dựng m t k hoạch nhằm đạt đ ợc m c tiêu mong mu n Các cây quy t đ nh
đ ợc dùng để hỗ trợ quá trình ra quy t đ nh Cây quy t đ nh là m t dạng đặc biệt c a
c u trúc cây Tạo cây quy t đ nh chính là quá trình phân tích cơ s dữ liệu, phân l p và
Trang 19đ a ra dự đoán Cây quy t đ nh đ ợc tạo thành bằng cách l n l ợt chia (đệ quy) m t tập dữ liệu thành các tập dữ liệu con, mỗi tập con đ ợc tạo thành ch y u từ các ph n
tử c a cùng m t l p Lựa ch n thu c tính để tạo nhánh thông qua Entropy và Gain
H c bằng cây quy t đ nh cũng là m t ph ơng pháp thông d ng trong khai phá dữ liệu Khi đó, cây quy t đ nh mô tả m t c u trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các k t hợp c a các thu c tính d n t i phân loại đó M t cây quy t đ nh có thể đ ợc h c bằng cách chia tập hợp nguồn thành các tập con dựa theo
m t kiểm tra giá tr thu c tính Quá trình này đ ợc lặp lại m t cách đệ qui cho mỗi tập con d n xu t Quá trình đệ qui hoàn thành khi không thể ti p t c thực hiện việc chia tách đ ợc nữa, hay khi m t phân loại đơn có thể áp d ng cho từng ph n tử c a tập con
d n xu t [15]
Thuật toán cây quy t đ nh cho ra k t quả là m t tập luật c a những dữ liệu hu n luyện có thu c tính Cây quy t đ nh là m t công c phổ bi n trongkhai phá và phân
l p dữ liệu Đặc điểm c a cây quy t đ nhlà m t cây có c u trúc gồm đó :
Nút g c (Root node):Là nút trên cùng c a cây (hình Oval)
Nút trong (Internal node):Là nút trung gian trên m t thu c tính đơn (hình
Oval), mang thu c tính phân loại
Nhánh (Branch):Biểu diễn giá tr có thể có c a mỗi thu c tính
Nút lá (Leaf node): Biểu diễn l p quy t đ nh hay sự phân ph i l p quy t đ nh (hình vuông hoặc chữ nhật)
M c đích c a cây quy t đ nh là dùng để ra quy t đ nh phân l p cho các đ i
t ợng dữ liệu ch a bi t
Hình 2.1: Môăhìnhăcơyăquy tăđ nh
Nút trong
Nút lá
Nút trong
Nút lá
Nútăg c
Trang 202.2 Đánhăgiáăcơyăquy tăđ nh trong lƿnhăv c khai phá d li u:
- u điểm của cây quyết định:
+ K t quả c a quá trình hu n luyện (h c) đ ợc biểu diễn d i dạng cây nên dễ
hiểu và g n gũi v i conng i
+ Nhìn chung, các giải thuật cây quy t đ nh cho k t quả có đ chính xác khá
cao
+ Cây quy t đ nh có thể đ ợc chuyển đổi sang tập luật Cây quy t đ nh có thể
xử lỦ các dữ liệu s , loại Cây quy t đ nh là có khả năng xử lỦ các tập dữ liệu đó có thể
có lỗi, thi u giá tr
- Nh ợc điểm của cây quyết định:
+ Cây quy t đ nh n u sử d ng ph ơng pháp chia để tr s thực hiện t t khi có
m t s thu c tính liên quan chặt ch v i nhau nh ng s khó khăn n u m t s t ơng tác
ph c tạp xu t hiện
+ Các đặc tính liên quan c a cây quy t đ nh d n đ n những khó khăn khác nh
đ nhạy v i tập hu n luyện, các thu c tính không phù hợp, nhiễu
+ Đ i v i các tập dữ liệu có nhiều thu c tính thì cây quy t đ nh s l n(vềchiều
sâu cả chiều ngang), vì vậy làm giảm đ dễ hiểu
+ Việc x p hạng các thu c tính để phân nhánh dựa vào l n phân nhánh tr c đó
và b qua sự ph thu c l n nhau giữa các thu c tính
+ Khi dùng đ lợi thông tin (Information Gain) để xác đ nh thu c tính r nhánh,
các thu c tính có nhiều giá tr th ng đ ợc u tiênch n
2.3 Thu t toán ID3
50 c a th kỷ 20) v i khả năng lựa ch n thu c tính t t nh t để ti p t c triển khai cây
tạo mỗi b c ID3 xây dựng cây quy t đ nh từ trên xu ng (Top-Down) [6]
Có nhiều thuật toán khác nhau để xây dựng cây quy t đ nh nh : CLS, ID3, C4.5, SPRINT, C5.0ầNh ng nói chung xây dựng cây quy t đ nh gồm 3 giai đoạn cơ bản:
Xây dựng cây: Thực hiện chia m t cách đệ quy tập m u dữ liệu hu n luyện cho đ n khi các m u nút lá thu c cùng m t l p
Trang 21 Cắt tỉa cây: Là việc làm dùng để t i u hóa cây Cắt tỉa cây chính là tr n m t
cây con vào trong m t nút lá
Đánh giá cây: Dùng để đánh giá đ chính xác c a cây k t quả Tiêu chí đánh giá là tổng s m u đ ợc phân l p chính xác trên tổng s m u đ a vào
Cây quy t đ nh đ ợc xây dựng từ trên xu ng Bắt đ u xây dựng cây quy t đ nh tại nút g c, t t cả các dữ liệu h c nút g c Ti n hành ch n thu c tính phân hoạch t t
nh t, dữ liệu đ ợc chia theo các giá tr c a thu c tính phân hoạch Quá trình này đ ợc lặp lại v i tập dữ liệu mỗi nút vừa tạo Điều kiện để dừng phân chia là: T t cả các
m u cùng m t nút thu c về cùng m t l p; Không còn thu c tính nào để thực hiện phân chia tập dữ liệu nữa; S l ợng ph n tử c a dữ liệu tại nút bằng không
Theo nguyên tắc xây dựng cây quy t đ nh nh trên thì v i cùng m t tập dữ liệu
h c có thể cho ra các cây có đ r ng, đ sâu, đ ph c tạp khác nhau n u th tự ch n thu c tính triển khai cây khác nhau Do đó, việc ch n thu c tính nào để phân hoạch mỗi nút mang tính quy t đ nh đ n đ ph c tạp c a cây quy t đ nh đ ợc tạo Để đánh giá thu c tính phân hoạch t t nh t ta dựa trên đ lợi thông tin (information gain), đ
đo information gain ratio, chỉ s gini
2.3.2 Giải thuật thuật toán ID3
Bước 1:Chọn thuộc tính “Tốt” nhất bằng một độ đo đã định tr ớc
+ Tính độ lợi thông tin (Information) cho sự phân lớp:
Info (p,n) =∑= � = � �� � �Trong đó:
Dữ liệu S gồm có n thu c tính ��(� = 1, 2 ầ ) giá tr Information c a thu c
tính ��ký hiệu là � � ��� (��)
+ Tính Entropy của thuộc tính A(hay thông tin mong mu n c n thi t để phân
l p các đ i t ợng trong t t cả các cây con Si) có công th c là:
Trang 22 Entropy = 1 n u tập hợp ch a s l ợng bằng nhau các thành viên thu c l p
d ơng hoặc l p âm N u các s này khác nhau thì Entropy giữa 0 và 1
+ Độ lợi thông tin cần thiết của thuộc tính A là:
Gain (A) = Info (p,n) – Entropy (A)
Chọn thuộc tính A có giá trị Gain lớn nhất, lấy nó làm gốc cho cây hiện tại
và loại Thuộc tính A ra khỏi tập thuộc tính
Bước 2:Phát triển cây bằng việc thêm các nhánh t ơng ứng với từng giá
trị của thuộc tính đã chọn
Bước 3: Sắp xếp, phân chia dữ liệu với các nút con
Bước 4: Nếu các ví dụ đ ợc phân lớp rõ ràng thì dừng Ng ợc lại thì lặp
lại từ B ớc 1 đến B ớc 4 cho từng nút con.
2.3.3 Giải thuật bằng giả mã:
- M c đích: tìm cây thoả mưn tập m u
- ụ t ng: (đệ quy) ch n thu c tính quan tr ng nh t làm g c c a cây/cây con
ID3(TapMauHuanLuyen, ThuocTinhPhanLop, TapThuocTinh)
ThenReturn cây chỉ có 1 nút Root, v i nhưn = giá tr th ng
xu t hiện nh t c a ThuocTinhPhanLoptrong TapMauHuanLuyen
Trang 23 Đặt TapMauHuanLuyenvi = tập con c a TapMauHuanLuyen
v i giá tr thu ctính A = vi
IfTapMauHuanLuyenvi rỗngThen d i nhánh m i này, thêm 1
lá v i nhưn = giá tr th ng xu t hiện nh t c a TapThuocTinhtrong
2.3.4 Ví dụ minh hoạ thuật toán ID3
Dựa vào các thu c tính H c lực, Điểm rèn luyện, Khu vực, Điểm tuyển sinh ta
dự đoán xem sinh viên có thôi h c hay không Xây dựng cây quy t đ nh bằng thuật
toán ID3
B ngă2.1:B ngăd ăli uăvíăd ăv ăsinhăviên
H căl c Đi mărènăluy n Khuăv c Đi mătuy năsinh Thôiăh c
Trang 24Xétăvíăd ăv iăt păd ăluy nănh ăb ngă2.1 ătrên
Info([3,2] ) =–3/5log2(3/5) –2/5log2(2/5) = 0.971
Bước 2: Entropy cho phép phân tách trên thu c tính “H c lực” :
Gain(“Điểm tuyển sinh”) = 0.151
Gain(“Điểm rèn luyện”) = 0.048
Gain(“Khu vực”)= 0.029
K t quả trên cho th y thu c tính “H c lực” có đ lợi thông tin l n nh t nên
đ ợc ch n làm thu c tính để phân tách Ti p t c t ơng tự ta s đ ợc cây quy t đ nh
cu i cùng có dạng :
Trang 25Hình 2.2: K tăqu ăcơyăquy tăđ nhăv iăt păd ăli uăh cătrongăb ngă2.1
2.3.5 Nhận xét:
- u điểm:
+ K t quả c a quá trình hu n luyện (h c) đ ợc biểu diễn d i dạng luật If - Then nên dễ hiểu v i con ng i, đ ợc sử d ng ch y u trong các hệ chuyên gia
+ Rút luật từ cây quy t đ nh: đi từ nút g c đ n nút lá, l y các phép thử làm tiền
đề và phân loại c a nút lá làm k t quả
+ Nói chung, các giải thuật cây quy t đ nh cho đ chính xác khá cao
- Nh ợc điểm:
+ Hạn ch l n nh t c a ID3 và Cây quy t đ nh nói chung là việc n u m t điểm
dữ liệu m i rơi vào nh mnhánh ngay những l n phân chia đ u tiên, k t quả cu i cùng s khác đi r t nhiều Việc rơi vào nh m nhánh này r t dễ xảy ra trong tr ng hợp thu c tính liên t c đ ợc chia thành nhiều nhóm nh , vì hai điểm có thu c tính t ơng
ng r t g n nhau có thể rơi vào hai nhóm khác nhau
+ Việc x p hạng các thu c tính để phân nhánh dựa vào l n phân nhánh tr c đó
và b qua sự ph thu c l n nhau giữa các thu c tính
+ Khi dùng đ lợi thông tin (Infomation Gain) để xác đ nh thu c tính r nhánh thì các thu c tính có nhiều giá tr th ng đ ợc u tiên hơn
+ Thuật toán ID3 yêu c u các thu c tính m c tiêu phải là giá tr r i rạc
Trang 26+ V i việc tính toán giá tr 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ó thu c tính s - thu c tính liên t c(numeric attribute) và khó khăn trong xử lỦ 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 C4.5
2.4 Thu t toán C4.5
2.4.1 Tổng quan
Thuật toán C4.5 (thuật toán cải ti n c a ID3) là m t thuật toán phân l p tạo ra
cây quy t đ nhđ ợc phát triển b i J Ross Quinlan Cây quy t đ nh đ ợc tạora b i
thuật toán C4.5 có đặc điểm đơn giản, dễ sử d ng, dễ hiểu b i các luật tạo ra nút lá
c a cây có thể biểu diễn d i dạng câu lệnh If - Then
Trang 2720 Đặt vào phân_vùng V các ví d trong tập_A có
giá tr V tại thu c tínhP;
2.4.3.Thuật toán C4.5 dùng Gain- Entropy
Cây đ ợc tạo ra sau khi hu n luyện có kích th c càng nh thì đ chính xác
càng cao và càng dễ hiểu nên thuật toán C4.5dựa vào đ đo để lựa ch n thu c tínht t
nh t Hai đ đo đ ợc sử d ng trong C4.5 là informationGain (chỉ s đ lợi thông
tin) và GainRatio (tỉ lệ đ lợi thông tin)
S: Tập hu n luyện
Si: L p c a tập các l p Ci(i=1,…,m)
aj: Giá tr thu c tính A(j=1,…,v)
Ch s thông tin (Information) cho s phân l p:
� � , � , … , � = − ∑ ��
=
�
�
Ch s thông tin mong mu n (Entropy) cho s phân l p:
Giả sử thu c tính A đ ợc ch n để hu n luyện, A={S’1,S’2,…,S’3}khi đó
chỉ s thông tin mong mu n c a A đ ợc tính theo công th c nh sau:
� �� � � = ∑� ��′
= − ∑ ��′ ′ ��′ ′
=
Trong đó S’ij là các tr ng hợp phân l p c aS’
Ch s đ l i thông tin cho phân l p:
Chỉ s đ lợi thông tin có đ ợc b i việc phân nhánh trên thu c tính A đ ợc tính
nh sau:
Gain(A)=Info(S1,S2,…,Sm)ứEntropy(A)
Thu c tính có đ lợi thông tin l n nh t đ ợc ch n làm tiêu chí phân chia
T l đ l i thông tin:
Trang 28� ��� � = − ∑� ��′ ��′
=
��� ��� =� ������ � �
2.4.4 Mô tả cách tính độ lợi thông tin
Ví d về thuật toán C4.5: Quy hoạch cán b
Qua xem xét và phân tích ta th y c n chú tr ng các thông tin sau đây:
+ Tuổi (Tuoi): Có 2 đ tuổi đ ợc xem xét kỹ theo tiêu chí quy hoạch cán b là: Trên 40 tuổi và d i 40 tuổi
+ Trình đ chuyên môn (TrinhDoCM): Là trình đ đ ợc đào tạo c a các nhân
sự đê xem xét đ a vào quy hoạch Có 3 loại trình đ : Đại h c chính quy (ĐHCQ), Vừa
làm vừa h c (VLVH) và Không (Khong) là những ng i có bằng c p d i đại h c
+ Trình đ lỦ luận chính tr (LLChinhTri) c a nhân sự đ ợc chia thành 3 dạng
nh sau: Cao c p lỦ luận chính tr hoặc cử nhân chính tr (CaoCap), hoặc Cao c p lỦ luận chính tr không tập trung (CCkhongTT), hoặc những ng i ch a có cao c p lỦ luận chính tr là không (Khong)
+ Trình đ Ngoại ngữ (NgoaiNgu): Những ng i có ch ng chỉ ngoại ngữ B tr
lên (Yes) và ch a có ch ng chỉ B tr xu ng (No)
Các y u t trên chính là tập thu c tính mà dựa vào tập thu c tính này để dự đoán thu c tính Quy hoạch (QuyHoach)
Từ những phân tích trên ta có tập hu n luyện m u nh sau:
B ngă2.2:ăB ngăd ăli uăhu năluy n
Trang 298 >=40 VLVH CCkhongTT No No
Từ ví d trên, áp d ng thuật toán C4.5 dùng tập dữ liệu hu n luyện để xây dựng
cây quy t đ nh cho bài toán xây dựng quy hoạch cán b
Để xây dựng cây quy t đ nh ta phải xác đ nh nút g c để phân tách cây Thu c tính có đ i lợi thông tin l n nh t s đ ợc ch n làm nút g c
G i S là tập thu c tính đích Có 26 m u và trong đó:
Yes = 7; No = 19
Áp d ng công th c tính Entropy ta có:
Entropy(S) = - (7/26) log 2 (7/26) - (19/26) log 2 (19/26)= 0.84
Thu c tính "Tuoi" có 2 giá tr là: >=40, <40
Trang 30Entropy c a S đ i v i thu c tính "Tuoi":
Entropy(S,Tuoi) = (12/26) * 0.81 + (14/26) *0.86 = 0.84
Đ lợi thông tin t ơng ng là:
Gain(S,Tuoi) = Entropy(S) - Entropy(S,Tuoi) = 0.84 - 0.84 = 0
Tỷ su t lợi ích Gain Ratio là:
+ SplitInfo(S,Tuoi) =-(12/26).log2 (12/26) - (14/26).log2 (14/26) = 1
+ GainRatio(S,Tuoi) = Gain(S,Tuoi) / SplitInfo(S,Tuoi)= 0/1 = 0
Bằng cách t ơng tự ta tính đ ợc Entropy, đ lợi thông tin Gain và tỷ su t lợi ích
c a các thu c tính còn lại nh sau:
* Thu c tính "TrinhDoCM" có 3 giá trị là: ĐHCQ, VLVH, Khong
B ngă2.3:ăB ngăd ăli uăthu cătínhăTrinhDoCM
* Thu c tính "LLChinhTri " có 3 thu c tính: CaoCap, CCkhongTT, Khong
B ngă2.4:ăB ngăd ăli uăthu cătínhă LLChinhTri
* Thu c tính "NgoaiNgu " có 2 giá tr là: Yes và No
B ngă2.5:ăB ngăd ăli uăthu cătínhă NgoaiNgu
Trang 31Ta nhận th y rằng GainRatio(S,NgoaiNgu) = 0.3 là l n nh t nên thu c tính
NgoaiNgu có khả năng phân loại t t nh t
ng v i NgoaiNgu= Nocó Entropy = 0 nên tại nhánh này s là nút có phân l p
là No
ng v i NgoaiNgu= Yes ta có bảng dữ liệu sau:
B ngă2.6:ăB ngăd ăli uăthu cătínhă NgoaiNgu = yes
Trang 32Áp d ng công th c tính Entropy cho S1nh sau:
Entropy(S 1 ) = - (7/14) log 2 (7/14) - (7/14) log 2 (7/14)= 1
Ti p theo ta tínhGain, SplitInfo và GainRatio c a các thu c tính còn lại nh
V i NgoaiNgu = Yes Ta có nhánh cây nh sau:
V i "LLChinhTri" = "Khong" có Entropy = 0 dó đó tại nút này s là nút lá v i phân l p là No
T ơng tự nh vậy đ i v i các thu c tính còn lại Ta có cây hoàn chỉnh nh sau:
LLChinhTri
Yes Yes
" Khong "
"CCkhongTT"
"CaoCap"
No
Trang 33Hình 2.5 :ăCơyăquy tăđ nhăhoƠnăch nh
2.4.4 Tạo luật từ cây quyết định trên
Từ cây quy t đ nh trên ta rút ra đ ợc m t s luật sau:
Luật 1:If (NgoaiNgu = No) then QuyHoach = No
NgoaiNgu
"Yes"
"No"
No LLChinhTri
Trang 34Luật 2:If(NgoaiNgu = Yes) and (LLChinhTri = Khong)then QuyHoach = No Luật 3:If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM
= Khong) then QuyHoach= No
Luật 4:If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM = ĐHCQ) then QuyHoach= Yes
Luật 5:If (NgoaiNgu = Yes) and if (LLChinhTri = CaoCap) and (TrinhDoCM =
VLVH) then QuyHoach= yes
Luật 6:If (NgoaiNgu = Yes) and if (LLChinhTri = CCKhongTT) and
(TrinhDoCM = VLVH) and (Tuoi = > = 40) then QuyHoach= Yes
Luật 7:If (NgoaiNgu = Yes) and(TrinhDoCM = VLVH) and (Tuoi = >=40) and
(LLChinhTri = CCKhongTT) and (Tuoi = < 40) then QuyHoach= No
Từ việc phân tích các dữ liệu ban đ u, luận văn đư xây dựng đ ợc cây quy t
đ nh từ thuật toán C4.5 Cây quy t đ nh này có khả năng phân loại đúng đắn các m u trong tập dữ liệu đư cho Từ đó, th y rằng đây là m t công c biểu diễn r t trực quan phù hợp trong việc phân tích các dữ liệu mà dựa trên tập luật này ta đi giải quy t đ ợc bài toán c a luận văn đặt ra
Tập luật rút ra đ ợc từ cây quy t đ nh trên gồm 7 luật đơn giản, dễ hiểu và dễ
sử d ng Luận văn s ng d ng thuật toán này để giải quy t v n đề về việc hỗ trợ h c sinh ch n ngành h c tr c khi b c vào Tr ng Đại h c Phạm Văn Đồng
2.4.5 Nhận xét:
- u điểm:
+ Thuật toánC4.5 có cơ ch sinh cây quy t đ nh hiệu quả và chặt ch bằng việc
sử d ng đ đo lựa ch n thu c tính t t nh t là information-gain Các cơ ch xử lỦ v i giá tr lỗi, thi u và ch ng “quá vừa” dữ liệu c a C4.5 cùng v i cơ ch cắt tỉa cây đư tạo nên s c mạnh c a C4.5
+ Mô hình phân l p C4.5 còn có ph n chuyển đổi từ cây quy t đ nh sang luật dạng if-then, làm tăng đ chính xác và tính dễ hiểu c a k t quả phân l p
+ Xử lỦ đ ợc các thu c tính có giá tr thi u
+ Cho phép cây quá vừa dữ liệu sau đó cắt tỉa cây
+ C4.5 có thể làm việc v i cả dữ liệu liên t c và r i rạc Bằng cách xác đ nh phạm vi hoặc các ng ỡng cho dữ liệu liên t c nh vậy dữ liệu liên t c đ ợc chuyển sang dạng r i rạc
Trang 35- Nh ợc điểm:
+ Thuật toán C4.5là thuật toán phân l p dữ liệu sử d ng cơ ch l u trữ th ng
trú trong b nh nên hiệu quả và phổ bi n trong những ng d ng khai phá cơ s dữ liệu có kích th c nh
+ Dễ hiểu v i những thu c tính có có ít giá tr và khó hiểu hơn v i những thu c tính có nhiều giá tr
2.5 Thu t toán NaiveBayes
2.5.1 Giới thiệu
NaiveBayes là ph ơng pháp phân loại dựa vào xác su t đ ơc sử d ng r ng rưi trong lĩnh vực máy h c năm 1996 và l n đ u tiên đ ợc sử d ng trong lĩnh vực phân loại b i Maron vào năm 1961 Sau đó nó tr nên phổ bi n dùng trong nhiều lĩnh vực
nh trong các công c tìm ki m, các b l c email,
M t phân loại NaiveBayes dựa trên Ủ t ng nó là m t l p đ ợc dự đoán bằng các giá tr c a đặc tr ng cho các thành viên c a l p đó Các đ i t ợng là m t nhóm trong các l p n u chúng có cùng các đặc tr ng chung
Có thể có nhiều l p r i rạc hoặc l p nh phân Các luật Bayes dựa trên xác su t
để dự đoán chúng về các l p có sẵn dựa trên các đặc tr ng đ ợc trích rút Trong phân loại Bayes việc h c đ ợc coi nh xây dựng m t mô hình xác su t c a các đặc tr ng và
sử d ng mô hình này để dự đoán phân loại cho m t ví d m i
Bi n ch a bi t hay còn g i là bi n n là m t bi n xác su t ch a đ ợc quan sát
tr c đó Phân loại Bayes sử d ng mô hình xác su t trong đó phân loại là m t bi n n
có liên quan t i các bi n đư đ ợc quan sát Quá trình phân loại lúc này tr thành suy diễn trên mô hình xác su t
Tr ng hợp đơn giản nh t c a phân loại Naive Bayes là tạo ra các giả thi t đ c lập về các đặc tr ng đ u vào và đ c lập có điều kiện v i mỗi l p đư cho Sự đ c lập
c a phân loại Naive Bayes chính là thể hiện mô hình mạng tin cậy trong tr ng hợp đặc biệt và phân loại là chỉ dựa trên m t nút cha duy nh t c a mỗi m t đặc tr ng đ u vào.Mạng tin cậy này đề cập t i xác su t phân tan P(Y) đ i v i mỗi m t đặc tr ng đích Y và P(Xi|Y) đ i v i mỗi đ u vào đặc tr ng Xi V i mỗi loại đ i t ợng dự đoán bằng cách tính toán dựa trên các xác su t điều kiệnc a các đặc tr ng quan sát đ ợc cho mỗi đặc tr ng đ u vào [6]
2.5.2 Định lý Bayes
Giả sử A và B là hai sự kiện đư xảy ra Xác su t có điều kiện A khi bi t tr c điều kiện B đ ợc cho b i :
Trang 36P(A|B) = P(B|A) P(A)/P(B)
P(A): Xác su t c a sự kiện A xảy ra
P(B): Xác su t c a sự kiện B xảy ra
P(B|A): Xác su t c a sự kiện B xảy ra n u bi t sự kiện A đư xảy ra
P(A|B): Xác su t c a sự kiện A xảy ra n u bi t sự kiện B đư xảy ra
2.5.3 Nhận xét:
u điểm:
+ Naive Bays cho k t quả t t trong thực t mặc dù ch u những giả thi t về tính
đ c lập có điều kiện (khi đ ợc cho nhưn, l p) c a các thu c tính
+ Phân l p không yêu c u c l ợng m t cách chính xác
+Dễ cài đặt, h c nhanh và k t quả dễ hiểu
+ Sử d ng trong phân loại text, spam,
2.6.2 Xử lý và làm sạch dữ liệu
Giai đoạn này ta dùng các kỹ thuật tiền xử lỦ dữ liệu để xử lỦ dữ liệu đư thu thập đ ợc sao cho các giải thuật khai phá dữ liệu có thể hiểu đ ợc Tiền xử lỦ dữ liệu bao gồm:
+XửlỦ dữ liệu b thi u hoặc m t: Các giá tr b thi u hoặc m t s đ ợc thay th bằng các giá tr thích hợp hơn hoặc xóa những dữ liệu sai miền giá tr và giải quy t sự không nh t quán
+Khử sự trùng lắp dữ liệu: Loại b những dữ liệu b trùng
+Giảm nhiễu dữ liệu: Các dữ liệu b nhiễu s đ ợc điều chỉnh hoặc loại ra kh i
cơ s dữ liệu
Trang 37+R i rạc hóa dữ liệu: Các dữ liệu s s đ ợc r i rạc hóa ra dạng phù hợp cho khai phá dữ liệu
+Giảm chiều: Loại b t các thu c tính ch a ít thông tin để ti t kiệm th i gian và tài nguyên c a máy tính
2.6.3 Biến đổi dữ liệu
Bi n đổi dữ liệu, ch n lựa m ts ph ơngpháp Phân loại (Classification), hồi quy (Regression), phân nhóm (Clustering), quy nạp, tổng hợp k t quả(Summarization)
3.6.4 Khai phá dữ liệu
Khai phá dữ liệu, hay nói cách khác là trích ch n, chi t xu t ra các m u hay các
mô hình tiềm n d i các dữ liệu có Ủ nghĩa, hiểu đ ợc Giai đoạn này r t quan tr ng, bao gồm các công đoạn nh : ch c năng, nhiệm v và m c đích khai phá dữ liệu, dùng
ph ơng pháp khai phá nào là thíchhợp? Trong mỗi kỹ thuật khai phá có thể có nhiều giải thuật khai phá, việc ch n thuật toán nào để có hiệu quả cao ph thu c vào r t nhiều y u t nh đ l n c a tập dữ liệu khai phá, c u trúc c a tập dữ liệu, tập dữ liệu
có hay không có thu c tính b thi u nhiều giá tr ầ
2.6.5 Giải thích kết quả và đánh giá mô hình
Đây là giai đoạn bi n đổi từ những luật rút ra đ ợc (c a giai đoạn tr c) từ tập
hu n luyện sang dạng phù hợp v i nghiệp v c a bàitoán đang nghiênc u.Đồng th i cũng s là giai đoạn đánh giá c a các chuyên gia t v n dựa trên tập dữ liệu thử Dựa
vào nhận xét và hỗ trợ c a các chuyên gia khi đó s điều chỉnh k p th i các mô hình
c a các giai đoạn tr c Các mô hình đạt yêu c u v i các chuyên gia s đ ợc sử d ng
Đây là giai đoạn cu i cùng c a quá trình phát hiện tri th c, tri th c khai phá
đ ợc có thể đ ợc sử d ng trực ti p hoặc đ ợc tích hợp vào m t hệ th ng ph n mềm
để thuận tiện cho ng i sử d ng cu i Các mô hình đạt yêuc u s đ ợc xây dựng thành ch ơng trình ng d ng thực t nhằm hỗ trợ đ a ra quy t đ nh theo yêu c u c a
ng i dùng
2.7 Khai phá d ăli u trong giáo d c
Khai phá dữ liệu trong giáo d c là các quá trình thi t k để phân tích các dữ liệu
từ môi tr ng giáo d c nhằm giải đáp các câu h i trong giáo d c, làm sáng t ti n trình h c tập từ đó hỗ trợ cho các nhà quản lỦ giáo d c trong việc ra quy t đ nh để nâng cao hiệu su t giảng dạy và h c tập Những dữ liệu giáo d c bao gồm nguồn dữ liệu đ n từ các hệ th ng quản lỦ quá trình h c tập, môi tr ng h c tập t ơng tác, hệ
th ng dạy kèm thông minh, các trò chơi giáo d cầ