1.5.1. Phương pháp nghiên cứu
để ựạt ựược mục tiêu của ựề tài, cần phải hoàn thiện theo thứ tự các bước sau:
− Dùng phương pháp phát phiếu trắc nghiệm, thu thập số liệu thống kê, phỏng vấn trực tiếp các ựối tượng có liên quan ựể khảo sát thực tế và
phân tắch thực trạng nguyên nhân về khả năng tốt nghiệtp của học sinh tại các trường Trung cấp chuyên nghiệp tại TP.HCM gồm 2 phần nội dung: tỷ lệ học sinh bỏ học tắnh ựến cuối khóa và tỷ lệ thi ựậu tốt nghiệp.
− Tìm hiểu các hướng nghiên cứu hiện tại về khai phá dữ liệu trong các lĩnh vực và cụ thể về lĩnh vực Giáo dục đào tạo. từ ựó rút ra kết luận ựể chọn lựa phương pháp phù hợp nhất.
− Sử dụng nguồn dữ liệu của quá khứ ựể sinh ra các tập luật. Kiểm tra và khắc phục ựể ựảm bảo các tập luật là hợp lý hợp lệ.
− Xây dựng hệ thống dự ựoán kết quả hiệu suất ựào tạo dựa trên các tập luật ựã xây dựng, có kiểm chứng lại và ựánh giá tắnh ựúng ựắn của các tập luật xem có phù hợp với mục tiêu của ựề tài hay không.
− Tiến hành thử nghiệm trên kho dữ liệu hiện tại ựể ựưa ra kết quả dự ựoán trong tương lại. đồng thời sử dụng kiến thức trong quản lý ựể ựưa ra các giải pháp cần thiết nhắm nâng cao Hiệu suất ựào tạo tại các trường Trung cấp chuyên nghiệp.
1.5.2. đánh giá kết quả
để kiểm tra xem mục tiêu của ựề tài có thỏa mãn ựược hay không, ta phải tiến hành ựánh giá kết quả ựạt ựược theo thứ tự các bước sau:
− Thiết lập môi trường thực nghiệm.
− Dùng hệ thống ựã xây dựng áp dụng tập luật ựã ựược tạo ra từ kho dữ liệu quá khứ (bằng phần mềm mã nguồn mở Weka), kiểm tra tắnh hợp lý hợp lệ, nếu càng chắnh xác thì hệ thống luật là ựáng tin cậy, cần kết hợp với mức ựộ ưu tiên của giá trị ựiều kiện ựể bổ sung các luật phù hợp.
− Tiếp tục áp dụng cho kho dữ liệu khác cũng là của quá khứ ựể ựảm bảo tắnh ựúng ựắn của tập luật.
− Cuối cùng áp dụng trên kho dữ liệu hiện tại ựể dự ựoán kết quả trong tương lai.
đánh giá số liệu thống kê cho biết kết quả dự ựoán có ựộ chắnh xác ựáng tin cậy hay không. Nếu xác suất này quá thấp thì chứng tỏ là hệ thống dự ựoán ựã không ựạt ựược mục tiêu của ựề tài. Ngược lại, bằng thực nghiệm, ựã minh chứng thành công vào hệ thống cũ và mục tiêu của ựề tài ựã ựạt ựược.
Chương 2
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
2.1 Khai phá dữ liệu
2.1.1 Tại sao lại Khai phá dữ liệu?
Hơn một thập niên trở lại ựây, lượng thông tin ựược lưu trữ trên các thiết bị ựiện tử (ựĩa cứng, CD-ROM, băng từ, .v.v.) không ngừng tăng lên. Sự tắch lũy dữ liệu này xảy ra với một tốc ựộ bùng nổ. Người ta ước ựoán rằng, lượng thông tin trên toàn cầu tăng gấp ựôi sau khoảng hai năm và theo ựó số lượng cũng như kắch cỡ của các Cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng.
Hình 2.1: Lượng dữ liệu ựược tắch luỹ tăng mạnh theo thời gian Chúng ta quả thực ựang ỘngậpỢ trong dữ liệu, nhưng lại cảm thấy ỘựóiỢ tri thức và thông tin hữu ắch. Lượng dữ liệu khổng lồ này thực sự là một nguồn Ộtài nguyênỢ rất giá trị bởi thông tin là yếu tố then chốt trong hoạt ựộng kinh doanh vì nó giúp những người ựiều hành và quản lý có một cái nhìn sâu sắc, chắnh xác, khách quan vào tiến trình kinh doanh trước khi ra quyết ựịnh.
Khai phá dữ liệu (KPDL): khai thác những thông tin tiềm ẩn có tắnh dự ựoán từ những CSDL lớn Ờ là một hướng tiếp cận mới với khả năng giúp các tổ chức chú trọng vào những thông tin có nhiều ý nghĩa từ những tập hợp dữ liệu lớn (databases, data warehouses, data repositories) mang tắnh lịch sử.
Những công cụ KPDL có thể dự ựoán những xu hướng trong tương lai và do ựó cho phép các tổ chức ra những quyết ựịnh kịp thời ựược ựịnh hướng bởi tri thức mà KPDL ựem lại. Sự phân tắch dữ liệu một cách tự ựộng và mang tắnh dự báo của KPDL có ưu thế hơn hẳn so với sự phân tắch thông thường dựa trên những sự kiện trong quá khứ của các hệ hỗ trợ ra quyết ựịnh (decision support systems - DSSs) truyền thống trước ựây.
Công cụ KPDL cũng có thể trả lời những câu hỏi trong lĩnh vực kinh doanh mà trước ựây ựược xem là tốn nhiều thời gian ựể xử lý. Với tất cả những ưu thế trên, KPDL ựã chứng tỏ ựược tắnh hữu dụng của nó trong môi trường kinh doanh ựầy tắnh cạnh tranh ngày nay. Giờ ựây, KPDL ựã và ựang trở thành một trong những hướng nghiên cứu chắnh của lĩnh vực khoa học máy tắnh và công nghệ tri thức.
Phạm vi ứng dụng ban ựầu của KPDL chỉ là trong lĩnh vực thương mại (bán lẻ) và tài chắnh (thị trường chứng khoán). Nhưng ngày nay, KPDL ựã ựược ứng dụng rộng rãi trong các lĩnh vực khác như tin-sinh (bio- informatics), viễn thông (telecommunication), ựiều trị y học (medical treatment), giáo dục (education), .v.v.
2.1.2 định nghĩa Khai phá dữ liệu
Trước khi nêu một vài ựịnh nghĩa về KPDL, tôi xin có giải thắch nho nhỏ ựể tránh nhầm lẫn về tên gọi. Với những gì tôi trình bày ở trên, chúng ta có thể hiểu một cách sơ lược rằng KPDL là quá trình tìm kiếm những thông tin (tri thức) hữu ắch, tiềm ẩn và mang tắnh dự báo trong các tập dữ liệu lớn. Như vậy, chúng ta nên gọi quá trình này là khám phá tri thức (Knowledge Discovery in Databases Ờ KDD) thay vì là KPDL. Tuy nhiên các nhà khoa học trong lĩnh vực này ựồng ý với nhau rằng hai thuật ngữ trên là tương ựương và có thể thay thế cho nhau. Họ lý giải rằng, mục ựắch chắnh của quá
trình khám phá tri thức là thông tin và tri thức có ắch, nhưng ựối tượng mà chúng ta phải xử lý rất nhiều trong suốt quá trình ựó lại chắnh là dữ liệu.
Mặt khác, khi chia các bước trong quá trình khám phá tri thức, một số nhà nghiên cứu lại cho rằng, KPDL chỉ là một bước trong quá trình khám phá
tri thức [5]. Như vậy, khi xét ở mức tổng quan thì hai thuật ngữ này là tương
ựương nhau, nhưng khi xét cụ thể thì KPDL ựược xem là một bước trong quá trình khám phá tri thức.
Có rất nhiều ựịnh nghĩa về KPDL, các ựịnh nghĩa này ựều là những ựịnh nghĩa mang tắnh mô tả. Tôi xin trắch một vài ựịnh nghĩa ở nguyên bản tiếng Anh nhằm chuyển tải ựược nguyên gốc ý của tác giả và tránh ựược những sai sót chủ quan:
định nghĩa 1. William J Frawley, Gregory Piatetsky-Shapiro, và Christopher
J Matheus 1991 [6]: ỘKnowledge discovery in databases, also known Data mining, is the nontrivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data.Ợ
định nghĩa 2. Marcel Holshemier và Arno Siebes (1994): ỘData Mining is the search for relationships and global patterns that exist in large databases but are ỔhiddenỖ among the vast amount of data, such as a relationship between patient data and their medical diagnosis. These relationships represent valuable knowledge about the database and the objects in the database and, if the database is a faithful mirror, of the real world registered by the database.Ợ
2.1.3. Các bước chắnh trong Khám phá tri thức (KDD)
Người ta thường chia quá trình khám phá tri thức thành các bước sau [7] [8] [9]:
Hình 2.2: Các bước trong quá trình khám phá tri thức.
- Trắch chọn dữ liệu (data selection): Là bước trắch chọn những tập dữ liệu cần ựược khai phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories) ban ựầu theo một số tiêu chắ nhất ựịnh. - Tiền xử lý dữ liệu (data preprocessing): là bước làm sạch dữ liệu (xử lý
với dữ liệu không ựầy ựủ, dữ liệu nhiễu, dữ liệu không nhất quán, .v.v.), rút gọn dữ liệu (sử dụng hàm nhóm và tắnh tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu, .v.v.), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, .v.v.). Sau bước này, dữ liệu sẽ nhất quán, ựầy ựủ, ựược rút gọn, và ựược rời rạc hóa.
- Biến ựổi dữ liệu (data transformation): đây là bước chuẩn hóa và làm mịn dữ liệu ựể ựưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai phá ở bước sau.
- KPDL (data mining): đây là bước áp dụng những kỹ thuật khai phá (phần nhiều là các kỹ thuật của machine learning) ựể khai phá, trắch chọn ựược những mẫu (patterns) thông tin, những mối liên hệ
(relationships) ựặc biệt trong dữ liệu. đây ựược xem là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD.
- Biểu diễn và ựánh giá tri thức (knowledge representation & evaluation): những mẫu thông tin và mối liên hệ trong dữ liệu ựã ựược khai phá ở bước trên ựược chuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như ựồ thị, cây, bảng biểu, luật, .v.v. đồng thời bước này cũng ựánh giá những tri thức khám phá ựược theo những tiêu chắ nhất ựịnh.
2..2 Các hướng tiếp cận và các kỹ thuật áp dụng trong Khai phá dữ liệu 2.2.1 Các hướng tiếp cận và các kỹ thuật chắnh trong Khai phá dữ liệu
Các hướng tiếp cận của KPDL có thể ựược phân chia theo chức năng hay lớp các bài toán khác nhau. Sau ựây là một số hướng tiếp cận chắnh [8].
- Phân lớp và dự ựoán (classification & prediction): xếp một ựối tượng vào một trong những lớp ựã biết trước. Vắ dụ: phân lớp vùng ựịa lý theo dữ liệu thời tiết. Hướng tiếp cận này thường sử dụng một số kỹ thuật
của machinelearning như cây quyết ựịnh (decision tree), mạng nơron
nhân tạo (neural network), .v.v. Phân lớp còn ựược gọi là học có giám sát (học có thầy Ờsupervised learning).
- Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá ựơn giản. Vắ dụ: Ộ60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khôỢ. Luật kết hợp ựược ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin-sinh, tài chắnh & thị trường chứng khoán, .v.v.
- Khai phá chuỗi theo thời gian (sequential/temporal patterns): tương tự như khai phá 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 ứng dụng nhiều trong lĩnh vực tài chắnh và thị trường chứng khoán vì nó có tắnh dự báo cao.
- Phân cụm (clustering/segmentation): xếp các ựối tượng theo từng cụm (số lượng cũng như tên của cụm chưa ựược biết trước. Phân cụm còn ựược gọi là học không giám sát (học không có thầy Ờ unsupervised learning).
- Mô tả khái niệm (concept description & summarization): thiên về mô tả, tổng hợp và tóm tắt khái niệm. Vắ dụ: tóm tắt văn bản.
2.2.2 Các dạng dữ liệu có thể khai phá
Do KPDL ựược ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau [8]. Sau ựây là một số kiểu dữ liệu ựiển hình.
- CSDL quan hệ (relational databases)
- CSDL ựa chiều (multidimensional structures, data warehouses) - CSDL dạng giao dịch (transactional databases)
- CSDL quan hệ - hướng ựối tượng (object-relational databases) - Dữ liệu không gian và thời gian (spatial and temporal data) - Dữ liệu chuỗi thời gian (time-series data)
- CSDL ựa phương tiện (multimedia databases) như âm thanh (audio), hình ảnh (image), phim ảnh (video), .v.v.
- Dữ liệu Text và Web (text database & www)
2.3 Ứng dụng của Khai phá dữ liệu 2.3.1 Ứng dụng của Khai phá dữ liệu 2.3.1 Ứng dụng của Khai phá dữ liệu
KPDL tuy là một lĩnh vực mới nhưng thu hút ựược rất nhiều sự quan tâm của các nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Chúng ta có thể liệt kê ra ựây một số ứng dụng ựiển hình:
- Phân tắch dữ liệu và hỗ trợ ra quyết ựịnh (data analysis & decision support)
- điều trị y học (medical treatment): mối liên hệ giữa triệu chứng, chẩn ựoán và phương pháp ựiều trị (chế ựộ dinh dưỡng, thuốc men, phẩu thuật, Ầ).
- Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt văn bản, .v.v.
- Tin-sinh (bio-informatics): tìm kiếm, ựối sánh các hệ gene và thông tin di truyền, mối liên hệ giữa một số hệ gene và một số bệnh di truyền, .v.v.
- Tài chắnh và thị trường chứng khoán (finance & stock market): phân tắch tình hình tài chắnh và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán, .v.v.
- Bảo hiểm (insurance) - .v.v.
2.3.2 Phân loại các hệ Khai phá dữ liệu
KPDL là một công nghệ tri thức liên quan ựến nhiều lĩnh vực nghiên cứu khác nhau như CSDL, kỹ thuật máy học (machine learning), giải thuật, trực quan hóa (visualization), .v.v. Chúng ta có thể phân loại các hệ thống KPDL dựa trên các tiêu chắ khác nhau.
- Phân loại dựa trên kiểu dữ liệu ựược khai phá: CSDL quan hệ (relational database), kho dữ liệu (data warehouse), CSDL giao dịch (transactional database), CSDL hướng ựối tượng, CSDL không gian (spatial database), CSDL ựa phương tiện (multimedia database), CSDL Text và WWW, .v.v.
- Phân loại dựa trên dạng tri thức ựược khám phá: tóm tắt và mô tả (summarization & description), luật kết hợp (association rules), phân lớp (classification), phân cụm (clustering), khai phá chuỗi (sequential mining), .v.v.
- Phân loại dựa trên kỹ thuật ựược áp dụng: hướng CSDL (databaseoriented), phân tắch trực tuyến (OnLine Analytical Processing Ờ OLAP), machine learning (cây quyết ựịnh, mạng nơ ron nhân tạo, k- min, giải thuật di truyền, máy vectơ hỗ trợ - SVM, tập thô, tập mờ, .v.v.), trực quan hóa (visualization), .v.v.
- Phân loại dựa trên lĩnh vực ựược áp dụng: kinh doanh bán lẻ (retail), truyền thông (telecommunication), tin-sinh (bio-informatics), y học (medical treatment), tài chắnh & thị trường chứng khoán (finance & stock market), Web mining, .v.v.
2.4 Những vấn ựề ựược chú trọng trong Khai phá dữ liệu
KPDL là một lĩnh vực mới, do ựó ựang còn rất nhiều vấn ựề chưa ựuợc nghiên cứu một cách trọn vẹn. Sau ựây là một số hướng nghiên cứu ựã và ựang thu hút ựược sự chú ý của các nhà tin học.
- OLAM (OnLine Analytical Mining) - Sự tắch hợp giữa CSDL, kho dữ liệu, và PDL. Hiện nay một số hệ quản trị CSDL như Oracle, MS SQL Server, DB2 ựã tắch hợp tắnh năng xây dựng kho dữ liệu và phân tắch trực tuyến (OLAP).
- Những tắnh năng này ựược hỗ trợ dưới dạng những công cụ ựi kèm và người dùng phải trả tiền thêm nếu cần sử dụng những tắnh năng ựó. Những nhà nghiên cứu trong lĩnh vực CSDL không muốn dừng lại ở ựó mà họ muốn có một sự tắch hợp giữa CSDL, kho dữ liệu và KPDL [8]. - Khám phá ựược nhiều dạng tri thức khác nhau từ nhiều kiểu dữ liệu [8]
[10].
- Tắnh hiệu quả, tắnh chắnh xác, ựộ phức tạp tắnh toán, khả năng mở rộng và tắch hợp, xử lý nhiễu và dữ liệu không ựầy ựủ, tắnh hữu dụng (ý nghĩa) của tri thức [8].
- Vấn ựề song song hóa và phân tán quá trình KPDL [13].
- Ngôn ngữ truy vấn trong KPDL (Data Mining Query Language Ờ DMQL): cung cấp cho người sử dụng một ngôn ngữ hỏi thuật tiện tương tự như SQL ựối với CSDL quan hệ [8].
- Biểu diễn và trực quan hóa tri thức khai phá ựược sao cho gần gũi với người sử dụng (human-readable expression). Tri thức có thể biểu diễn ựa chiều, ựa tầng ựể người dùng sử dụng tri thức hiệu quả hơn [8].
Chương 3:
KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT đỊNH
3.1 Cây quyết ựịnh
3.1.1 định nghĩa cây quyết ựịnh
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. [3]
Vắ dụ: Cây quyết ựịnh phân lớp mức lương
Hình 3.1 Cây quyết ựịnh phân lớp mức lương
3.1.2 Ưu ựiểm của cây quyết ựịnh