BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM BÙI THỊ MỪNG XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT TRÊN ĐỊA BÀN HẢI PHÒNG DỰA TRÊN PHÂN L
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
BÙI THỊ MỪNG
XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT TRÊN ĐỊA BÀN HẢI PHÒNG
DỰA TRÊN PHÂN LỚP DỮ LIỆU
LUẬN VĂN THẠC SĨ KỸ THUẬT
HẢI PHÒNG – 2016
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
BÙI THỊ MỪNG
XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT TRÊN ĐỊA BÀN HẢI PHÒNG
DỰA TRÊN PHÂN LỚP DỮ LIỆU
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGÀNH: CÔNG NGHỆ THÔNG TIN; MÃ SỐ: 60480201
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Người hướng dẫn: TS Nguyễn Trọng Đức
HẢI PHÒNG – 2016
Trang 3i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là luận văn, công trình nghiên cứu của riêng tôi Các kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất
kỳ đề tài, công trình nào khác
Tôi xin cam đoan rằng các thông tin trích dẫn trong luận văn đều đã đƣợc chỉ rõ nguồn gốc
Ngày 15 tháng 3 năm 2016
Bùi Thị Mừng
Trang 4ii
LỜI CẢM ƠN
Luận văn tốt nghiệp cao học chuyên ngành công nghệ thông tin được hoàn thành tại Trường Đại học Hàng Hải Việt Nam Có được bản luận văn tốt nghiệp này, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc đến Trường Đại học Hàng Hải Việt Nam, Viện Đào tạo sau Đại học, đặc biệt là Tiến sỹ Nguyễn Trọng Đức
đã trực tiếp hướng dẫn, dìu dắt, giúp đỡ tôi với những chỉ dẫn khoa học quý giá trong suốt quá trình triển khai, nghiên cứu và hoàn thành đề tài nghiên cứu của mình
Tôi xin chân thành cảm ơn các thầy, cô giáo đã trực tiếp giảng dạy, truyền đạt những kiến thức khoa học chuyên ngành công nghệ thông tin cho bản thân tôi trong toàn bộ thời gian của khóa học
Cuối cùng, tôi muốn gửi lời cảm ơn sâu sắc đến gia đình, bạn bè đã luôn kịp thời động viên, giúp đỡ tôi vượt qua những khó khăn trong cuộc sống để hoàn thành được luận văn này
Mặc dù có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất Song
do mới làm quen với công tác nghiên cứu khoa học, tiếp cận với công nghệ mới cũng như hạn chế về kiến thức và kinh nghiệm nên không thể tránh khỏi những thiếu sót nhất định mà bản thân tôi chưa nhận thức được Tôi rất mong nhận được
sự góp ý chân thành của Quý thầy, cô và các bạn để đề tài được hoàn chỉnh hơn Xin chân thành cảm ơn!
Trang 5iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH vii
MỞ ĐẦU 1
Chương 1 TỔNG QUAN 3
1.1 Tổng quan về vấn đề nghiên cứu 3
1.1.1 Một số khái niệm liên quan đến tư vấn hướng nghiệp 3
1.1.2 Giới thiệu về bài toán hệ hỗ trợ tư vấn hướng nghiệp 3
1.2 Tổng quan về khai phá dữ liệu 4
1.2.1 Khái niệm 4
1.2.3 Các giai đoạn của quá trình khai phá tri thức trong CSDL 6
1.2.4 Kiến trúc hệ thống khai phá dữ liệu 10
1.2.5 Một số kỹ thuật khai phá dữ liệu 11
1.3 Kết luận chương 1 14
Chương 2 HỆ HỖ TR RA QUYẾT Đ NH TƯ VẤN HƯỚNG NGHIỆP 15
2.1 Tổng quan về hệ hỗ trợ ra quyết định 15
2.1.1 Khái niệm 15
2.1.2 Cấu trúc hệ hỗ trợ ra quyết định 16
2.2 Bài toán phân lớp dữ liệu với cây quyết định 17
2.2.1 Khái niệm phân lớp dữ liệu 17
2.2.2 Quá trình phân lớp dữ liệu 18
2.2.3 Một số phương pháp phân lớp dữ liệu 19
Trang 6iv
2.3 Cây quyết định 22
2.3.1 Khái niệm cây quyết định 22
2.3.2 Quá trình xây dựng cây quyết định 23
2.3.3 Thuật toán ID3 xây dựng cây quyết định 24
2.3.4 Chọn thuộc tính phân hoạch tốt nhất 26
2.4 Ứng dụng phương pháp cây quyết định để xây dựng DSS cho bài toán tư vấn hướng nghiệp 33
2.4.1 Giới thiệu phần mềm khai phá dữ liệu Weka Explorer 3.6.3 33
2.4.2 Xác định mục tiêu của hệ thống và vấn đề cần giải quyết 35
2.4.3 Mô tả hệ thống 35
Hình 2.9 Mô hình hệ hỗ trợ tư vấn hướng nghiệp 36
2.4.4 Quy trình giải quyết bài toán 37
2.5 Kết luận chương 2 55
Chương 3 CÀI ĐẶT VÀ THỬ NGHIỆM 56
3.1 Mô hình Hệ hỗ trợ tư vấn hướng nghiệp 56
3.2 Chức năng của hệ hỗ trợ tư vấn hướng nghiệp 56
3.3 Chuẩn bị và thiết kế CSDL 56
3.4 Công nghệ sử dụng 57
3.5 Giao diện hệ hỗ trợ tư vấn hướng nghiệp 57
3.6 Đánh giá ưu, nhược điểm của hệ thống 59
3.7 Đánh giá kết quả thử nghiệm 60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 63
Trang 8vi
DANH MỤC CÁC BẢNG
Số
2.10 Độ lợi thông tin của các thuộc tính 31
2.12 Bảng dữ liệu Kết quả học tập của học sinh 37
2.15 Dữ liệu trường đại học, cao đẳng trên cả nước 40 2.16 Dữ liệu trường cao đẳng nghề tại Hải Phòng 40
Trang 92.1 Xây dựng mô hình phân lớp dữ liệu 18
2.7 Kết quả cây quyết định với tập dữ liệu học trong bảng 2.1 33
2.9 Mô hình hệ hỗ trợ tư vấn hướng nghiệp 36 2.10 Thiết lập thông số cho giá trị mới trong weka 43 2.11 Thêm giá trị mới cho thuộc tính rời rạc 44 2.12 Thuộc tính “toan” sau khi rời rạc 44
2.14 Cây quyết định đầy đủ với thuộc tính Thidh 48
2.16 Mô hình dự đoán khối thi, ngành nghề 50
3.1 Mô hình hệ hỗ trợ tư vấn hướng nghiệp 56 3.2 Giao diện màn hình trước khi tư vấn 58 3.3 Giao diện màn hình trước khi tư vấn 58
Trang 101
MỞ ĐẦU
Định hướng nghề nghiệp tương lai luôn là chủ đề thu hút được nhiều sự quan tâm của toàn thể xã hội, các gia đình và thế hệ trẻ, đặc biệt đối với các em học sinh lớp 12 THPT Việc định hướng nghề nghiệp cho học sinh THPT được xem là bước khởi đầu quan trọng trong quá trình đào tạo và phát triển nguồn nhân lực
Hiện nay cả xã hội đang quan tâm đến các số liệu thất nghiệp của các sinh viên sau tốt nghiệp đại học Với tâm lý phải vào đại học bằng mọi giá, nhiều bậc phụ huynh vô hình chung đã đè nặng lên vai các sỹ tử một gánh nặng và tư tưởng chỉ có con đường duy nhất là học đại học Trong khi đó các bậc phụ huynh và chính bản thân các sỹ tử vẫn chưa thực sự đánh giá đúng năng lực và
sở thích, nguyện vọng của bản thân mình Do đó nhiều học sinh lớp 12 THPT đã nộp đơn xin thi, đăng ký dự tuyển vào những ngành học không đúng với năng lực, học lực và sở thích của mình dẫn đến nhiều trường hợp bỏ học giữa chừng, chuyển nghề hoặc không thể tiếp tục theo học vì không đáp ứng được yêu cầu học tập, nhiều trường hợp đã phải chuyển nghề vì thấy không phù hợp…, điều này đã gây lãng phí rất lớn về thời gian và các nguồn lực cho bản thân, gia đình
và xã hội
Mặc dù vậy vẫn khẳng định kỳ thi tốt nghiệp THPT và thi hay tham gia dự tuyển đại học hoặc tham gia học tập nghề nghiệp sau THPT là hết sức quan trọng và cần nhiều sự quan tâm đặc biệt của toàn thể xã hội, nhất là đòi hỏi sự quan tâm của ngành giáo dục đào tạo
Công tác tư vấn hướng nghiệp, định hướng nghề nghiệp, ngành học là công việc hết sức quan trọng để giúp cho học sinh tự đánh giá được năng lực của bản thân, hiểu biết thêm về các ngành nghề, giúp các em có nhiều sự lựa chọn và có quyết định lựa chọn hợp lý cho tương lai của mình Để quyết định tương lai của mình, các học sinh THPT, đặc biệt các em học sinh lớp 12 luôn xác định rõ năng lực bản thân, học lực của mình, tìm hiểu thêm về các ngành nghề, từ đó lựa chọn cho mình hướng đi sau tốt nghiệp THPT là: Nghề nghiệp- Ngành học- Trường
Trang 112 đào tạo Đó là cách giúp các em nhanh chóng có được quyết định của mình, nhất
là trong giai đoạn cuối học kỳ 2, chuẩn bị thi tốt nghiệp, thời điểm mà các em rất cần thời gian, tập trung cho học tập, ôn luyện Vào thời điểm này cũng là lúc rất nhiều các trường tập trung công tác tư vấn hướng nghiệp, lượng thông tin tràn ngập, thời điểm quyết định đến gần, áp lực ôn tập lớn…, và hơn nữa công tác tư vấn tuyển sinh hiện nay vẫn theo mô hình của từng trường, theo các ngành học của các trường đang đào tạo, dẫn đến lượng thông tin vẫn trải dài chưa có hệ thống theo mô hình: Nghề- Ngành- Trường, học sinh vẫn đứng trước sự phân vân lựa chọn, và khi có quyết định lựa chọn được ngành học vẫn mất nhiều thời gian để xác định trường đào tạo, mã ngành, môn thi…
Để khắc phục các tồn tại trên và nâng cao hiệu quả cho công tác tư vấn hướng nghiệp- tuyển sinh đào tạo, giúp cho học sinh lớp 12 và gia đình có sự lựa chọn đúng đắn và tiết kiệm nhiều thời gian trong việc tìm hiểu thông tin để
đăng ký thi, xét tuyển tôi xây dựng đề tài: "Xây dựng hệ hỗ trợ Tư vấn hướng
nghiệp cho học sinh THPT trên địa bàn nội thành thành phố Hải Phòng dựa trên việc phân lớp dữ liệu" cho luận văn tốt nghiệp của mình
Luận văn gồm 3 chương:
Chương 1: Tổng quan
Trình bày tổng quan về bài toán xây dựng hệ hỗ trợ tư vấn hướng nghiệp và tổng quan về khai phá dữ liệu
Chương 2: Hệ hỗ trợ ra quyết định tư vấn hướng nghiệp
Trình bày tổng quan về hệ hỗ trợ ra quyết định Sau đó, trình bày ứng dụng phương pháp phân lớp dữ liệu bằng cây quyết định để xây dựng hệ hỗ trợ tư vấn hướng nghiệp
Chương 3: Cài đặt và thử nghiệm
Trình bày các bước triển khai cài đặt, đưa ra kết quả minh họa của luận văn cùng với việc đánh giá kết quả đạt được và hướng phát triển của đề tài
Trang 123
Chương 1 T NG QUAN 1.1 T ng quan v vấn đ nghiên cứu
1.1.1 Một số khái niệm liên quan đến tư vấn hướng nghiệp
Nghề nghiệp là một dạng lao động đòi hỏi ở con người một quá trình đào tạo chuyên biệt, có những kiến thức, kĩ năng, kĩ xảo chuyên môn, có phẩm chất, đạo đức phù hợp với yêu cầu.[1]
Có thể coi nghề nghiệp là việc làm, nhưng những việc làm không ổn định, nhất thời, do con người bỏ sức lao động giản đơn và được trả công để sinh sống thì không phải là nghề nghiệp
Hướng nghiệp là sự tác động của nhà trường, gia đình và các tổ chức xã hội vào thế hệ trẻ, giúp các em có những hiểu biết về một số ngành nghề phổ biển trong xã hội để khi tốt nghiệp ra trường, các em có thể lựa chọn cho mình một cách có ý thức nghề nghiệp tương lai
Tư vấn hướng nghiệp được hiểu là việc đối chiếu những yêu cầu của nghề, của thị trường lao động với hứng thú, khuynh hướng và năng lực của học sinh, cùng với học sinh hình thành quyết định nên học nghề nào thì phù hợp với bản thân
Từ các hoạt động tư vấn hướng nghiệp, học sinh được tiếp cận những nguồn thông tin hữu ích để từ đó có thể định hướng và đưa ra những quyết định chính xác hơn về nghề và điều chỉnh xu hướng nghề một cách phù hợp
1.1 Giới thiệu v bài toán hệ hỗ trợ tư vấn hướng nghiệp
Hiện nay, vấn đề tư vấn hướng nghiệp, tuyển sinh đại học đang nhận được
sự quan tâm rất lớn của xã hội Tư vấn hướng nghiệp, tuyển sinh tập trung vào nhiệm vụ chính là làm sao giúp cho các em học sinh có thể chọn được ngành học phù hợp với năng lực của mình Luận văn tập trung nghiên cứu kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu để xây dựng mô hình dự đoán nhằm tư vấn cho thí sinh có thể chọn được ngành học phù hợp với năng lực của mình
Trang 134 Dựa vào các tri thức phát hiện được từ mô hình dự đoán, một giao tiếp được xây dựng để người dùng có thể tham khảo thêm các tri thức này vào việc chọn ngành học cho mình
Bài toán nhằm tư vấn cho những học sinh khá, giỏi nên thi ĐH và nên thi nghành gì phù hợp với năng lực, nguyện vọng của bản thân, còn đối với những học sinh có học lực trung bình khuyến khích dự thi hoặc xét tuyển vào các trường trung cấp nghề và cao đẳng nghề
Hiện nay, trên địa bàn thành phố Hải Phòng có tất cả 40 trường THPT quốc lập và 18 trường THPT dân lập Theo thống kê thì hàng năm Hải Phòng có khoảng 18000 học sinh tốt nghiệp THPT Từ dữ liệu về lý lịch học sinh, kết quả học tập của học sinh, làm thế nào để thu thập được các thông tin có ích, hỗ trợ cho công tác tư vấn hướng nghiệp chẳng hạn như:
- Dự đoán những học sinh nào nên thi tuyển đại học, những học sinh nào nên theo học nghề
- Dự đoán thiên hướng học khối nào, ngành nghề nào, trường nào phù hợp với năng lực của các em
Để giải quyết được các vấn đề này thì từ kho dữ liệu lưu giữ các thông tin
về lý lịch và kết quả học tập của học sinh THPT, danh sách các ngành nghề, danh sách các trường đào tạo Hệ thống thực hiện chức năng: khai phá kho dữ liệu đã có và tìm ra những quy luật dựa trên những mô hình đã được xây dựng
để tư vấn hướng nghiệp cho các em sau khi tốt nghiệp THPT Bên cạnh đó từ dữ liệu đã thu thập cần dự báo nhu cầu nhân lực với từng ngành học cụ thể
Như vậy để tìm hiểu quá trình khai phá dữ liệu và phát hiện tri thức thực hiện như thế nào và bằng những kỹ thuật gì thì phần sau sẽ trình bày cụ thể hơn
1.2 T ng quan v khai phá dữ liệu
1.2.1 Khái niệm
Trong những năm gần đây, số lượng thông tin được lưu trữ trên các thiết bị
Trang 145 điện tử không ngừng gia tăng Sự tích lũy các dữ liệu diễn ra với một tốc độ bùng nổ Người ta ước tính rằng trên toàn cầu số lượng của các thông tin được tăng gấp đôi sau khoảng hai năm và do đó cũng tăng kích thước cơ sở dữ liệu một cách nhanh chóng, cả về số lượng hồ sơ cơ sở dữ liệu và số lượng các trường, các thuộc tính [5]
Kho dữ liệu khổng lồ này là tài nguyên rất có giá trị khi nó được khai phá
và phát hiện ra kiến thức tiềm ẩn trong nó Những kiến thức tiềm ẩn này thường
là rất nhỏ so với lượng dữ liệu thì khổng lồ, do đó phát hiện ra chúng là một vấn
đề khó khăn
Dữ liệu chứa rất nhiều thông tin giá trị, có lợi cho qui trình ra quyết định nhưng với khối lượng dữ liệu khổng lồ như đã kể trên thì không thể phân tích dữ liệu bằng các phương thức thủ công và cũng không thể thực hiện được với truy vấn truyền thống (SQL) vì rất nhiều kiểu câu truy vấn mà con người quan tâm là rất khó thực hiện hay miêu tả trong ngôn ngữ vấn tin, chẳng hạn như: tìm tất cả các bản ghi nghi là gian lận, tìm tất cả các văn bản tương tự như văn bản A, không có nhiều thông tin trong các trường của CSDL…Do đó, khai phá dữ liệu
là một giải pháp giải quyết vấn đề quá tải dữ liệu của thời đại thông tin số [6]
- Tiến sĩ U.M Fayyad với cách tiếp cận ứng dụng đã phát biểu [7]: “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 cơ sở dữ liệu”
- Giáo sư T Mitchell định nghĩa trong [12] như sau : “Khai phá dữ liệu
là việc sử dụng dữ liệu lị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ì vậy, có thể hiểu quá trình khám phá tri thức tiềm ẩn trong cơ sở dữ liệu chính là khai thác dữ liệu Cụ thể hơn, nó là quá trình lọc, để tạo ra tri thức hoặc mẫu mới nhưng hữu ích từ cơ sở dữ liệu lớn
Tóm lại, Khai phá dữ liệu là một quá trình học tri thức mới từ những
Trang 156
dữ liệu đã thu thập được [3, 8, 10]
Các thuật ngữ khác có ý nghĩa tương tự thuật ngữ khai phá dữ liệu như:
khảo cổ dữ liệu (Data archaeology), phân tích dữ liệu/mẫu (Data/pattern analysis), trích lọc dữ liệu (Knowlegde extraction), nạo vét dữ liệu (Data dredging)
Hiện nay, khai phá dữ liệu và phát hiện tri thức được ứng dụng và triển khai trong thực tế, đem lại hiệu quả cao cho sản xuất kinh doanh và nghiên cứu khoa học Ví dụ như hệ thống SKICAT được sử dụng để phân tích ảnh vệ tinh, phân loại và sắp xếp nhóm các vật thể không gian từ các ảnh quan sát vũ trụ; hệ thống xử lý sự cố CASSIOPEE được dùng để phát hiện và tiên đoán các sự cố của máy bay Boeing; hệ thống TASA dùng để phân tích các lỗi báo động trên đường truyền trong lĩnh vực viễn thông
Theo tạp chí về công nghệ của trường MIT số ra tháng 1-2 năm 2001
“Khai phá dữ liệu được xem là một trong 10 công nghệ nổi bật nhất của thế kỷ 21”
1.2.3 Các giai đoạn của quá trình khai phá tri thức trong CSDL
Quá trình khai phá tri thức có thể phân thành các giai đoạn như hình 1.1:
Hình 1.1- Quá trình khai phá tri thức trong CSDL
Trang 167
Giai đoạn 1: Xác định mục tiêu và nhiệm vụ
Cũng giống như bất kỳ dự án thông thường nào, bước đầu tiên trong quá trình khai phá tri thức là phải tìm hiểu lĩnh vực ứng dụng, xác định rõ mục tiêu
và nhiệm vụ của bài toán Giai đoạn này là điều kiện tiên quyết cho việc trích rút
tri thức và lựa chọn kỹ thuật khai phá dữ liệu thích hợp với mục tiêu của dụng và đặc điểm của dữ liệu Do đó, để khai phá dữ liệu đạt hiệu quả cao, cần phải có một mô tả đầy đủ về mục tiêu cần đạt tới
Giai đoạn 2: Thu thập và trích lọc dữ liệu
Dựa trên mục tiêu bài toán tiến hành thu thập các dữ liệu liên quan Tiến hành thu thập những dữ liệu có sẵn, những dữ liệu cần thiết bổ sung sau đó tích hợp tất cả các dữ liệu cho việc khám phá tri thức vào một tập hợp dữ liệu Trích lọc dữ liệu theo một tiêu chí nhất định nào đó dựa trên mục tiêu bài toán Quá trình này là rất quan trọng vì nếu một số thuộc tính quan trọng bị bỏ qua dẫn tới toàn bộ nghiên cứu thất bại
Giai đoạn 3: Tiền xử lý dữ liệu
Thông thường dữ liệu trong thực tế chưa đáp ứng cho việc khai phá dữ liệu chẳng hạn như trùng lặp hoặc thiếu dữ liệu, thiếu thuộc tính hoặc thiếu giá trị của thuộc tính… Tình trạng đó có thể dẫn đến kết quả sai, kém tin tưởng Vì thế
dữ liệu để khai phá cần phải được tiền xử lý
Giai đoạn tiền xử lý dữ liệu bao gồm làm sạch dữ liệu, rút gọn dữ liệu
- Làm sạch dữ liệu: là quá trình xử lý dữ liệu bị thiếu, dữ liệu không nhất
quán, dữ liệu nhiễu,
Đối với việc xử lý dữ liệu bị thiếu có thể bỏ qua mẫu dữ liệu đó nếu mẫu
dữ liệu chứa nhiều thuộc tính thiếu giá trị hoặc điền vào các giá trị thiếu bằng tay hoặc bằng phương pháp toán học
Đối với việc xử lý dữ liệu nhiễu có một số giải pháp sau:
Trang 178
• Phương pháp chia giỏ: sắp xếp và chia dữ liệu vào các giỏ theo độ rộng (chia vùng giá trị thành N khoảng cùng kích thước), hoặc theo độ sâu (chia vùng giá trị thành N khoảng mà mỗi khoảng có chứa gần như cùng số lượng mẫu) Khử nhiễu bằng giá trị trung bình, trung tuyến, biên giỏ…
• Hồi quy: Phương pháp thường dùng là hồi quy tuyến tính, để tìm ra được một mối quan hệ tốt nhất giữa hai thuộc tính (hoặc các biến), từ đó một thuộc tính có thể dùng để dự đoán thuộc tính khác
• Gom nhóm (clustering): Các giá trị tương tự nhau được tổ chức thành các nhóm hay cụm Các giá trị rơi ra bên ngoài các nhóm này sẽ được xem xét để làm mịn
- Rút gọn dữ liệu:
Quá trình này đòi hỏi phải có một kỹ thuật phù hợp sao cho dữ liệu sau khi được rút gọn vẫn có khả năng được khai phá hiệu quả Việc rút gọn dữ liệu bao gồm các phương pháp như tổng hợp và tổng quát hóa, giảm chiều dữ liệu, nén
dữ liệu, giảm số lượng các bản ghi, rời rạc hóa
• Tổng hợp dữ liệu và tổng quát hóa: tổ hợp từ hai thuộc tính trở lên thành một thuộc tính, tổng quát dữ liệu cấp thấp vào dữ liệu cấp cao chẳng hạn như các thành phố tổng hợp vào vùng, khu vực, nước…
• Giảm chiều dữ liệu: thực hiện trích chọn đặc trưng, tìm ra tập các thuộc tính có khả năng khai phá tốt nhất loại bỏ các thuộc tính không liên quan, dư thừa bằng phương pháp vét cạn, phương pháp Heuristic, cây quyết định (các thuộc tính nằm trong cấu trúc cây quyết định sẽ được lựa chọn Thuộc tính nào không được đưa vào cây quyết định sẽ bị loại bỏ, do thuộc tính đó có ảnh hưởng không lớn đến kết quả.)…
• Nén dữ liệu: dùng biến đổi wavelet, phân tích thành phần cơ bản…
Giai đoạn 4: Biến đổi dữ liệu
Một số kỹ thuật áp dụng cho quá trình biến đổi dữ liệu:
- Chuyển đổi kiểu dữ liệu: Chẳng hạn như chuyển các cột dữ liệu kiểu
Trang 189 logic sang dạng nguyên và ngược lại
- Rời rạc hóa: biến đổi miền giá trị thuộc tính liên tục thành từng khoảng,
lưu nhãn của khoảng thay cho giá trị thực Chẳng hạn như thay thế giá trị tuổi bằng các nhãn như trẻ, trung niên, già
- Nhóm: Kỹ thuật này phân loại các giá trị trong một cột thành các nhóm,
sau đó ánh xạ giá trị ban đầu sang các giá trị nhóm tương ứng Chẳng hạn cột ngành nghề có những giá trị khác nhau như khoa học máy tính, truyền thông và mạng máy tính, kỹ thuật phần mềm, công nghệ thông tin… thì chúng ta có thể nhóm chúng lại thành nhóm ngành máy tính và công nghệ thông tin
- Chuẩn hóa: Một thuộc tính được chuẩn hóa bằng cách ánh xạ một cách có
tỉ lệ dữ liệu về một khoảng xác định ví dụ như 0.0 đến 1.0 Chuẩn hóa là một phần hữu ích của thuật toán phân lớp trong mạng noron, hoặc thuật toán tính toán độ lệch sử dụng trong việc phân lớp hay nhóm cụm các phần tử liền kề
Giai đoạn 5: Khai phá dữ liệu
Giai đoạn này áp dụng những kỹ thuật khai phá và thuật toán phù hợp nhằm khai thác dữ liệu Bao gồm các kỹ thuật khai phá như:
Phân lớp, phân loại (Classification)
Hồi quy (Regression)
Phân cụm(Clustering)
Khai thác mẫu tuần tự (Sequential/ Temporal patterns)
Phân tích luật kết hợp (Association Rules)
Phát hiện sự thay đổi và độ lệch (change and deviation dectection)
Trong mỗi kỹ thuật khai phá trên có thể có nhiều thuật toán khai phá dó đó cần lự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ố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến kết quả của các thuật toán Chẳng hạn như thuật toán ID3 và CART cho hiệu quả phân lớp rất cao đối với
Trang 1910 các trường dữ liệu số (quantitative value) trong khi đó các thuật toán như J48, C4.5 có hiệu quả hơn đối với các dữ liệu Qualititive value (ordinal, Binary, nominal)
Giai đoạn 6: Đánh giá mẫu và suy diễn đưa ra tri thức
Sau giai đoạn khai phá dữ liệu sẽ phát hiện được những mẫu tin (imformation parttems) hoặc những mối quan hệ đặc biệt sẽ được biểu diễn ở dạng cây, luật, đồ thị, bảng biểu, để gần gũi với người sử dụng Cũng trong giai đoạn này tiến hành đánh giá tri thức dựa trên những tiêu chí nhất định tùy theo từng bài toán
1.2.4 Kiến trúc hệ thống khai phá dữ liệu
Một hệ thống khai phá dữ liệu có kiến trúc được thể hiện trong hình sau:
Hình 1.2- Kiến trúc hệ thống khai phá dữ liệu
- Máy chủ cơ sở dữ liệu hay kho dữ liệu (Database or warehouse
server): có nhiệm vụ lấy dữ liệu thích hợp dựa trên những yêu cầu, mục tiêu
khai phá của bài toán
- Máy khai phá dữ liệu (Data mining engine): Tùy theo từng phương
Trang 2011 pháp kỹ thuật khai phá dữ liệu cần xây dựng các modun khác nhau đảm nhiệm từng chức năng cụ thể chẳng hạn như: phân lớp, phân loại, đặc trưng hóa, tổng hợp, phân cụm, phân tích sự tiến hoá
- Đánh giá mẫu (Pattern evaluation): Modun này tương tác với mođun
khai phá dữ liệu để đánh giá các mẫu có ích và đáng tin cậy Trong một số trường hợp, 2 modun đánh giá mẫu và modun khai phá dữ liệu được tích hợp vào nhau
- Cơ sở tri thức (Knowledge base): Đây là kho tri thức được dùng để ánh
xạ hay đánh giá độ quan trọng của các mẫu thông tin
- Giao diện đồ họa cho người dùng (Graphical user interface): người
dùng tương tác với hệ thống thông qua giao diện này
1.2.5 Một số kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu thường được chia làm 2 nhóm chính [13]:
Hình 1.3 Một số kỹ thuật khai phá dữ liệu
Dự đoán: là sử dụng một vài biến để dự báo giá trị chưa biết hoặc giá
trị tương lai của các biến khác Dự đoán bao gồm các kỹ thuật:
Trang 2112
- Phân lớp (classification) [7]: Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết trước đó dựa trên đặc trưng của tập dữ liệu Ví dụ, phân lớp các bệnh nhân, phân lớp các loài thực vật, Quá trình phân lớp dữ liệu thường gồm các bước: huấn luyện mô hình, kiểm thử
và đánh giá mô hình Dữ liệu gốc sẽ được chia thành 2 phần là Training Set (để xây dựng model) và Testing Set (để kiểm định model) tương ứng với hai bước trên Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như: cây quyết định, mạng noron, giải thuật di truyền, mạng Bayesian, tập mờ và tập thô
- Phân tích hồi quy (regression analysis)[9]: Quá trình học một hàm ánh
xạ từ một tập dữ liệu thành một biến dự đoán có giá trị thực Phân tích hồi quy
có nhiệm vụ tương tự như phân lớp nhưng khác nhau là thuộc tính dự báo là liên tục còn thuộc tính dự báo của phân lớp phải rời rạc Ứng dụng của hồi quy là rất nhiều, ví dụ: bằng các thiết bị cảm biến từ xa dự báo số lượng sinh vật phát quang hiện tại trong khu rừng bằng cách dò tìm vi sóng; ước tính xác suất của bệnh nhân có thể chết bằng cách kiểm tra các triệu chứng người bệnh…
- Phát hiện sự thay đổi và độ lệch (change and deviation dectection):
Phương pháp này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng là lệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là
sự thay đổi có nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tập con dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng có khác nhau đáng kể so với toàn bộ đối tượng [9, 15]
- Khai thác mẫu tuần tự (Sequential/ Temporal patterns): tương tự như
khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này có tính dự báo
Mô tả: là xác định các mẫu mô tả dữ liệu mà con người có thể hiểu
được Mô tả bao gồm các kỹ thuật:
Trang 2213
tự nhau vào các cụm sao cho mức độ tương tự nhau trong cùng một cụm là lớn nhất và mức độ tương tự nhau giữa các đối tượng nằm trong các cụm khác nhau
là nhỏ nhất Các cụm có thể tách nhau hoặc phân cấp hay gối lên nhau Có nghĩa
là một đối tượng có thể vừa thuộc cụm này lại vừa thuộc cụm khác Khác với phân lớp dữ liệu ở chỗ phân cụm dữ liệu không yêu cầu định nghĩa trước các mẫu dữ liệu huấn luyện, vì vậy có thể thấy chúng khác nhau ở chỗ nếu coi phân lớp dữ liệu là học bằng các ví dụ thì phân cụm dữ liệu là cách học bằng quan sát Phân cụm dữ liệu được ứng dụng nhiều trong phân loại khách hàng, phân đoạn thị trường, nhận dạng mẫu,… Trong kỹ thuật phân cụm chúng ta có thể sử dụng các giải thuật như: K-means, PAM, EM…
- Luật kết hợp (association rules): Phân tích dữ liệu nguồn và đưa ra các
mối liên hệ giữa các giá trị dữ liệu biểu diễn dưới dạng luật [14] Chẳng hạn như phân tích cơ sở dữ liệu điểm của sinh viên thu được thông tin những sinh viên học giỏi toán thì có điểm tin học cao, thông tin này được biểu diễn dưới dạng luật kết hợp như sau: “giỏi toán giỏi tin học”, “70% nữ giới vào siêu thị mua phấn thì có tới 80% trong số họ cũng mua thêm son”
Luật kết hợp thường có dạng X ^ Y Trong đó: X là tiền đề, Y là hệ quả (X,
Y là hai tập của mục) Ý nghĩa trực quan của luật là các giao tác của cơ sở dữ liệu mà trong đó nội dung X có khuynh hướng đến nội dung Y
Luật kết hợp được ứng dụng trong nhiều lĩnh vực khác nhau như y học, kinh doanh, thị trường chứng khoán, tài chính, phân tích quyết định…Trong kỹ thuật phân tích luật kết hợp có thể sử dụng các giải thuật như: thuật toán Apriori, thuật toán FP-Growth…
Hiện nay, các kỹ thuật khai phá dữ liệu có thể làm việc với rất nhiều kiểu
dữ liệu khác nhau, ví dụ như: CSDL đa chiều (Multidimensional Data Structures), CSDL quan hệ, CSDL quan hệ hướng đối tượng, CSDL giao tác, CSDL đa phương tiện, dữ liệu không gian và thời gian, dữ liệu văn bản và web,
Trang 2314
1.3 Kết luận chương 1
Như vậy có thể hiểu khai phá dữ liệu là quá trình khám phá tri thức tiềm
ẩn trong các cơ sở dữ liệu lớn Hiện nay, khai phá dữ liệu đã và đang được ứng dụng một cách rộng rãi trong rất nhiều lĩnh vực khác nhau Khai phá dữ liệu trong giáo dục nói chung và trong tư vấn hướng nghiệp nói riêng là lĩnh vực còn rất mới và đang thu hút được sự quan tâm của đông đảo cộng đồng Khai phá dữ liệu trong tư vấn hướng nghiệp, tuyển sinh nhằm giải đáp các câu hỏi trong hướng nghiệp, tuyển sinh từ đó hỗ trợ cho học sinh, sinh viên, các bậc phụ huynh và các nhà quản lý giáo dục trong việc ra quyết định nhằm nâng cao chất lượng đào tạo
Vấn đề lựa chọn phương pháp:
Qua phần trình bày trên, có thể thấy rằng có rất nhiều kỹ thuật để khai phá
dữ liệu Hiện tại vẫn chưa có một tiêu chuẩn nào trong việc quyết định sử dụng
kỹ thuật khai phá nào trong trường hợp nào thì hiệu quả Hơn nữa, lại có rất nhiều kỹ thuật, mỗi kỹ thuật được sử dụng cho nhiều bài toán khác nhau Vì vậy, trả lời cho câu hỏi “Dùng kỹ thuật nào?” là một vấn đề không đơn giản Mỗi kỹ thuật đều có điểm mạnh và điểm yếu nhất định, nên vấn đề đối với người sử dụng là phải lựa chọn và áp dụng các kỹ thuật một cách thật đơn giản, dễ sử dụng và hiệu quả
Hầu hết các kỹ thuật khai phá dữ liệu đều còn mới mẻ với lĩnh vực tư vấn hướng nghiệp, tuyển sinh Trong đề tài nghiên cứu, từ kho dữ liệu ban đầu là kết quả học tập của học sinh, danh sách các ngành nghề, danh sách các trường đại học cao đẳng và các trường nghề thì tác giả lựa chọn phương pháp phân lớp dữ liệu và xây dựng hệ hỗ trợ ra quyết định cho bài toán tư vấn hướng nghiệp Chương 2 sẽ tập trung trình bày về hệ hỗ trợ ra quyết định và áp dụng vào bài toán tư vấn hướng nghiệp
Trang 2415
Chương HỆ HỖ TRỢ RA QUYẾT ĐỊNH TƯ VẤN HƯỚNG NGHIỆP
Trong chương này, luận văn sẽ trình bày về hệ hỗ trợ ra quyết định và ứng dụng vào bài toán tư vấn hướng nghiệp, bao gồm những nội dung sau:
Tổng quan về hệ hỗ trợ ra quyết định và kỹ thuật phân lớp dữ liệu bằng cây quyết định
Ứng dụng vào giải quyết bài toán xây dựng hệ hỗ trợ tư vấn hướng nghiệp
1 T ng quan v hệ hỗ trợ ra quyết định
2.1.1 Khái niệm
Trong thập niên 1970, Scott Morton đưa ra khái niệm đầu tiên về Hệ hỗ trợ
ra quyết định (Decision Support System - DSS) Ông định nghĩa DSS như là những hệ thống máy tính tương tác nhằm giúp những người ra quyết định sử dụng dữ liệu và mô hình để giải quyết các vấn đề không có cấu trúc [16]
Thông thường các hệ hỗ trợ quyết định có đặc trưng gồm:
• Phần mềm máy tính
• Chức năng hỗ trợ ra quyết định
• Làm việc với các bài toán có cấu trúc yếu
• Hoạt động theo cách tương tác với người dùng
• Được trang bị nhiều mô hình phân tích và mô hình dữ liệu
Ưu thế của người ra quyết định:
Trang 2516
- Khả năng xử lý
Kết hợp cả ưu thế của người ra quyết định và máy tính, ta có ưu thế của Hệ hỗ trợ ra quyết định:
- Tăng hiệu quả
- Tăng sự hiểu biết
Chức năng cụ thể của từng thành phần này như sau:
Người ra quyết định: đối tượng chính sử dụng hệ DSS
Giao diện người máy: Đối thoại giữa người sử dụng và hệ DSS
- Cách dùng hệ DSS
- Cách vận hành
- Các chế độ hội thoại
Các yếu tố giao diện bao gồm:
- Cơ sở tri thức: Là những tri thức cung cấp cho người sử dụng biết về cách
Trang 2617 thức vận hành và sử dụng DSS và cung cấp các tri thức xung quanh bài toán cần giải quyết
- Ngôn ngữ hành động (action language): DSS hành động theo cơ chế
+ Cơ chế hỏi đáp: Hội thoại, form nhập liệu Tiếng nói
+ Cơ chế Menu: Menu bằng lời, bằng hình ảnh, biểu tƣợng
- Các hệ quản trị CSDL về bài toán
- Phân tích tài liệu: trích lọc các tri thức tiềm ẩn trong các tài liệu chuyên môn khác nhau
- Phân tích và đối thoại với chuyên gia
Mô hình phân tích
- Mô hình chiến lƣợc: xác định mục đích bài toán, các tài nguyên yêu cầu
- Mô hình chiến thuật: các chiến thuật trợ giúp các vấn đề nhƣ sử dụng tài nguyên hiệu quả
- Mô hình hoạt động: hỗ trợ ra quyết định
2.2 Bài toán phân lớp dữ liệu với cây quyết định
2.2.1 Khái niệm phân lớp dữ liệu
Phân lớp dữ liệu là gán các mẫu mới vào các lớp với độ chính xác cao nhất
để dự đoán các bộ dữ liệu, mẫu mới đƣợc gán nhãn Phân lớp cũng dự đoán loại lớp của nhãn
Input: - Tập các ví dụ (dữ liệu huấn luyện) và một nhãn phân lớp cho mỗi
Trang 2718 mẫu dữ liệu
Output: Mô hình dự đoán hay bộ phân lớp dữ liệu
2.2.2 Quá trình phân lớp dữ liệu
Quá trình phân lớp dữ liệu được tiến hành bao gồm 2 bước:
Bước 1: Xây dựng mô hình :là mô tả một tập những lớp được định nghĩa
Đánh giá tính đúng đắn của mô hình:
Nhãn được biết của mẫu đem kiểm tra được so sánh với kết quả phân lớp thu được từ mô hình
Trang 2819
Tính đúng đắn được đo bằng tỉ lệ phần trăm các tập mẫu dữ liệu được phân lớp đúng bởi mô hình trong số tổng số các lần kiểm tra
Hình 2.2 Sử dụng mô hình phân lớp dữ liệu
2.2.3 Một số phương pháp phân lớp dữ liệu
Đối với mỗi dạng dữ liệu khác nhau và với mỗi bài toán khác nhau thì có các phương pháp phân lớp dữ liệu khác nhau Các phương pháp phân lớp phổ biến là:
2.2.3.1 Cây quyết định
Cây quyết định là một dạng cấu trúc mô tả tri thức dưới dạng cây nhằm phân các đối tượng dữ liệu thành một số lớp nhất định Cấu trúc cây quyết định bao gồm các nút và các nhánh (cung)
- Các nút của cây được gán nhãn là tên các thuộc tính Mỗi nút thuộc một trong ba loại: nút gốc, nút lá và nút trong
- Các nhánh (cung) được gắn giá trị của các thuộc tính nếu có
Các đối tượng được phân lớp theo các đường đi trên cây, qua các cung tương ứng với giá trị của thuộc tính của đối tượng tới lá
Trang 2920 Hình 2.3 Mô hình cây quyết định
2.2.3.2 Phướng pháp dựa trên luật kết hợp:
Đây là phương pháp biểu diễn tri thức đơn giản và dễ hiểu Đầu ra của phương pháp này là một tập luật mà mỗi luật có dạng: X => Y (nếu có X thì có Y) Kèm theo mỗi luật tìm được là các tham số độ bao phủ của luật (coverage
of rule) và độ tin cậy của luật (accuracy of rule) Độ bao phủ và độ tin cậy là hai
độ đo phản ánh sự hữu ích và sự chắc chắn của luật, chúng được tính theo công thức:
Độ bao phủ (covergage) = Số bản ghi chứa X / Tổng số bản ghi
Độ tin cậy (accuracy) = Số bản ghi chứa cả X và Y / Số bản ghi chứa X
Phát hiện các luật kết hợp là phải tìm tất cả các luật thoả mãn ngưỡng độ tin cậy và độ bao phủ cho trước
2.2.3.3 Phương pháp Naive Bayess
Phương pháp này dựa trên lý thuyết thống kê, tính toán xác suất của các lớp thành viên và đưa ra xác suất để một bộ dữ liệu thuộc về một lớp xác định Phương pháp này dựa trên cơ sở lý thuyết Bayes do một nhà lý thuyết vào thế kỷ
18 và còn được gọi là phương pháp phân lớp ngây thơ theo Bayes (naive Bayesian classifier) hay có thể gọi là phân lớp Bayes đơn giản Phân lớp Bayes dựa trên một giả định là các lớp độc lập với nhau nhưng trong thực tế thì không phải lúc nào cũng thỏa mãn Để biểu diễn sự phụ thuộc này, người ta đưa ra một
Trang 3021
mô hình liên hệ giữa các yếu tố xác suất, mô hình này tạo thành một sơ đồ như
là một sơ đồ mạng và được gọi là mạng niềm tín Bayes (Bayesian belief network) Mạng này sẽ được “huấn luyện” để học và tuỳ theo phương pháp cũng như dữ liệu học sẽ quyết định độ chính xác của mạng
2.2.3.4 Phương pháp SVM (Support Vector Machine)
Đây là một phương pháp tương đối mới trong thời gian gần đây Ý tưởng chính của phương pháp này là dùng một đường phân chia (còn gọi là biên quyết định) để phân chia tập dữ liệu
Trang 3122 Hình 2.5 - Một mô hình mạng nơron
Trong số những phương pháp trên, cây quyết định được đánh giá là một phương pháp mạnh, dễ triển khai và đặc biệt thích hợp cho phân lớp dữ liệu Một số ưu điểm nổi bật của cây quyết định có thể kể ra như: đơn giản, dễ hiểu xây dựng tương đối nhanh Thêm nữa các cây quyết định có thể chuyển đổi sang các câu lệnh truy vấn SQL dễ dàng, thuận tiện cho việc truy nhập CSDL Từ những ưu điểm đó, trong luận văn tác giả lựa chọn cây quyết định để nghiên cứu
và giải quyết bài toán xây dựng hệ hỗ trợ quyết định tư vấn hướng nghiệp
2.3 Cây quyết định
2.3.1 Khái niệm cây quyết định
Cây quyết định (decision tree) là một dạng cấu trúc mô tả tri thức dưới
dạng cây nhằm phân các đối tượng dữ liệu thành các lớp nhất định Cấu trúc cây quyết định phân cấp của các nút và các nhánh trong đó:
- Nhánh (branch): biễu diễn giá trị có thể có của thuộc tính (đường mũi
tên)
- Nút (node): mỗi nút mạng một thuộc tính bao gồm 3 loại
Nút gốc (root node) là đỉnh trên cùng của cây
Nút lá (leaf node) là nút ngoài cùng, mang thuộc tính phân lớp (hình
tròn)
Trang 32Đánh giá ưu nhược điểm của cây quyết định:
Ưu điểm của cây quyết định: Ưu điểm lớn nhất của cây quyết định đó là
mô tả đơn giản, dễ hiểu đối với người sử dụng Cây quyết định là tự giải thích vì hai lý do thứ nhất nếu các cây quyết định có một số lượng hợp lý của lá, nó có thể được nắm bắt bởi người dùng không chuyên nghiệp Thứ hai, 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 có khả năng xử lý các tập dữ liệu thiếu giá trị [17]
Nhược điểm của cây quyết định: Hầu hết các thuật toán (như ID3 và C4.5) yêu cầu các thuộc tính mục tiêu phải là giá trị rời rạc 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 [17]
2.3.2 Quá trình xây dựng cây quyết định
Quá trình xây dựng cây quyết định gồm hai giai đoạn:
Trang 3324
a Tạo cây quyết định
Việc tạo cây quyết định gồm 2 bước: Tạo cây và tỉa cây
Tạo cây, cây quyết định được tạo từ trên xuống Bắt đầu tạo cây quyết định
tại nút gốc, toàn bộ 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
- Số lượng phần tử của dữ liệu tại nút bằng không
Tỉa cây, là xóa những nhánh có những phần tử nằm ngoài các lớp hoặc
phần tử hỗn loạn
b Sử dụng cây quyết định
Để sử dụng cây quyết định, chúng ta duyệt cây bắt đầu từ nút gốc của cây, tất cả các dữ liệu học ở nút gốc Căn cứ vào cây để sinh ra tập luật, từ các luật này dự đoán cho các mẫu dữ liệu chưa biết
2.3.3 Thuật toán ID3 xây dựng cây quyết định
2.3.3.1 Giới thiệu về thuật toán ID3
Hiện nay có nhiều thuật toán xây dựng cây quyết định như: SLIQ, ID3, C4.5, J48, và See5, C5.0, trong luận văn này sẽ tập trung trình bày về thuật toán ID3
Thuật toán ID3 được phát biểu bởi Quinlan (trường đại học Syney, Australia) và đuợc công bố vào cuối thập niên 70 của thế kỷ 20 ID3 có khả năng lựa chọn thuộc tính tốt nhất để tiếp tục triển khai cây tại mỗi buớc
Trang 3425 Giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training data) Hay nói khác hơn, giải thuật có:
Giải thuật ID3 được mô tả như sau:
Đầu vào: Một tập hợp các dữ liệu huấn luyện Dữ liệu này bao gồm các thuộc tính mô tả một đối tượng hay một tình huống nào đó, và một giá trị phân loại
Đầu ra: Cây quyết định có khả năng phân lớp tập dữ liệu rèn luyện, và hy vọng rằng cây đó có khả năng phân lớp đúng cho cả các dữ liệu chưa gặp trong tương lai
2.3.3.2 Giải thuật ID3 xây dựng cây quyết định
ID3 xây dựng cây quyết định theo cách từ trên xuống (top -down) Với mỗi thuộc tính bất kỳ đều có thể phân lớp các tập dữ liệu huấn luyện thành những tập con có giá trị chung cho thuộc tính đó Thuật toán ID3 chọn một thuộc tính để tính toán tại nút hiện tại của cây và dùng kiểm tra này để phân vùng tập hợp các
ví dụ; 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 Quá trình này tiếp tục cho đến khi mọi thành phầ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
* ID3 xây dựng cây quyết định theo giải thuật sau:
Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
begin
if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó else if tập_thuộc_tính là rỗng then
return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong
tập_ví_dụ
Trang 3526
else
begin
chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập_thuộc_tính;
với mỗi giá trị V của P;
begin
tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùngV các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P;
Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết quả
vào nhánh V
end end
end
2.3.4 Chọn thuộc tính phân hoạch tốt nhất
Trong quá trình xây dựng cây quyết định có thể thấy rằng 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
Để chọn thuộc tính phân hoạch tốt nhất cho việc xây dựng cây quyết định,
ở từng giai đoạn, ID3 sử dụng các đại lƣợng: độ pha trộn Entropy, độ lợi thông tin (information gain), độ đo information gain ratio, chỉ số gini
2.3.4.1 Độ pha trộn Entropy
Định nghĩa entropy của một tập S đƣợc đề cập đến trong lý thuyết thông tin
là số lƣợng mong đợi các bít cần thiết để mã hóa thông tin về lớp của một thành
Trang 3627 viên rút ra một cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn nhất Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán –log2p bits cho thông điệp có xác suất là p
Giả sử S là tập dữ liệu huấn luyện, khi đó:
Entropy có giá trị nằm trong khoảng [0 1]
Entropy(S) = 0 tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay S
2.3.4.2 Độ lợi thông tin Gain
Độ lợi thông tin của thuộc tính A trên tập S được tính theo công thức: Trong đó:
P, N là hai lớp
S là tập dữ liệu có p phần tử lớp P và n phần tử lớp N
Tập {S1, S2,…Sv} là một phân hoạch trên tập S, khi sử dụng thuộc tính
A Mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N
Xét ví dụ với tập dữ luyện như bảng sau:
Bảng 2.1 Dữ liệu thi đại học