Luận văn đi sâu vào việc khai phá dữ liệu từ thơng tin cá nhân, điểm tuyển sinh đầu vào kết hợp với lộ trình học để dự đốn kết quả học tập của sinh viên, hỗ trợ tư vấn cho sinh viên lựa
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THANH HƯƠNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THANH HƯƠNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN HÀ NAM
Hà Nội - 2015
Trang 3LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS.Nguyễn Hà Nam, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, người thầy đã dành nhiều thời gian tận tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quá trình tìm hiểu, nghiên cứu.Thầy là người đi ̣nh hướng và đưa ra nhiều góp ý quý báu trong quá trình tôi thực hiện luâ ̣n văn
Tôi xin chân thành cảm ơn các thầy, cô ở khoa Công nghệ thông tin – Trường Đại học Công nghệ - ĐHQGHN đã cung cấp cho tôi những kiến thức và tạo cho tôi những điều kiện thuận lợi trong suốt quá trình tôi học tập tại trường
Tôi cũng bày tỏ lòng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồng nghiệp đã cung cấp dữ liệu, tài liệu và cho tôi những lời khuyên quý báu Tôi xin cảm ơn gia đình, người thân, bạn bè và các thành viên trong nhóm nghiên cứu luôn động viên và tạo mọi điều kiện tốt nhất cho tôi
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 1 năm 2016
Họ và tên
Nguyễn Thị Thanh Hương
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi, thực hiện dưới sự hướng dẫn của PGS.TS Nguyễn Hà Nam
Các kết quả nêu trong luận văn là trung thực và chưa được ai công bố trong bất cứ công trình nào khác
Hà Nội, tháng 1 năm 2016
Họ và tên
Nguyễn Thị Thanh Hương
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6
Chương 1 Giới thiệu tổng quan 9
1.1.Bài tốn ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường ĐHCNHN 9
1.2 Một số hướng nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục hiện nay 10
1.3 Hướng tiếp cận của luận văn 11
1.4 Kết luận chương 1 11
Chương 2 Các kiến thức cơ sở liên quan 12
2.1 Khai phá dữ liệu 12
2.1.1 Khái niệm KPDL 12
2.1.2 Những nhĩm bài tốn của KPDL 13
2.1.3 Các bước xây dựng một giải pháp về KPDL 14
2.1.4 Ứng dụng KPDL trong giáo dục 15
2.2 Một số kỹ thuật KPDL trong phân lớp, dự báo 16
2.2.1 Cây quyết định 16
2.2.2 Phân lớp Nạve Bayes 18
2.2.3 Mạng nơ ron nhân tạo 19
2.2.4 Luật kết hợp 21
2.3 KPDL với hệ quản trị CSDL SQL Server 23
2.3.1 Giới thiệu chung 23
2.3.2 Ngơn ngữ truy vấn KPDL DMX (Data Mining Extensions) 25
2.3.3 Bộ cơng cụ SQL Server Business Intelligence Development Studio 29
2.3.4 Lập trình KPDL với Analysis Services APIs 29
2.3.5 Đánh giá hiệu quả của các mơ hình KPDL 30
2.4 Kết luận chương 2 30
Chương 3 Phương pháp giải quyết bài tốn 31
3.1 Tìm hiểu và thu thập dữ liệu điểm 31
Trang 63.2 Xây dựng mô hình 37
3.3 Lập trình KPDL với Analysis Services APIs 42
3.4 Đánh giá mô hình 44
3.4.1 Đánh giá các mô hình dự báo với Lift Chart 44
3.4.2 Đánh giá các mô hình dự báo với Classification Matrix 48
3.5 Kết luận chương 3 50
Chương 4 Xây dựng hệ thống tư vấn học tập tại trường ĐHCNHN 51
KẾT LUẬN 59
HƯỚNG PHÁT TRIỂN 59
TÀI LIỆU THAM KHẢO 60
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt Ý nghĩa
BIDS Bussiness Intelligence Development Studio
DMX Data Mining Extensions
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.4: Lựa chọn các thuật tốn khai phá dữ liệu theo mục đích 23
Bảng 3.1: Bảng dữ liệu xây dựng hệ thống tư vấn học tập 34
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Các bước xây dựng một hệ thống KPDL 12
Hình 2 1: Biểu diễn cây quyết định cơ bản 17
Hình 2 2: Cây quyết định cho việc chơi Tennis 17
Hình 2 3: Mơ hình mạng nơron nhiều lớp 19
Hình 2 4: Tiến trình học 20
Hình 2 5: Hình ảnh tổng quan về KPDL với SQL 2008 23
Hình 3 1: Mơ hình CSDL quan hệ được thu thập để xây dựng hệ thống 32
Hình 3 2: Một phần bảng các lộ trình học theo ngành 34
Hình 3 3: Một phần dữ liệu xây dựng hệ thống 36
Hình 3 4: Tạo 04 Mining Models cho một Mining Structure 37
Hình 3 5: Kết quả tạo viewer cho mơ hình Cây quyết định 38
Hình 3 6: Kết quả tạo viewer cho mơ hình Luật kết hợp 38
Hình 3 7: Kết quả tạo viewer cho mơ hình Nạve Bayes 39
Hình 3 8: Kết quả tạo viewer cho mơ hình mạng nơ ron nhân tạo 39
Hình 3 9: Biểu đồ Lift Chart cho 04 mơ hình 40
Hình 3 10: Kết quả của ma trận Classification Matrix của 04 mơ hình 40
Hình 3 11: Thiết kế một truy vấn DMX với mơ hình được chọn 41
Hình 3 12: Kết quả truy vấn với mơ hình được chọn 42
Hình 3 13: Sự phụ thuộc của thuộc tính dự đốn vào các thuộc tính khác 44
Hình 3 14: Lựa chọn Lift Chart với Predict Value=”K” 45
Hình 3 15: Kết quả Lift Chart khơng xác định giá trị thuộc tính dự đốn 47
Hình 3 16: Classification Matrix của 04 mơ hình 49
Hình 3 17: Biểu đồ so sánh mức độ chính xác các mơ hình 50
Hình 4 1: Sơ đồ hoạt động của hệ thống 52
Hình 4 2: Kết quả tư vấn học tập với mơ hình Nạve Bayes 53
Hình 4 3: Kết quả tư vấn học tập với mơ hình Cây quyết định 54
Hình 4 4: Kết quả tư vấn học tập với mơ hình Luật kết hợp 54
Hình 4 5: Kết quả tư vấn học tập với mơ hình Neural Network 55
Hình 4 6: Kết quả tư vấn học tập với sinh viên nam 56
Hình 4 7: Kết quả tư vấn học tập với sinh viên nữ 57
Hình 4 8: Xem chi tiết một lộ trình học 57
Trang 10LỜI MỞ ĐẦU
Trường ĐHCNHN là một trường nằm trong hệ thống các trường chuyên nghiệp trực thuộc Bộ cơng thương Một vấn đề cấp thiết đặt ra trong cơng tác quản lý và đào tạo của nhà trường là xây dựng các mục tiêu, chiến lược nhằm mở rộng quy mơ đào tạo, thu hút được nhiều sinh viên, bên cạnh đĩ là việc nâng cao chất lượng giảng dạy, đảm bảo đào tạo những sinh viên ra trường đáp ứng được yêu cầu cơng việc Cơng nghệ thơng tin
đã được ứng dụng trong cơng tác quản lý của nhà trường, song việc khai thác vẫn cịn nhiều hạn chế
Xuất phát từ yêu cầu đặt ra đối với đơn vị mình, tơi đã thực hiện đề tài luận văn
“ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN HỌC
TẬP TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI” Luận văn đi sâu vào việc
khai phá dữ liệu từ thơng tin cá nhân, điểm tuyển sinh đầu vào kết hợp với lộ trình học để
dự đốn kết quả học tập của sinh viên, hỗ trợ tư vấn cho sinh viên lựa chọn lộ trình học phù hợp để đạt được kết quả học tập cao nhất
Luận văn gồm cĩ phần mở đầu, kết luận và 04 chương, cụ thể như sau:
Chương 1: Giới thiệu tổng quan
Giới thiệu bài tốn ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường ĐHCNHN, trình bày một số hướng nghiên cứu về KPDL trong giáo dục và hướng tiếp cận của luận văn
Chương 2: Các kiến thức cơ sở liên quan
Nghiên cứu các cơ sở lý thuyết KPDL, các vấn đề liên quan đến KPDL trong lĩnh vực giáo dục Tìm hiểu các kỹ thuật khai phá dữ liệu sử dụng trong bài tốn phân lớp, dự báo (cây quyết định, phân lớp Nạve Bayes, mạng nơ ron nhân tạo, luật kết hợp) và kỹ thuật KPDL trên hệ quản trị CSDL MS SQL Server
Chương 3 Phương pháp giải quyết bài tốn
Mơ tả ứng dụng, xây dựng bài tốn liệt kê lộ trình học cho từng ngành học để tư vấn cho sinh viên chọn lộ trình phù hợp với ngành mình đang theo học Thu thập và xử lý các dữ liệu liên quan để phát triển hệ thống Xây dựng 4 mơ hình: Cây quyết định, Nạve Bayes, Neural Networks, Luật kết hợp và đưa ra đánh giá các mơ hình tương ứng
Chương 4: Xây dựng hệ thống tư vấn học tập tại trường ĐHCNHN
Dựa trên những đánh giá về mơ hình, lựa chọn mơ hình cho kết quả tốt nhất Xây dựng chương trình thực nghiệm để tư vấn cho sinh viên
Trang 11Chương 1 Giới thiệu tổng quan
1.1 Bài toán ứng dụng KPDL để xây dựng hệ thống tư vấn tại trường ĐHCNHN
Trường Đại học Công nghiệp Hà Nội cung cấp dịch vụ giáo dục - đào tạo nhiều ngành, nhiều trình độ, chất lượng cao, đáp ứng nguồn nhân lực cho công nghiệp hóa, hiện đại hóa đất nước và xuất khẩu lao động, tạo cơ hội học tập thuận lợi cho mọi đối tượng
Về ngành, nghề đào tạo: Trong những năm qua nhà trường đã xây dựng được chương
trình và triển khai đào tạo 21 chuyên ngành đại học chính quy, 18 chuyên ngành đào tạo cao đẳng chính quy, 14 chuyên ngành Trung cấp chuyên nghiệp và nhiều chương trình đào tạo trình độ khác nhau
Về qui mô đào tạo: Trên 50.000 học sinh, sinh viên
Các lĩnh vực đào tạo: Công nghệ, kỹ thuật, Kinh tế, May, Thời trang, Sư phạm, Du lịch Các loại hình đào tạo: Chính qui, Vừa làm vừa học, Liên thông, Liên kết nước ngoài,
Nâng bậc thợ, Đào tạo lao động xuất khẩu, Bồi dưỡng ngắn hạn và dài hạn theo nhu cầu
xã hội quan tâm
Một thực tế đặt ra đối với trường ĐHCNHN là làm sao thu hút được nhiều sinh viên dựa trên “thương hiệu” của nhà trường, để đáp ứng chỉ tiêu đào tạo Tuy nhiên, yêu cầu đặt ra về số lượng cũng phải kèm theo yêu cầu về chất lượng đào tạo Vấn đề nâng cao chất lượng đào tạo là một vấn đề luôn được nhà trường quan tâm
Nhằm đổi mới giáo dục đại học ở Việt Nam, Bộ Giáo dục và Đào tạo đã yêu cầu chuyển đổi từ việc thực hiện chương trình đào tạo theo hệ thống niên chế thành đào tạo theo hệ thống tín chỉ kiểu Hoa Kỳ, bắt đầu từ năm học 2008-2009 và đòi hỏi phải hoàn tất việc chuyển đổi này trước năm 2012
Trường Đại học Công nghiệp Hà Nội đã triển khai đào tạo theo học chế tín chỉ bắt đầu từ năm học 2008 – 2009 Đào tạo tín chỉ có ưu điểm giúp sinh viên có thể tự quản lý quỹ thời gian và tùy theo khả năng của mình để tự quyết định các môn học theo từng kỳ
Vì vậy, việc tư vấn học tập, chủ yếu liên quan đến lựa chọn lộ trình học phù hợp nhằm đạt được kết quả học tập cao nhất cho mỗi sinh viên được đặc biệt quan tâm Đó cũng là khó khăn chung không chỉ của sinh viên, mà còn của các cố vấn học tập, giáo viên chủ nhiệm và các tổ chức quản lý trong trường Các giảng viên chuyên trách, cố vấn học tập không thể tiếp cận toàn bộ dữ liệu về điểm của sinh viên
Đối với mỗi sinh viên, việc lựa chọn cho mình một lộ trình học phù hợp theo đúng quy trình đào tạo là một việc hết sức khó khăn, đặc biệt là với các sinh viên mới vào trường, khi mà kinh nghiệm học tập ở bậc đại học và hình thức đào tạo tín chỉ còn rất mới
mẻ Xuất phát từ thực tế đó, việc tư vấn lựa chọn lộ trình học cho sinh viên theo ngành học đã đăng ký là một việc làm hết sức thiết thực và ý nghĩa
Trang 12Bài tốn tư vấn lựa chọn lộ trình học cho sinh viên gồm hai bước:
Bước 1: Liệt kê tồn bộ lộ trình học cĩ thể của một sinh viên theo ngành học mà
sinh viên đĩ đã chọn
Bước 2: Dự đốn kết quả học tập cuối khĩa của sinh viên theo tất cả các lộ trình ở
trên Chọn ra lộ trình với kết quả dự đốn cho ra kết quả học tập tốt nhất để tư vấn cho sinh viên Nếu cĩ nhiều lộ trình cĩ cùng kết quả thì sinh viên cĩ thể tự chọn một trong số các lộ trình học đĩ sao cho phù hợp nhất với năng lực, sở thích và các điều kiện khác của bản thân
Trên cơ sở những lộ trình học đã liệt kê cho một sinh viên, cơng đoạn quan trọng nhất chính là dự đốn kết quả học tập tồn khĩa của sinh viên tương ứng với các lộ trình học ở trên và tư vấn cho sinh viên lộ trình học phù hợp nhất
Việc dự đốn được sử dụng kỹ thuật khai phá dữ liệu trên SQL Server với việc áp dụng các mơ hình khác nhau như: cây quyết định, luật kết hợp, mạng Nạve Bayes và mạng nơ ron nhân tạo Qua đánh giá độ chính xác của các mơ hình sẽ lựa chọn mơ hình cho kết quả tốt nhất, áp dụng vào hệ thống để tư vấn lựa chọn lộ trình học cho sinh viên
1.2 Một số hướng nghiên cứu về khai phá dữ liệu trong lĩnh vực giáo dục hiện nay
Hiện đã cĩ rất nhiều nghiên cứu về ứng dụng KPDL cho giáo dục Những khai phá
dữ liệu trong giáo dục đã nổi bật lên như là một lĩnh vực nghiên cứu độc lập trong những năm gần đây, mà cao điểm là năm 2008 với sự thành lập hội nghị quốc tế về khai phá dữ
liệu giáo dục, và những bài báo về khai phá dữ liệu giáo dục Đĩ là “Applying Data
Mining Techniques to e-Learning Problems” của Félix Castrol, Alfredo Vellido1, Àngela
Nebotl, và Francisco Mugica3, “Recommendation in Higher Education Using Data
Mining Techniques” của César Vialardi, Javier Bravo, Leila Shafti, Álvaro Ortigosa,
“Using Association Rules for Course Recommendation” của Narimel Bendakir và Esma
A¨ımeur
Các nhà nghiên cứu về việc KPDL trong giáo dục tập trung vào nhiều vấn đề bao gồm việc học của cá nhân từ phần mềm giáo dục, học cộng tác với sự giúp đỡ của máy tính, kiểm nghiệm khả năng thích ứng với máy tính, và nhiều nhân tố được kết hợp với các sinh viên khơng cĩ khả năng hoặc thiếu định hướng trong quá trình học tập Mỗi lĩnh vực chính của việc ứng dụng khai phá dữ liệu vào giáo dục là phát triển các mơ hình hướng đối tượng sinh viên Các mơ hình sinh viên thể hiện thơng tin về một nét đặc trưng hay tình trạng của sinh viên, như kiến thức hiện tại của sinh viên, động cơ thúc đẩy học tập, quan điểm nguyện vọng của sinh viên… Một số bài tốn ứng dụng KPDL như: Tư vấn chọn ngành học, Tư vấn lựa chọn mơn học, Tư vấn lựa chọn lộ trình học
Ở Việt Nam, KPDL cũng đã được nghiên cứu và ứng dụng trong nhiều tổ chức, doanh nghiệp và đem lại hiệu quả cao trong các lĩnh vực như giáo dục, y tế, thương mại,
Trang 13tài chính Nhiều công trình khoa học đã và đang được nghiên cứu để áp dụng vào thực tế Song bên cạnh đó, việc khai thác các thông tin có giá trị ở một số đơn vị chưa thực sự hiệu quả, việc áp dụng trong thực tế còn hạn chế
1.3 Hướng tiếp cận của luận văn
Luận văn tập trung nghiên cứu lý thuyết KPDL, sử dụng công cụ khai phá dữ liệu BIDS của Microsoft, KPDL điểm thực tế của sinh viên trường ĐHCNHN
Bên cạnh đó, luận văn sử dụng một số thuật toán điển hình trong khai phá dữ liệu được hỗ trợ sẵn trong SQL Server nhằm giải quyết bài toán dự báo, dự đoán kết quả học tập của sinh viên
Sau khi đánh giá mô hình dự đoán tốt nhất, tác giả xây dựng chương trình thực nghiệm để hỗ trợ tư vấn học tập cho sinh viên năm đầu
1.4 Kết luận chương 1
Chương này giới thiệu về bài toán, những yêu cầu đặt ra cần giải quyết đối với bài toán đồng thời trình bày một số hướng nghiên cứu về KPDL trong giáo dục hiện nay, hướng tiếp cận của luận văn
Trang 14Chương 2 Các kiến thức cơ sở liên quan
2.1 Khai phá dữ liệu
2.1.1 Khái niệm KPDL
KPDL là quá trình khảo sát và phân tích một khối lượng lớn các dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu…để từ đó trích xuất ra các thông tin quan trọng,
có giá trị tiềm ẩn bên trong Do nhu cầu nghiệp vụ cần có cách nhìn thông tin trên quy
mô toàn đơn vị
Các dữ liệu này được thu từ nhiều nguồn, đa số là từ các phần mềm nghiệp vụ như: phần mềm tài chính, kế toán, các hệ thống quản lý tài nguyên doanh nghiệp, các hệ thống quản lý khách hàng hay từ tác công cụ lưu trữ thông tin trên web…
Đây là những khối dữ liệu khổng lồ nhưng những thông tin mà nó thể hiện ra thì lộn xộn và “nghèo” đối với người dùng Kích thước của khối dữ liệu khổng lồ đó cũng tăng với tốc độ rất nhanh chiếm nhiều dung lượng lưu trữ KPDL liệu sẽ giúp trích xuất
ra các mẫu điển hình có giá trị và biến chúng thành những tri thức hữu ích Quá trình này gồm một số bước được thể hiện trong hình sau
Hình 1.1: Các bước xây dựng một hệ thống KPDL
Ý nghĩa cụ thể của các bước như sau:
- Lựa chọn dữ liệu liên quan đến bài toán quan tâm
Trang 15- Tiền xử lý dữ liệu, làm sạch dữ liệu
- Chuyển đổi dữ liệu về dạng phù hợp thuận lợi cho việc khai phá
- KPDL, trích xuất ra các mẫu dữ liệu (mơ hình)
- Đánh giá mẫu
- Sử dụng tri thức khai phá được
2.1.2 Những nhĩm bài tốn của KPDL
KPDL cĩ thể được dùng để giải quyết hàng trăm bài tốn với những mục đích và nhiệm vụ khác nhau Dựa trên bản chất tự nhiên của các bài tốn đĩ, người ta cĩ thể nhĩm các bài tốn đĩ thành những nhĩm sau:
Phân loại
Bài tốn phân loại là một trong những bài tốn phổ biến nhất của KPDL, ví dụ như: phân tích xem loại khách hàng nào cĩ khả năng cao nhất sẽ chuyển sang dùng sản phẩm dịch vụ của đối thủ cạnh tranh của cơng ty (churn analysis), quản lý rủi ro hay lựa chọn ảnh quảng cáo nào sẽ xuất hiện đối với mỗi loại khách hàng…
Phân loại là tổ chức dữ liệu trong các lớp cho trước, cịn được gọi là học cĩ quan sát Phân loại sử dụng các nhãn lớp cho trước để sắp xếp các đối tượng Trong đĩ, cĩ một tập huấn luyện gồm các đối tượng đã được kết hợp với các nhãn đã biết Những thuật tốn học cĩ quan sát sẽ được áp dụng cho tập các đối tượng cần phân loại để từ đĩ mơ hình phân loại chúng
Một số thuật tốn dùng trong bài tốn phân loại như: cây quyết định, mạng nơ ron, mạng Nạve Bayes
Phân cụm
Bài tốn phân cụm hay cịn gọi là phân đoạn Điểm khác với bài tốn phân loại là
ở đây các nhãn lớp chưa biết và khơng cĩ huấn luyện Các đối tượng được phân loại dựa trên các thuộc tính tương đồng giữa chúng Bài tốn phân lớp hay cịn gọi là học khơng
cĩ giám sát
Bài tốn phân tích luật kết hợp
Bài tốn này đơi khi cịn gọi là bài tốn phân tích giỏ hàng bởi vì nĩ được sử dụng rộng rãi trong phân tích các giao dịch dữ liệu, các bài tốn lựa chọn hàng hĩa đi kèm…
Phân tích luật kết hợp khám phá ra các luật kết hợp thể hiện mối liên hệ giữa các thuộc tính dữ liệu thường xuất hiện cùng nhau trong các tập dữ liệu
Trang 16Hồi quy
Bài toán hồi quy cũng tương tự như bài toán phân loại Điểm khác biệt là hồi quy
dự đoán cho các dữ liệu liên tục
Dự đoán
Dự đoán là một mảng quan trọng của KPDL Dự đoán có hai loại chính: một loại
là dự đoán về một số giá trị dữ liệu chưa biết hay có xu hướng sắp xảy ra, còn loại kia là
dự đoán để phân lớp dựa trên một tập huấn luyện và giá trị thuộc tính của đối tượng
Trong phạm vi luận văn, tác giả sẽ sử dụng loại dự đoán thứ hai
Phân tích chuỗi
Phân tích chuỗi được sử dụng để tìm ra các mẫu trong một loạt các giá trị hay trạng thái rời rạc Ví dụ như việc chọn mua hàng của khách hàng có thể mô hình là một chuỗi dữ liệu Hành động chọn mặt hàng A, sau đó chọn mặt hàng B, C… là một chuỗi các trạng thái rời rạc Trong khi đó thời gian lại là chuỗi số liên tục
Phân tích chuỗi và phân tích luật kết hợp giống nhau ở chỗ đều phân tích tập hợp các đối tượng hay trạng thái Điểm khác nhau là mô hình chuỗi phân tích sự chuyển của các trạng thái, trong khi mô hình luật kết hợp thì coi mỗi một mặt hàng trong giỏ hàng là như nhau và độc lập Với mô hình chuỗi, việc chọn mặt hàng A trước mặt hàng B hay chọn mặt hàng B trước A sau là khác nhau Còn ở mô hình kết hợp thì cả hai trường hợp
là như nhau
Phân tích độ lệch
Bài toán này còn được gọi là phát hiện điểm biên Điểm biên là những đối tượng
dữ liệu mà không tuân theo các đặc tính, hành vi chung Bài toán phát hiện điểm biên ứng dụng rất nhiều trong các ứng dụng Ứng dụng quan trọng nhất của bài toán phát hiện điểm biên là bài toán kiểm tra xác nhận thẻ tín dụng…
Trang 172.1.4.1 Các ứng dụng hướng đến học sinh, sinh viên
Tư vấn lựa chọn ngành học: Cho một kho dữ liệu lưu giữ các thông tin về kết
quả học tập của sinh viên đã tốt nghiệp Hãy tìm ra những quy luật lựa chọn các chuyên ngành một cách hợp lý sao cho đạt được kết quả tốt nhất Nhằm mục đích này người ta mong muốn nhận được từ dữ liệu những phát biểu như: “80% sinh viên học tốt môn Kinh
tế chính trị và Tiếng Anh khá thì tốt nghiệp chuyên ngành Kế toán ngân hàng loại giỏi”,
… Để đạt được những phát biểu như trên, chúng ta sử dụng các thuật toán Khai phá luật kết hợp từ cơ sở dữ liệu
Tư vấn lựa chọn môn học: Cho một kho dữ liệu các thông tin về kết quả học tập
của sinh viên Hãy tư vấn cho sinh viên lựa chọn các môn học cho học kỳ sau dựa trên kết quả của các học kỳ trước sao cho kết quả học tập của kỳ sao là cao nhất Để thực hiện việc này, chúng ta cần sử dụng các thuật toán KPDL ở dạng phân lớp và dự đoán như Cây quyết định, mạng Naive Bayes, Neural Network hay luật kết hợp
Tư vấn lựa chọn lộ trình học: Cho một kho dữ liệu đào tạo (theo hình thức tín
chỉ) bao gồm các môn học (học phần) tương ứng với các ngành học và các học kỳ (gọi là chương trình đào tạo), cùng với các thông tin về kết quả học tập của các sinh viên đã tốt nghiệp Hãy tư vấn cho các sinh viên mới vào trường cách lựa chọn một lộ trình học phù hợp nhất cho ngành học mà sinh viên đã đăng ký sao cho kết quả tốt nghiệp ra trường của
sinh viên là cao nhất Đây chính là bài toán mà luận văn hướng đến Để thực hiện việc
này, chúng ta cần sử dụng các thuật toán KPDL ở dạng phân lớp và dự đoán như Cây quyết định, mạng Naive Bayes, Neural Network hay luật kết hợp
2.1.4.2 Các ứng dụng hướng đến giáo viên
Phân loại học sinh, sinh viên: Đánh giá, phân loại học sinh, sinh viên để đưa ra
những phương pháp và hình thức dạy học thích hợp là việc thường xuyên phải làm trong quá trình giáo dục Đánh giá từng mặt, đánh giá một số mặt và đánh giá toàn thể phẩm chất, năng lực của học sinh đều có ý nghĩa vô cùng quan trọng và đều có ảnh hưởng lớn tới kết quả giáo dục Đánh giá đúng sẽ dẫn đến những quyết định đúng đắn Đánh giá sai hậu quả sẽ khôn lường Tuy nhiên đánh giá là một việc rất khó Vấn đề càng khó khi thông tin về đối tượng được đánh giá là rất lớn và dàn trải
Trang 18Việc phân nhóm các học sinh, sinh viên (theo năng lực một cách đúng đắn) vào các lớp học khác nhau để đào tạo sẽ nâng cao chất lượng giáo dục Đối với các học sinh giỏi, chương trình đào tạo có thể khác, dạy phần cơ sở nhanh hơn, tập trung vào các phần nâng cao để bồi dưỡng học sinh giỏi, các học sinh yếu, kém phải dạy thật chậm, giảng giải chi tiết và hướng đến các kiến thức căn bản, cơ sở…Nếu trong lớp học các học sinh giỏi và yếu kém học cùng nhau sẽ dễ xảy ra tình trạng người học giỏi thiếu hứng thú với việc học khi giáo viên ra đề quá dễ và dạy quá chậm, hoặc người học yếu, kém không thể theo được chương trình khi giáo viên dạy quá nhanh và ra đề quá khó…
Để thực hiện việc phân loại học sinh, sinh viên như trên, một phương pháp tốt nhất
đó chính là sử dụng các kỹ thuật KPDL với các thuật toán phân cụm, phân lớp như Cây quyết định, K-mean, mạng SOM (Kohonen) với thông tin đầu vào là dữ liệu về các học sinh, sinh viên như điểm tổng kết các năm trước, điểm thi tuyển sinh, điểm ưu tiên, vùng, miền, giới tính …
- Tỷ lệ nghỉ học, bỏ học và khả năng xuống khóa, bị đuổi học có chiều hướng gia tăng: nhà quản lý sẽ có những biện pháp để cảnh báo và chấn chỉnh lại hoạt động đào tạo một cách kịp thời
- Kết quả học tập của các khóa có xu hướng giảm xuống hoặc tốt lên: nếu kết quả giảm thì nhà quản lý cần xem lại các chính sách và chương trình đào tạo để xem đã thực
sự phù hợp với sinh viên hay chưa và điều chỉnh kịp thời nếu cần, còn kết quả tốt thì sẽ tiếp tục duy trì vì chính sách đào tạo đang đi đúng hướng
2.2 Một số kỹ thuật KPDL trong phân lớp, dự báo
2.2.1 Cây quyết định
Cây quyết định là một 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, mỗi 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)
Trang 19Hình 2 1: Biểu diễn cây quyết định cơ bản Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi nút trong (internal node) tương ứng với một biến, đường nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Ví dụ 2.1: Một người có chơi tennis hay không?
Hình 2 2: Cây quyết định cho việc chơi Tennis 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ác thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu
Trang 20khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đĩ thuộc tính phân lớp phải cĩ kiểu dữ liệu là Binary hoặc Ordinal
Tĩm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nĩ, cây quyết định sẽ sinh ra các luật để dự đốn lớp của các đối tượng chưa biết (unseen data)
So với các phương pháp KPDL khác, cây quyết định là một trong những hình thức
mơ tả dữ liệu tương đối đơn giản, trực quan, dễ hiểu đối với người dùng nhưng lại hiệu quả nên được sử dụng nhiều Trong những năm qua, nhiều mơ hình phân lớp dữ liệu đã được các nhà khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng notron, mơ hình thống kê tuyến tính /bậc 2, cây quyết định, mơ hình di truyền Trong số những mơ hình
đĩ, cây quyết định được đánh giá là một cơng cụ mạnh, phổ biến đặt biệt là thích hợp cho
DM nĩi chung và cho phân lớp dữ liệu nĩi riêng
Cĩ rất nhiều giải thuật sẵn dùng: CART (Breiman et al., 1984), C4.5 (Quinlan, 1993
2.2.2 Phân lớp Nạve Bayes
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết
sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất của A nếu cĩ B" Đại lượng này được gọi xác suất cĩ điều kiện vì nĩ được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đĩ
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B, kí hiệu là P(A) và đọc là xác suất của A Đây được gọi là xác suất biên duyên hay xác suất tiên nghiệm (prior), nĩ là "tiên nghiệm" theo nghĩa rằng nĩ khơng quan tâm đến bất kỳ thơng tin nào về B
Xác suất xảy ra B của riêng nĩ, khơng quan tâm đến A, kí hiệu là P(B) và đọc là
"xác suất của B" Đại lượng này cịn gọi là hằng số chuẩn hĩa (normalising constant), vì nĩ luơn giống nhau, khơng phụ thuộc vào sự kiện A đang muốn biết
Xác suất xảy ra B khi biết A xảy ra, kí hiệu là P(B|A) và đọc là "xác suất của B nếu cĩ A" Đại lượng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy
ra Chú ý khơng nhầm lẫn giữa khả năng xảy ra A khi biết B và xác suất xảy ra A khi biết B
Khi biết ba đại lượng trên, xác suất của A khi biết B cho bởi cơng thức:
Trang 21Từ đó dẫn tới:
(2) Khi có n giả thuyết thì:
(3) Phương pháp Naive Bayes phù hợp các bài toán có yêu cầu về chi phí xuất hiện của các giá trị thuộc tính
- Thiết kế hệ thống phân lớp thường dễ dàng hơn so với các phương pháp khác
- Các thuộc tính trong tập mẫu học phải độc lập với điều kiện
- Độ chính xác thuật toán phân lớp phụ thuộc nhiều vào tập dữ liệu học ban đầu
2.2.3 Mạng nơ ron nhân tạo
Neural nhân tạo là sự mô phỏng đơn giản của neural sinh học Mỗi neural nhân tạo thực hiện hai chức năng: chức năng tổng hợp đầu vào và chức năng tạo đầu ra Mỗi neural có một giá trị ngưỡng, chức năng đầu vào chính là tổng có trọng số các tín hiệu vào kết hợp với ngưỡng để tạo ra tín hiều đầu vào Chức năng tạo đầu ra được thực hiện bằng hàm truyền đạt Hàm này sẽ nhận tín hiệu đầu vào và tạo tín hiệu đầu ra của neural
Mạng neural là một hệ thống gồm nhiều phần tử xử lý hoạt động song song Chức năng của nó được xác định bởi cấu trúc mạng, độ lớn của các liên kết và quá trình xử lý tại mỗi nút hoặc đơn vị tính toán
Microsoft Neural Network sử dụng mạng đa tầng bao gồm ba lớp tế bào thần kinh Các lớp này là một lớp đầu vào, một lớp ẩn và một lớp đầu ra Trong một mạng Neural, mỗi neural nhận được một hoặc nhiều đầu vào và sản xuất một hoặc nhiều kết quả đầu ra Mỗi đầu ra là một hàm phi tuyến đơn giản của tổng các đầu vào cho các neural
Hình 2 3: Mô hình mạng nơron nhiều lớp
Trang 22Có ba loại neural trong một mạng Neural được tạo ra với thuật toán Microsoft Neural Network:
Neural đầu vào: Neural đầu vào cung cấp các giá trị thuộc tính đầu vào cho các
mô hình khai thác dữ liệu Đối với thuộc tính đầu vào rời rạc, một neural đầu vào thường đại diện cho một trạng thái đơn nhất từ các thuộc tính đầu vào Một thuộc tính đầu vào liên tục tạo ra hai neural đầu vào: một neural cho một trạng thái bị thiếu, một neural cho giá trị của chính thuộc tính liên tục đó Neural đầu vào cung cấp đầu vào cho một hoặc nhiều neural ẩn
Neural ẩn: neural ẩn nhận đầu vào từ các neural đầu vào và cung cấp đầu ra cho các neural đầu ra
Neural đầu ra: Neural đầu ra đại diện cho các giá trị của thuộc tính dự đoán của
mô hình KPDL Đối với các thuộc tính đầu ra là rời rạc, một neural đầu ra đại diện duy nhất cho một trạng thái dự đoán của thuộc tính dự đoán, bao gồm cả giá trị thiếu Nếu các thuộc tính dự đoán liên tục tạo ra hai neural đầu ra: một neural cho một trạng thái bị thiếu, một neural cho chính các giá trị của thuộc tính liên tục đó
Mỗi đầu vào có một giá trị được gán cho nó có trọng số là w, mô tả sự liên quan giữa đầu vào đến các neural ẩn hoặc các neural đầu ra
Mạng Neural xây dựng lại cấu trúc bộ não có khả năng nhận biết dữ liệu thông qua tiến trình học, với các thông số tự do của mạng có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng neural ghi nhớ giá trị đó
Hình 2 4: Tiến trình học Trong quá trình học, giá trị đầu vào được đưa vào mạng và theo dòng chảy trong mạng tạo thành giá trị ở đầu ra
Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng Neural với giá trị ra mong muốn Nếu hai giá trị này giống nhau thì không thay đổi gì cả Tuy nhiên, nếu có một sai lệch giữa hai giá trị này vượt quá giá trị sai số mong muốn thì đi ngược mạng từ đầu ra về đầu vào để thay đổi một số kết nối
Trang 23Đây là một quá trình lặp liên tục và có thể không dừng khi không tìm các giá trị w sao cho đầu ra tạo bởi mạng Neural bằng đúng đầu ra mong muốn Do đó trong thực tế người ta phải thiết lập tiêu chuẩn dựa trên một giá trị sai số nào đó của hai giá trị này, hay dựa trên một số lần lặp xác định
2.2.4 Luật kết hợp
Khai phá luật kết hợp: Là tìm các mẫu phổ biến, sự kết hợp, sự tương quan, hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác
Các ứng dụng: Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đời sống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng khoán, tài chính và đầu tư,
Ví dụ về luật kết hợp:
Bia => Lạc [0,5% ; 60%]
Luật này có nghĩa: Nếu mua bia thì mua lạc trong 60% trường hợp Bia và lạc
được mua chung trong 0.5% tổng giao dịch
Thu nhập= 60.000.000_max => Tài khoản tiết kiệm= yes [20% ; 100%]
Luật này có nghĩa: Nếu thu nhập lớn hơn hoặc bằng 60 triệu một năm thì khách
hàng có tài khoản tiết kiệm với độ tin cậy là 100%
Từ các luật kết hợp được trích rút từ chính các cơ sở dữ liệu giao dịch, cơ sở dữ liệu khách hàng mà các siêu thị, các ngân hàng sẽ có chiến lược kinh doanh (sắp xếp các mặt hàng, số lượng các mặt hàng, ), chiến lược tiếp thị, quảng cáo,… để từ đó thúc đẩy hoạt động kinh doanh của mình
Một số định nghĩa, khái niệm cơ bản:
Cho I = {i1, i2, i3,… ,in} là tập bao gồm n mục (Item – còn gọi là thuộc tính - attribute) X I được gọi là tập mục (itemset)
T = {t1, t2, …, tm} là tập gồm m giao tác (Transaction – còn gọi là bản ghi - record)
R là một quan hệ nhị phân trên I và T (hay R IxT) Nếu giao tác t có chứa mục i thì ta viết (i,t)R (hoặc iRt) Ta sẽ ký hiệu D = (T,I,R) là dữ liệu để khai thác Về mặt hình thức, D chính là một quan hệ dạng bảng Về ý nghĩa, một cơ sở dữ liệu là một tập các giao tác (hay giao dịch), mỗi giao dịch t chứa một tập mục X I
Trang 24Độ hỗ trợ của tập mục X
Cho dữ liệu D = ( T, I, R); X I Gọi T(X) là tập giao tác chứa X
Độ hỗ trợ (support) của tập mục X, ký hiệu support(X ) là tỷ số của số lƣợng giao tác trong cơ sở dữ liệu D chứa X trên tổng số các giao tác trong cơ sơ dữ liệu D Hay
Support(X) = Card (T(X)) / Card (T) =
T
X
T( ) (4)
T( )
; (5) Trong đó T(X) là tập giao tác chứa tập mục X
Độ tin cậy của luật kết hợp X => Y
Độ tin cậy (confidence) của luật X => Y, ký hiệu: confidence(X => Y) là tỷ số các giao tác trong D có chứa X Y trên số các giao tác chứa X Hay
Trang 25Confidence(X => Y) = card(T(X Y))/card(T(X)) =
)(
)(
X T
Y X
Luật kết hợp tin cậy: Một luật được xem là tin cậy nếu độ tin cậy confidence của nó lớn
hơn hoặc bằng một ngưỡng minconf ( 0 , 1 ] nào đó do người dùng xác định Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X
Luật kết hợp cần tìm là luật kết hợp thỏa minsup và minconf cho trước Chúng ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu và độ tin cậy lớn hơn
độ tin cậy tối thiểu
Hầu hết các thuật toán khai phá luật kết hợp thường chia thành hai pha:
- Pha 1: Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu D tức là tìm tất cả các tập mục X thỏa mãn support(X) >= minsup
- Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1
Cho minconf; X,Y là các tập mục phổ biến tìm thấy trong pha 1 luật kết hợp được sinh từ
X, Y có dạng: X => Y và confidence(X=>Y) >= minconf
2.3 KPDL với hệ quản trị CSDL SQL Server
2.3.1 Giới thiệu chung
Dưới đây là hình ảnh tổng quan về KPDL với hệ quản trị CSDL SQL Server:
Hình 2 5: Hình ảnh tổng quan về KPDL với SQL 2008
Trang 26Các cơng cụ cĩ thể ứng dụng KPDL với SQL Server gồm:
- SQL Server Business Intelligence Development Studio: được tích hợp sẵn
trong Microsoft Visual Studio 2008
- Bộ cơng cụ SQL Server 2008 (Analysis Service): ứng dụng hỗ trợ lưu trữ dữ
liệu và phân tích dữ liệu
Các thuật tốn ứng dụng trong quá trình KPDL được hỗ trợ sẵn trong SQL Server:
Microsoft khi phát triển SQL Server 2008 Analysis Services, họ đã hồn thiện các thuật tốn thường sử dụng trong DataMining một cách hồn chỉnh nhất so với SQL Server 2000 Analysis Services, bao gồm: MS (Microsoft) Decision Tree, MS Clustering,
MS Nạve Bayes, MS Time Series, MS Association Rules, MS Sequence Clustering, MS Neural Network, MS Linear Regression, MS Logistic Regression
Lựa chọn đúng thuật tốn để sử dụng trong một nhiệm vụ cĩ thể coi là một thách thức Thường thì dựa vào kinh nghiệm là chính Trong khi ta cĩ thể sử dụng các thuật tốn khác nhau để thực hiện những cơng việc giống nhau, mỗi thuật tốn đưa ra những kết quả khác nhau, và một vài thuật tốn cĩ thể sẽ đưa ra nhiều hơn một loại kết quả Ví
dụ như, cĩ thể sử dụng thuật tốn Microsoft Decision Trees khơng những để dự đốn mà cịn để làm giảm bớt số cột trong dataset, bởi Decision Trees cĩ thể xác định các cột khơng ảnh hưởng đến mơ hình khai phá cuối cùng
Để giúp việc lựa chọn thuật tốn cho giải pháp KPDL ta thường dựa trên bảng 2.4:
Bảng 2.4: Lựa chọn các thuật tốn KPDL theo mục đích [5]
Nhiệm vụ Thuật tốn Microsoft sử dụng
Dự đốn một thuộc tính rời rạc
Ví dụ dự đốn người nhận thư của mục
tiêu chiến dịch nhận thư sẽ mua sản
phẩm
Microsoft Decision Trees Algorithm Microsoft Naive Bayes Algorithm Microsoft Clustering Algorithm Microsoft Neural Network Algorithm
Dự đốn một thuộc tính liên tục
Ví dụ như dự báo bán hàng năm sau
Microsoft Decision Trees Algorithm Microsoft Time Series Algorithm
Dự đốn một trình tự Microsoft Sequence Clustering Algorithm
Trang 27Ví dụ thi hành một phân tích
clickstream của một trang web công ty
Tìm nhóm của những mục chọn
trong các giao dịch
Ví dụ sử dụng phân tích giỏ thị trường
để giới thiệu thêm những sản phẩm để
2.3.2 Ngôn ngữ truy vấn KPDL DMX (Data Mining Extensions)
DMX lần đầu tiên được giới thiệu trong DB OLE bởi Microsoft vào năm 1999 Mục đích của DMX là định nghĩa các khái niệm phổ biến và cách diễn đạt truy vấn phổ biến cho thế giới KPDL, tương tự như cái mà SQL đã làm với cơ sở dữ liệu Ngôn ngữ này được diễn đạt và thiết kế dễ hiểu Bởi vì DMX đã được thiết kế tương tự như SQL, cấu trúc và các mô hình là rất giống việc tạo ra các bảng SQL Cú pháp đơn giản hơn nhiều vì có ít lựa chọn hơn, và có một số tính năng bổ sung, nhưng bất cứ ai quen thuộc với SQL sẽ dễ dàng điều chỉnh cú pháp DMX
Sử dụng ngôn ngữ truy vấn DMX làm trung gian: tương tự như các câu Query trong SQL, có thêm một số các khái niệm cơ bản trong việc truy vấn tới dịch vụ phân tích
Mining Structure được định nghĩa là một danh sách các cột, với các loại dữ liệu
của chúng và thông tin mô tả cách thức chúng cần được xử lý, về cơ bản, nếu chúng là
categorical (thuộc tính rời rạc) hoặc continues (Thuộc tính liên tục) Các cột trong một
cấu trúc khai phá không đại diện cho thuộc tính, chúng chỉ đơn giản là các cột của dữ liệu
mà sẽ có sẵn khi tạo ra các mô hình
Mining Models: là đối tượng mà biến đổi dòng dữ liệu vào Case và thực hiện các
cách sử dụng một thuật toán KPDL đã chỉ định Mining Models được mô tả như là một tập hợp con của các cột từ cấu trúc, cách các cột sẽ được sử dụng như là thuộc tính (cho
Trang 28dù chúng là đầu vào, đầu ra, hoặc cả hai), cùng với thuật toán và các thông số thuật toán
sẽ được sử dụng để thực hiện trên cấu trúc dữ liệu
Thuộc tính (Attribute): Phần cơ bản nhất của một truy vấn KPDL là thuộc tính
Ví dụ như giới tính một khách hàng, tuổi tác, hoặc tình trạng hôn nhân; khối lượng, hoặc
màu của một loại sản phẩm…
Khi lựa chọn thuộc tính cho KPDL, ta nên cẩn thận để lựa chọn thuộc tính có khả năng có liên quan đến truy vấn và cung cấp thông tin có thể được sử dụng bởi các thuật toán KPDL Nhiều thuộc tính không phải là thích hợp cho việc KPDL
Có hai loại thuộc tính:
- Thuộc tính rời rạc (Categorical) thuộc tính có một số thiết lập của các giá trị (như
là nam hay nữ, hoặc mã bưu điện)
- Thuộc tính liên tục (Continous) định nghĩa bởi các số
Trạng thái (State): Một thuộc tính „Hôn Nhân‟ có thể có những trạng thái „Kết
Hôn‟ và „Độc thân‟ Nó có thể cũng có các trạng thái khác như: „Chia Tay‟,‟Ly Thân‟ Một thuật toán KPDL sẽ coi mỗi trạng thái như nhau và sẽ không hiểu ngụ ý bất kỳ mối quan hệ giữa chúng Ví dụ, ở đây tình trạng hôn nhân là „Ly hôn‟ cũng là đồng nghĩa với
„Độc thân‟ Tương tự như vậy, nó sẽ không hiểu rằng „Ly thân‟ cũng là „Độc thân‟
Trường hợp (Case): Các „Case’ hay kịch bản DMX là một ví dụ đơn lẻ mà ta
cung cấp thuật toán để KPDL Nó bao gồm một bộ những giá trị Việc xác định các trường hợp đầu vào, các tình huống đầu vào không chính xác sẽ dẫn tới kết quả sai và
không được như ý
Trong tình huống đơn giản nhất (hầu hết các tình huống thực tế), một „Case‟ được đại diện bởi một hàng trong bảng, với các cột đại diện cho bảng thuộc tính Trong thực tế,
đại đa số các vấn đề KPDL có dạng này Một Case có thể chứa các thuộc tính đại diện
bởi các cột trong một hàng (gọi là case-level attribute) và nhiều bảng giao dịch (hoặc
nested tables) có chứa các nested attributes
Các lệnh truy vấn DMX:
Tạo cấu trúc khai phá (Creating Mining Structure)
CREATE MINING STRUCTURE [People1] (
[CustID] LONG KEY,
[Name] TEXT DISCRETE,
[Gender] TEXT DISCRETE,
[Age] LONG CONTINUOUS,
[CarMake] TEXT DISCRETE,
[CarModel] TEXT DISCRETE
)
Trang 29Tạo MINING STRUCTURE tên là People1, với các cột CustID, Name, Gender, Age, CarMake, và CarModel Cột CustID là khóa của cấu trúc và CustID và Age là kiểu
Long, trong khi các cột còn lại là chuỗi (kiểu Text)
Bảng lồng bảng (Nested table)
CREATE MINING STRUCTURE [People3]
(
[CustID] LONG KEY,
[Name] TEXT DISCRETE,
[Gender] TEXT DISCRETE,
[Age] LONG CONTINUOUS,
[AgeDisc] LONG DISCRETIZED(EQUALAREAS,3),
[CarMake] TEXT DISCRETE,
[CarModel] TEXT DISCRETE,
[Purchases] TABLE
(
[Product] TEXT KEY,
[Quantity] LONG CONTINUOUS,
[OnSale] BOOLEAN DISCRETE
) ,
[Movie Ratings] TABLE
(
[Movie] TEXT KEY,
[Rating] LONG CONTINUOUS
)
)
Tạo mẫu khai phá (Creating Mining Models)
ALTER MINING STRUCTURE [People2]
ADD MINING MODEL [PredictGender-Tree]
Trang 30 Bộ lọc (Filters)
Sau khi một cấu trúc được xử lý, có thể truy vấn cấu trúc này để tìm những thứ cần tìm
// (a) Select all cases
SELECT * FROM MINING STRUCTURE People3.CASES
// (b) Select cases as a flat rowset
SELECT FLATTENED * FROM MINING STRUCTURE People3.CASES
// (c) Select only test cases
SELECT * FROM MINING STRUCTURE People3.CASES WHERE
IsTestCase()
Truy xuất các kết quả (Prediction Function)
DMX cung cấp nhiều hàm để truy xuất các luật và các kết quả của quá trình khai
phá và phân tích, từ khóa Predict được sử dụng là cơ bản trong quá trình truy vấn Trong
nhiều trường hợp khác thì ta có thể cung cấp thêm nhiều tham số và tham trị để truy tìm
ra kết quả mà mình mong muốn
SELECT ‟Histogram‟ AS Label,
PredictHistogram(CarModel) AS Hist
FROM FilterByAge
Trong quá trình Predict , DMX sử dụng từ khóa FLATTENED để trả về các giá trị
có truy vấn tới các thuộc tính chúng ta quy định hơn là những giá trị mà chúng ta select trong bảng kết quả Kết quả trả về ở trạng thái hàng dữ liệu nhưng có phân cấp, chia nhánh:
(SELECT $Probability FROM PredictHistogram(CarModel) WHERE
CarModel=‟CRV‟) FROM FilterByAge
Trang 31Ngoài ra còn các hàm Predict khác nhƣ: PredictProbability, PredictSupport,
PredictAdjustedProbability, PredictVariance và PredictStdevall trả về các kết quả nhƣ là
trong quá trình phân tích:
SELECT (PredictProbability(Gender, ‟Female‟) > 0.20) AS IsFemale
FROM [PredictGender-Bayes]
2.3.3 Bộ công cụ SQL Server Business Intelligence Development Studio
Business Intelligence Development Studio (BIDS) là công cụ cho phép tổ chức quản lý và khai thác kho dữ liệu (xử lý phân tích trực tuyến) cũng nhƣ xây dựng các mô hình KPDL rất dễ sử dụng và hiệu quả của Microsoft BIDS cho phép triển khai các mô hình KPDL sau:
1) Micorosft Decision Tree (Cây quyết định)
2) Microsoft Clustering (Phân cụm)
3) Micorosoft Naive Bayes (Phân lớp với Bayes Rules)
4) Micorosoft Time Series (Chuỗi thời gian)
5) Micorosoft Association (Luật kết hợp)
6) Micorosoft Sequence Clustering (Phân tích chuỗi)
7) Micorosoft Neural Network (Mạng Neural)
8) Micorosoft Linear Regression (Hồi qui tuyến tính)
9) Micorosoft Logistics Regression (Hồi qui logistics)
Qui trình xây dựng mô hình KPDL với BIDS nhƣ sau: [7]
1) Tạo mới 1 project (Analysis Services Project)
2) Tạo một Data Source
3) Tạo một Data Source View
4) Tạo một Mining Structure
5) Tạo các Mining Models
6) Khai thác Mining Models
7) Kiểm tra độ chính xác của Mining Models
8) Sử dụng Mining Models để dự đoán
2.3.4 Lập trình KPDL với Analysis Services APIs [8]
ADOMD.NET là một thƣ viện API dành cho các thành viên lập trình NET lập
trình với dịch vụ phân tích (Analysis Services), làm cho việc xây dựng các ứng dụng KPDL ở máy khách trở nên dễ dàng hơn