Chính vì vậy mà hiện nay các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế, từ những hiện trạng này đã làm phát triển một kỹ t
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN THANH PHONG
XÂY DỰNG HỆ THỐNG HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS TRƯƠNG NGỌC CHÂU
Phản biện 1: PGS.TS NGUYỄN TẤN KHÔI
Phản biện 2: TS NGUYỄN THÁI SƠN
Luận văn được bảo vệ trước hội đồng chấm luận văn tốt nghiệp thạc sỹ kỹ thuật, chuyên ngành Khoa học máy tính họp tại Trường Đại học Trà Vinh vào ngày 16 tháng 9 năm 2017
Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
- Thư viện khoa Công nghệ thông tin, Trường Đại học Bách
khoa - ĐHĐN
Trang 3MỞ ĐẦU
1 Lý do chọn đề tài
Sự phát triển không ngừng của ngành công nghệ thông tin nói chung và các lĩnh vực ngành công nghệ phần mềm nói riêng, việc tin học hóa các công tác quản lý trong nhiều lĩnh vực, hoạt động khác nhau đã tạo ra cho chúng ta một thư viện dữ liệu khổng
lồ, sẵn sàng phục vụ bất cứ ai quan tâm Đối với chúng ta nó là một trong những nguồn tài nguyên thông tin vô cùng giá trị, việc tận dụng kho dữ liệu này để làm cơ sở cho việc hỗ trợ ra quyết định trong công tác quản lý mang lại hiệu quả đáng kể Nhưng vấn
đề là chúng ta cần phải phân loại nguồn tài nguyên đó như thế nào
để sử dụng có hiệu quả nhất trong từng lĩnh vực cụ thể
Chính vì vậy mà hiện nay các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế, từ những hiện trạng này đã làm phát triển một kỹ thuật mới nhằm giải quyết bài toán này, đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (Knowledge Discovery and Data Mining)
Bản thân tôi hiện nay đang công tác tại Trung tâm giáo dục thường xuyên Tỉnh Trà Vinh nhận thấy đây là một vấn đề khó khăn trong chuyên môn của các đơn vị trường học nên cố gắng vận dụng những kiến thức được học tại lớp Cao học ngành Công nghệ Thông tin của Trường Đại học Đà Nẵng để đưa ra một giải pháp dự đoán, định hướng được các ngành nghề trong tương lai dựa vào kết quả học tập tốt nghiệp THPT và sở thích của học sinh
Vì những lý do như trên, tôi đề xuất chọn đề tài luận văn cao
Trang 4học“Xây dựng hệ thống hỗ trợ tư vấn hướng nghiệp cho học sinh
- Nắm vững và vận dụng tốt kỹ thuật phân lớp dựa trên cây quyết định để đưa ra những dự đoán về kết quả tốt nghiệp trung học phổ thông của học sinh lớp 12 của các trường THPT
trong tỉnh
- Đánh giá kết quả theo yêu cầu của đề tài
- Nghiên cứu đánh giá và xếp loại học trung học phổ thông; Những định hướng của Bộ về phát triển toàn diện chương
trình giáo dục phổ thông
Trang 53 Đối tượng và phạm vi nghiên cứu
- Quá trình khám phá tri thức và khai phá dữ liệu Các kỹ thuật về khai phá dữ liệu, một số thuật toán được áp dụng cho từng
kỹ thuật
- Bảng ghi thông tin điểm thi đầu vào của trường Đại học Trà Vinh
- Các văn bản hướng dẫn cách đánh giá, xếp loại học sinh
4 Phương pháp nghiên cứu
- Nghiên cứu kỹ thuật phân lớp dựa trên cây quyết định
b Phương pháp thực nghiệm
- Sử dụng phần mềm C# và sql sever
- Cài đặt ứng dụng trên môi trường window
- Kiểm tra, thử nghiệm và đánh giá kết quả
5 Ý nghĩa đề tài
a Ý nghĩa khoa học
- Hiểu được một số kỹ thuật cơ bản để khai phá dữ liệu, các chức năng và ứng dụng của khai phá dữ liệu
- Phát triển ứng dụng để góp phần phổ biến và từng bước
thâm nhập sâu hơn về kỹ thuật này
Trang 6b Ý nghĩa thực tiễn
- Ứng dụng những thành quả của công nghệ thông tin vào lĩnh vực giáo dục, góp phần phục vụ tốt việc tìm hiểu nghiên cứu đánh giá chất lượng giáo dục tại các trường trung học phổ thông của tỉnh Trà Vinh
- Hỗ trợ công tác quản lý, đề ra định hướng và tư vấn cho các em học sinh trong tương lai
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu chung
1.2 Các khái niệm về khai phá dữ liệu
1.3 Tại sao phải khai phá dữ liệu
1.4 Quá trình khai phá tri thức
1.5 Các kỹ thuật khai phá dữ liệu
Hai mục đích chính của khai phá dữ liệu trong thực tế là
dự đoán và mô tả
a Khai phá dữ liệu dự đoán
Nhiệm vụ của khai phá dữ liệu dự đoán là đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nó sử dụng các biến hay các trường trong cơ sở dữ liệu để dự đoán các giá trị không biết hay các giá trị tương lai Bao gồm các kĩ thuật: phân loại (classification), hồi quy (regression)
Phân loại
Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân loại dữ liệu thường
gồm 2 bước: xây dựng mô hình và sử dụng mô
hình để phân loại dữ liệu
• Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước
• Bước 2: Sử dụng mô hình để phân loại dữ liệu Trước hết chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác
là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp
cho các mẫu dữ liệu khác trong tương lai
Trang 8Hồi quy
Phương pháp hồi qui khác với phân loại dữ liệu ở chỗ, hồi qui dùng để dự đoán về các giá trị liên tục còn phân loại dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc
b Khai phá dữ liệu mô tả
Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules)
Luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong CSDL Khai phá luật kết hợp được thực hiện qua 2 bước;
Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Bước 2: sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
1.6 Những thách thức trong ứng dụng và nghiên cứu trong kỹ thuật khai phá dữ liệu
Các vấn đề về cơ sở dữ liệu
Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm
trường và bảng, hàng triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường
Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số
các trường trong cơ sở dữ liệu cũng nhiều Vì vậy mà kích thước
Trang 9của bài toán trở nên lớn hơn Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn
Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ
liệu là nội dung của chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu
Các trường không phù hợp: Một đặc điểm quan trọng
khác là tính không thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác
Các giá trị bị thiếu: Trong hệ thống tương tác, sự thiếu
vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu cho giá trị của
nó hoặc kiểm tra để xác định giá trị của nó
Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ
liệu có thể làm cho các dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở dữ liệu phải phát hiện được toàn bộ các thuộc tính
có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng nhằm giải quyết bài toán
Độ nhiễu và không chắc chắn: Các giá trị của các thuộc
tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập các giá trị định danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúc ngữ nghĩa
Mối quan hệ phức tạp giữa các trường: các thuộc tính
hoặc các giá trị có cấu trúc phân cấp, các mối quan hệ giữa các thuộc tính để diễn tả tri thức về nội dung của cơ sở dữ liệu yêu cầu các giải thuật phải có khả năng sử dụng một cách hiệu quả các thông tin này
Trang 10Một số vấn đề khác
“Quá phù hợp” (Overfitting): một giải thuật tìm kiếm các
tham số tốt nhất cho sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ
bị tình trạng “quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giải pháp khắc phục bao gồm đánh giá chéo (cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác
Sự tương tác với người sử dụng và các tri thức sẵn có: rất
nhiều công cụ và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc sử dụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn
Trang 11CHƯƠNG 2 PHƯƠNG PHÁP PHÂN CỤM VÀ PHÂN LỚP DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU
- Phương pháp dựa trên cây quyết định
- Phương pháp dựa trên luật
- Phương pháp Nạve Bayes
- Phương pháp dựa trên thể hiện
- Mạng Nơron
- SVM (support vector machine)
- Tập thơ
2.2.3 Cây quyết định ứng dụng trong phân lớp dữ liệu
2.2.4 Xây đựng cây quyết định
2.2.5 Thuật tốn phân lớp cây quyết định ID3
ID3 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á trị của nĩ trên một số thuộc tính nào đĩ
Trang 12Như vậy, nhiệm vụ của 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ó:
Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp
trong tương lai
Các nút trong cây quyết định biểu diễn cho một sự kiểm tra trên một thuộc tính nào đó, mỗi giá trị có thể có của thuộc tính
đó tương ứng với một nhánh của cây Các nút lá thể hiện sự phân loại của các ví dụ thuộc nhánh đó, hay chính là giá trị của thuộc tính phân loại
2.2.6 Chuyển cây về các luật
2.2.7 Khi nào nên sử dụng ID3
Giải thuật ID3 là một giải thuật học đơn giản nhưng nó chỉ phù hợp với một lớp các bài toán hay vấn đề có thể biểu diễn bằng
ký hiệu Chính vì vậy, giải thuật này thuộc tiếp cận giải quyết vấn
đề dựa trên ký hiệu (symbol – based approach)
Trang 13CHƯƠNG 3 XÂY DỰNG CÂY QUYẾT ĐỊNH ĐỂ ĐÁNH GIÁ KẾT QUẢ THI ĐẦU VÀO CỦA SINH VIÊN TRƯỜNG ĐH TRÀ VINH TỪ ĐÓ TƯ VẤN CHO CÁC EM CÁC NGÀNH NGHỀ TRONG TƯƠNG LAI
3.1 Phân tích bài toán và hướng giải quyết
3.1.1 Phát biểu bài toán
Đa số học sinh lớp 12 thiếu sự hiểu biết đầy đủ về nghề nghiệp cũng như về đặc điểm bản thân, từ đó dẫn đến việc các em
có suy nghĩ sai lệch trong việc định hướng nghề nghiệp tương lai
Để thành công trong cuộc sống, các em học sinh phải biết lựa chọn nghề nghiệp cho mình phù hợp giữa nguyện vọng, khả năng của bản thân với nhu cầu của xã hội Để chọn được cho mình một nghề phù hợp, các em cần chú ý một vài yếu tố sau trước khi
ra quyết định:
1 Tìm hiểu thế giới này có bao nhiêu ngành nghề: Tìm hiểu từng ngành nghề một, tư duy nghề nghiệp có hợp với cá nhân, sở thích, nhu cầu tuyển dụng, công việc cụ thể ra sao
2 Xác định sở thích bản thân: Các em phải biết xác định rõ mình hứng thú với nghề gì? Đam mê với nghiệp gì? Hiện nay, rất nhiều bạn sinh viên học tới năm thứ 3 rồi vẫn nhảy trường và đến khi tốt nghiệp thì nhảy việc
Từ các yêu cầu trên em xây dựng cây quyết định bằng phần mềm Weka để xử lý bài toán
Trang 143.1.2 Giải quyết bài toán
Để giải quyết bài toán trên cần phân tích số liệu từ bảng điểm thi đầu vào và đầu ra của sinh viên Từ đó, trích rút các tri thức cần thiết để đề xuất các giải pháp giúp nhà trường nâng cao chất lượng đào tạo và tư vấn cho học sinh lựa chọn ngành nghề phù hợp Việc trích rút tri thức được thực hiện qua phần mềm mã nguồn mở Weka
Do sử dụng JVM nên Weka độc lập với môi trường
3.3 Sử dụng phần mềm Weka để xây dựng cây quyết định để
từ đó tư vấn cho các em ngành nghề trong tương lai
Nhằm đạt được mục tiêu cuối cùng là nâng cao chất lượng và
số lượng học sinh đỗ tốt nghiệp đại học đạt khá giỏi tại trường Đại học Trà Vinh ngày càng cao Việc sử dụng phương pháp phân lớp giúp xác định được chất lượng chuyên môn của các môn thi bắt buộc và điểm xét tốt nghiệp của học sinh, từ đó giúp ban giám hiệu nhà trường tư vấn cho các em chọn đúng ngành nghề Mặt khác, để giúp các cấp quản lý, hội đồng bộ môn, ban giám hiệu các trường THPT xây dựng kế hoạch hợp lí hơn nhằm đạt được những mục tiêu mong muốn Tôi nghĩ có thể vận dụng phương pháp phân lớp dựa trên cây quyết định khai thác tập dữ liệu điểm
Trang 15đầu vào và đầu ra của sinh viên từ đó các được cái nhìn khách quan hơn, chính xác hơn
3.4 Thu thập dữ liệu
3.5 Thực hiện khai phá dữ liệu
3.6 Sử dụng phần mềm weka chọn thuật toán J48 để xây dựng cây quyết định
3.6.1 Giới thiệu về cây quyết định
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật (series of rules
Có rất nhiều thuật toán phân lớp như ID3, J48, C4.5, CART
… Việc chọn thuật toán nào để có hiệu quả phân lớp cao tùy thuộc rất nhiều vào yếu tố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến thuật toán
Sau khi chuẩn hóa dữ liệu thì bảng dữ liệu chỉ toàn kiểu Nominal Vì vậy thực hiện thuật toán J48 để đạt hiệu quả cao
3.6.2 Thuật toán cây quyết định
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 trong khai phá và phân lớp dữ liệu
Đặc điểm của cây quyết định: là một cây có cấu trúc, trong đó:
Root (Gốc): Là nút trên cùng của cây
Node trong: nút trung gian trên một thuộc tính đơn (hình Oval)
Nhánh: Biểu diễn các kết quả của kiểm tra trên nút Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vuông hoặc chữ nhật)
Trang 16Hình 3.6 Cây quyết định
- Xây dựng cây quyết định gồm 2 bước
+ Phát triển cây quyết định đi từ gốc, đến các nhánh, phát triển quy nạp theo hình thức chia để trị
Chọn thuộc tính tốt nhất bằng một mật độ đo đã định trước
Phát triển cây bằng cách thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn Sắp xếp, phân chia tập dữ liệu đào tạo với các node con
Nếu các ví dụ được phân lớp rõ ràng thì dừng Ngược lại: lặp lại các bước 1 đến bước 4 cho từng node con
+ Cắt tỉa cây: nhằm đơn giản hóa, khái quát cây, tăng độ chính xác