LỜI NÓI ĐẦU“We are drowning in data, but starving for knowledge” Tạm dịch: Chúng ta đang chết chìm trong dữ liệu nhưng chết đói vì tri thứcHằng năm có trên một triệu thí sinh tham dự kỳ
Trang 1
(DATA MINING)(Bài ti u lu n môn Công ngh tri th c và ng d ng) ểu luận môn Công nghệ tri thức và ứng dụng) ận môn Công nghệ tri thức và ứng dụng) ệ tri thức và ứng dụng) ức và ứng dụng) ức và ứng dụng) ụng)
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 1
Phần MỘT: Đại cương về khai thác dữ liệu I Giới thiệu 4
II Luật kết hợp trong khai thác dữ liệu 5
III Thuật toán Apriori 7
IV Thuật toán Apriori nhị phân 8
Phần HAI: Giới thiệu chương trình demo I Chức năng chính của website 11
1 Thống kê về thông tin 1 ngành trong 1 trường 11
2 Thống kê các chỉ số của 1 ngành nào đó giữa nhiều trường trong 1 năm 14
3 Tỉ lệ phần trăm giữa các ngành trong 1 trường: 16
4 Thống kê tỉ lệ phần trăm của 1 ngành giữa các trường trong 1 năm 17
5 Thống kê tỉ lệ phần trăm của các khối giữa các trường trong 1 năm 18
II Thiết kế hệ thống 19
III Lời kết 20
IV Tài liệu tham khảo 21
Trang 3LỜI NÓI ĐẦU
“We are drowning in data, but starving for knowledge”
(Tạm dịch: Chúng ta đang chết chìm trong dữ liệu nhưng chết đói vì tri thức)Hằng năm có trên một triệu thí sinh tham dự kỳ thi tuyển sinh ĐH, CĐ và qua
ba đợt xét tuyển, trung bình khoảng 35% thí sinh trúng tuyển nhưng đa số lựa chọn cácnhóm ngành được xem là “hot” trong khi nhiều ngành khác tuyển không đủ chỉ tiêu,thậm chí không có sinh viên Nhiều chuyên gia cho rằng sự mất cân đối trong tuyểnsinh là do công tác dự báo nguồn nhân lực và hướng nghiệp còn nhiều bất cập Kết quả
từ một đề tài khoa học cấp Nhà nước mới đây về khảo sát học sinh, giáo viên, phụhuynh, cán bộ quản lý trên phạm vi 8 tỉnh, TP cho thấy có tới 70% học sinh tốt nghiệpTHPT bước vào đời không được giáo dục hướng nghiệp đầy đủ; 60% giáo viên chưacoi trọng hoặc thiếu khả năng tổ chức các hoạt động giáo dục hướng nghiệp; 89% sốgiáo viên được khảo sát thừa nhận các trường phổ thông chưa quan tâm đến công táchướng nghiệp hoặc có hướng nghiệp nhưng chưa chú ý phát triễn nguồn nhân lực chocông nghiệp hóa…
Theo TS Lê Đông Phương, Giám đốc Trung tâm nghiên cứu giáo dục ĐH vànghề nghiệp – Viện nghiên cứu giáo dục Việt Nam: “Thực tế cho thấy chúng ta vẫncòn yếu và thiếu trong việc đánh giá, nghiên cứu, cũng như việc cảnh báo ngành họcnào cần thiết trước mắt, ngành nào cần thiết trong tương lai lâu dài để từ đó cảnh báocho các em học sinh và các bậc phụ huynh lựa chọn cho phù hợp… Chúng ta vẫn cònthiếu và yếu kênh thông tin đầy đủ cho các thí sinh chọn nghề nghiệp trong dài hạnchứ không phải chỉ là vấn đề như trước mắt hiện nay Tránh tình trạng như vài nămtrước, các trường thi nhau mở các khối ngành như kinh tế, kế toán, tài chính – ngânhàng, chứng khoán… Thời điểm đó, đúng là “hot” thật nhưng đến khi sinh viên ratrường, nhu cầu thực của xã hội lại không nhiều như vậy”
Theo ThS Trần Đình Lý, Giám đốc trung tâm hỗ trợ sinh viên và Quan hệdoanh nghiệp của Trường Đại học Nông Lâm TPHCM, hiện chưa có thống kê khảnăng đáp ứng của các lĩnh vực và việc cân đối thừa, thiếu trong các ngành nghề ra sao.Ông cũng đề xuất các cơ quan quản lý nên tăng cường khảo sát điều tra, dự báo xuhướng biến động về nhu cầu của từng lĩnh vực ngành nghề và công bố rộng rãi Các
Trang 4thông tin quan trọng này sẽ được nhà trường biết, thí sinh biết, cả xã hội biết và nhưthế sẽ góp phần điều chỉnh sự mất cân đối ngành nghề hiện nay.
Trong phạm vi bài khóa luận môn học Công nghệ tri thức, chúng em đã pháttriễn một ứng dụng nhỏ nhằm tổng hợp và thống kê số liệu tuyển sinh hằng năm củacác trường thành một thể thống nhất hơn, nhằm giúp các em học sinh có cái nhìn kháiquát về số lượng đăng ký, chỉ tiêu tuyển sinh, so sánh giữa các trường… hỗ trợ raquyết định chọn cho mình một ngành nghề Ứng dụng này có thể được phát triễn mởrộng thêm theo hướng phân tích dữ liệu về số lượng sinh viên tốt nghiệp, số lượng sinhviên tìm được việc làm thích hợp sau khi ra trường hằng năm… để tìm ra nhu cầu nhânlực của xã hội, góp phần định hướng nghề nghiệp cho học sinh Ứng dụng được đăngtải trên Internet với tên miền: http://tuyensinh.posy.vn tạo thuận lợi cho học sinh, phụhuynh và các nhà quản lý giáo dục truy cập sử dụng
Chúng em xin chân thành cảm ơn GS TSKH Hoàng Kiếm đã tận tình giảngdạy, cung cấp những kiến thức mới mẻ trong lĩnh vực khám phá tri thức, xây dựngnhững hệ thống thông minh hơn để phục vụ cho con người ngày càng tốt hơn Tuy thờigian học tập không được nhiều nhưng thầy đã cho chúng em những cái nhìn khái quát,những ý tưởng và hướng tiếp cận mới trong lĩnh vực máy học, khám phá tri thức Đóthực sự là những hành trang quý giá để chúng em tiếp tục nghiên cứu và phát triễn
Trang 5Bài khóa luận này gồm hai phần chính:
Phần một: Cơ sở lý thuyết của ngành khai thác dữ liệu (Data mining) – Giới thiệu
thuật toán Apriori nhị phân
Nguyễn Võ Thanh Sang – CH1101036
Phần hai: Chương trình demo phân tích, thống kê, so sánh số liệu đăng ký tuyển sinh
hằng năm của các trường đại học, hỗ trợ ra quyết định đăng ký dự thi
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 6
Phần MỘT: ĐẠI CƯƠNG VỀ KHAI THÁC DỮ LIỆU (DATA MINING)
I Giới thiệu:
Trong thời đại ngày nay, với sự phát triễn vượt bật của công nghệ thông tin, các
hệ thống thông tin có thể tạo ra và lưu trữ một khối lượng lớn dữ liệu về hoạt độnghằng ngày của chúng Các ví dụ có thể thấy là dữ liệu hóa đơn mua hàng trong siêu thị,
dữ liệu giao dịch chứng khoán, dữ liệu giao dịch qua thẻ ATM, dữ liệu đăng kí thituyển đại học… Khối lượng dữ liệu này là rất lớn với hàng triệu bảng ghi thông tin Cóthể nói là chúng ta “chết ngộp” trong biển thông tin này Vấn đề là làm sao từ khốilượng thông tin khổng lồ đó có thể tìm ra những tri thức quý báu cần thiết để cải thiệnhiệu quả hoạt động của hệ thống thông tin ban đầu Từ nhu cầu bức thiết trên, các kĩthuật về khai thác dữ liệu và máy học ra đời và ngày càng được cải tiến để có thể giảiquyết những bài toán hóc búa của con người như lập mô hình, dự báo, hỗ trợ ra quyếtđịnh, xây dựng những hệ thống ngày càng thông minh hơn
Các công đoạn của quá trình khai thác tri thức từ cơ sở dữ liệu bao gồm 6 bước:
1 Chọn lọc dữ liệu (data selection)
2 Xóa bỏ dữ liệu không cần thiết (cleaning)
3 Làm giàu dữ liệu (enrichment)
4 Mã hóa (coding)
5 Khám phá tri thức (data mining)
6 Báo cáo kết quả (reporting)
Quá trình này có thể được lặp lại nhiều lần, qua một hay nhiều giai đoạn dựatrên phản hồi từ kết quả của các giai đoạn sau
Một số phương pháp khai thác dữ liệu phổ biến:
Trang 75 Phân nhóm và phân đoạn
6 Các phương pháp dựa trên mẫu
7 Mô hình phụ thuộc dựa trên đồ thị xác suất
8 Khai phá dữ liệu dạng văn bản
9 Mạng Neuron
10 Giải thuật di truyềnTrong phạm vi bài khóa luận này, em chỉ xin trình bày về một thuật toán phổbiến trong khai mỏ tìm luật kết hợp đó là thuật toán Apriori nhị phân
II Luật kết hợp trong khai thác dữ liệu (Association Rule in Data Mining)
Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule) làtìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu Nội dung cơbản của luật kết hợp được tóm tắt như dưới đây
I = {i 1 , i 2 , …, i m }
Một itemset gồm k items gọi là k-itemset
Mục đích của luật kết hợp là tìm ra sự kết hợp (association) hay tương quan
(correlation) giữa các items Những luật kết hợp này có dạng X => Y
Trong bài toán mua hàng siêu thị, luật kết hợp X =>Y có thể hiểu rằng nhữngngười mua các mặt hàng trong tập X cũng thường mua các mặt hàng trong tập Y (X
và Y là các itemset)
Trang 8Ví dụ, nếu X = {Apple, Banana} và Y = {Cherry, Durian} và ta có luật kết hợp
X => Y thì chúng ta có thể nói rằng những người mua Apple và Banana thì cũngthường mua Cherry và Durian
Theo quan điểm thống kê, X được xem là biến độc lập (Independent variable)còn Y được xem là biến phụ thuộc (Dependent variable)
Độ hỗ trợ (Support) và độ tin cây (Confidence) là hai tham số dùng để đo lường luật kết hợp.
Độ hỗ trợ (Support) của luật kết hợp X =>Y là tần suất của giao dịch chứa tất cả
các items trong cả hai tập X và Y Ví dụ, support của luật X =>Y là 5% có nghĩa là
5% các giao dịch X và Y được mua cùng nhau.
Công thức để tính support của luật X =>Y như sau:
Trong đó: N là tổng số giao dịch.
Độ tin cậy (Confidence) của luật kết hợp X =>Y là xác suất xảy ra Y khi đã biết
X Ví dụ độ tin cậy của luật kết hợp {Apple} =>Banana} là 80% có nghĩa là 80%
khách hàng mua Apple cũng mua Banana.
Công thức để tính độ tin cậy của luật kết hợp X => Y là xác suất có điều kiện Y
khi đã biết X như sau:
Trong đó: n(X) là số giao dịch chứa X
Để thu được các luật kết hợp, ta thường áp dụng 2 tiêu chí: minimum
support (min_sup) và minimum confidence (min_conf)
Các luật thỏa mãn có support và confidence thỏa mãn (lớn hơn hoặc bằng) cả Minimum support và Minimum confidence gọi là các luật mạnh (Strong Rle)
Trang 9Minimum support và Minimum confidence gọi là các giá trị ngưỡng (threshold)
và phải xác định trước khi sinh các luật kết hợp.
Một itemsets mà tần suất xuất hiện của nó >= min_sup gọi là frequent itemsets
Một số loại luật kết hợp
- Luật kết hợp nhị phân (Binary association rules):
Ví dụ: Khách hàng mua Apple thì thường cũng sẽ mua Banana
- Luật kết hợp định lượng (Quantitative association rules):
Ví dụ: Nếu Trọng lượng trong khoãng [70kg – 90kg] thì Chiều cao sẽ nằm trong
khoãng [170cm – 190cm]
- Luật kết hợp mờ (Fuzzy association rules):
Ví dụ: Nếu Trọng lượng là NẶNG thì Chiều cao thường là CAO.
Thuật toán phổ biến nhất tìm các luật kết hợp là Apriori sử dụng Binary association rules.
III Thuật toán Apriori
Thuật toán do Agrawal đề xuất năm 1994, dựa trên một nhận xét khá đơn giản
là bất kỳ tập hợp con nào của tập xuất hiện – thường xuyên cũng là tập xuất hiện – thường xuyên Do đó, trong quá trình đi tìm các tập ứng cử viên, nó chỉ cần dùngđến các tập ứng cử viên vừa xuất hiện ở bước ngay trước đó, chứ không cần dùng đếntất cả các tập ứng cử viên (cho đến thời điểm đó) Nhờ vậy, bộ nhớ được giải phóngđáng kể
1/ Bước 1: cho trước ngưỡng độ hỗ trợ 0 1 Tìm tất cả các đối tượng
xuất hiện – thường xuyên Tập hợp tìm được ký hiệu là L1
2/ Bước 2: Tiến hành ghép đôi các phần tử của L1 (không cần để ý đến thứ
tự), được tập C2, gọi là tập các ứng cử viên có 2 phần tử Sở dĩ chỉ gọi là “ứng cửviên”, vì chưa chắc chúng đã là – thường xuyên Sau khi kiểm tra (dùng định
Trang 10nghĩa), ta lọc ra được các tập hợp – thường xuyên có 2 phần tử Ký hiệu tập hợpnày là L2.
3/ Bước 3: Với chú ý đã nêu (về tính chất tăng dần của các tập hợp –
thường xuyên), ta tiến hành tìm các ứng cử viên có 3 phần tử (lấy từ L1) Gọi nó làtập C3 Lưu ý là nếu {A, B, C} muốn là “ứng cử viên” thì các tập 2 phần tử {A, B},{B,C},{C, A } đều phải là – thường xuyên, tức là chúng đều là phần tử của tậpL2 Ta đi kiểm tra trong tập C3 và lọc ra được tập các tập hợp – thường xuyên có
3 phần tử Tập hợp này được ký hiệu là L3
4/ Bước 4: Tiến hành tìm các ứng cử viên có n phần tử Gọi tập của chúng là
tập Cn và từ đây, lọc ra Ln là tập tập các tập hợp – thường xuyên có n phẩn tử
Thuật toán Apriori có nhiều cải tiến: Apriori-TID, Apriori-Hybrid, Apriorinhị phân
IV Thuật toán Apriori nhị phân:
Thuật toán Apriori nhị phân sử dụng các vector bit cho các thuộc tính, vectornhị phân n chiều ứng với n giao tác trong cơ sở dữ liệu Có thể biểu diễn cơ sở dữliệu bằng một ma trận nhị phân trong đó dòng thứ I tương ứng với giao tác (bản ghi)
ti và cột thứ j tương ứng với mục (thuộc tính) ij Ma trận biểu diễn cơ sở dữ liệu ví
Trang 11Các vector biểu diễn nhị phân cho các tập 1 thuộc tính có dạng sau:
Vector biểu diễn nhị phân cho tập 1 thuộc tính
Các vector biểu diễn nhị phân cho các tập 2 thuộc tính có dạng sau:
{A,B} {A,C} {A,D} {A,E} {B,C} {B,D} {B,E} {C,D} {C,E} {D,E}
Vector biểu diễn nhị phân cho các tập 2 thuộc tính
Các vector biểu diễn cho thấy tập {A, C}, {C, D} có độ hỗ trợ <33% (2/6) nên bị loại
Các vector biểu diễn nhị phân cho các tập 3 thuộc tính có dạng:
Vector biểu diễn nhị phân cho các tập 3 thuộc tính
Các vector biểu diễn cho thấy tập {A,B,C}, {A,C,D}, {A,C,E}, {B,C,D}, {C,D,E} có
Trang 12độ hỗ trợ <50% nên bị loại.
Các vector biểu diễn nhị phân cho các tập 4 thuộc tính có dạng:
{A,B,C,D} {A,B,C,E} {A,C,D,E} {A,B,D,E} {B,C,D,E}
Vector biểu diễn nhị phân cho các tập 4 thuộc tính
Các vector biểu diễn cho thấy tập {A,B,C,D}, {A,B,C,E}, {A,C,D,E}, {B,C,D,E} có
độ hỗ trợ <50% nên bị loại
Các vector biểu diễn nhị phân cho các tập 5 thuộc tính có dạng:
{A,B,C,D,E}
000010Các vector biểu diễn cho thấy tập 5 thuộc tính có độ hỗ trợ 17% (1/6)
Trang 13Phần HAI: Chương trình demo
Website thống kê các chỉ số của thông tin tuyển sinh đại học cao đẳng cho các
em chuẩn bị cho kì thi tuyển sinh
Hằng năm theo thống kê của Bộ giáo dục có khoảng một triệu học sinh thituyển sinh vào các trường đại học và cao đẳng trong cả nước, và cả nước có khoảngtrên dưới năm trăm các trường đại học, cao đẳng, TCCN với hàng trăm ngành khácnhau Các học sinh sẽ bị chìm trong biển thông tin tuyển sinh của các trường công bố.Nhận thấy nhu cầu cần có một chương trình tổng hợp và thống kê các số liệu đó thànhmột thể thống nhất hơn, nhằm giúp các em dễ dàng hơn để chọn cho mình một ngành
Tên miền truy cập: http://tuyensinh.posy.vn
I Chức năng chính của website
Website thống kê trên 4 chỉ số chính là: Số lượng thí sinh đăng kí, chỉ tiêu, điểm
chuẩn và tỉ lệ chọi
Một ngành A nào đó trong trường B có các thông số: số lượng đăng kí tuyển
sinh, chỉ tiêu, điểm chuẩn và tỉ lệ chọi qua các năm có sự thay đổi như thế nào sẽ
được phản ánh rõ qua các sơ đồ:
Trang 14Sơ đồ 1: Số lượng đăng kí dự thi và chỉ tiêu của 1 ngành trong 1 trường qua các năm
Trang 15Sơ đồ 2: Điểm chuẩn và tỉ lệ chọi của 1 ngành trong 1 trường qua các năm
Trang 162 Thống kê các chỉ số của 1 ngành nào đó giữa nhiều trường trong 1 năm
Thí sinh muốn so sánh các chỉ số trên của một ngành nào đó giữa các trường khác nhau trong 1 năm: Ví dụ: So sánh các chỉ số trên của ngành công nghệ thông tin giữa các trường ĐH Bách khoa TPHCM, ĐH Khoa học tự nhiên TPHCM, ĐH Công nghệ thông tin TPHCM… trong năm 2011
Sơ đồ 3: Số lượng đăng kí và chỉ tiêu của ngành CNTT giữa các trường trong 1 năm
(2011)
Trang 17Sơ đồ 4: Điểm chuẩn và tỉ lệ chọi của ngành CNTT giữa các trường trong 1 năm
(2011)
Trang 183 Tỉ lệ phần trăm giữa các ngành trong 1 trường:
Chức năng này cung cấp cho thí sinh thông tin về tỉ lệ phần trăm của các ngành trong 1trường nào đó trong 1 năm
Sơ đồ 5: Tỉ lệ phần trăm giữa các ngành trong 1 trường của 1 năm
Trang 194. Thống kê tỉ lệ phần trăm của 1 ngành giữa các trường trong 1 năm
Chức năng này cung cấp thông tin về tỉ lệ phần trăm thí sinh đăng kí vào 1 ngành nào
Trang 205. Thống kê tỉ lệ phần trăm của các khối giữa các trường trong 1 năm
Chức năng cung cấp cho thí sinh thông tin về phần trăm các thí sinh đăng kí giữa cáck khối giữa các trường trong 1 năm nào đó
Sơ đồ 7: Tỉ lệ phần trăm thí sinh đăng kí dự thi giữa các khối trong 1 năm của tát cả
các trường trong cả nước
Trang 21II Thiết kế hệ thống
Để đạt kết quả trên, hệ thống được thiết kế như sau:
Cơ sở dữ liệu của website
Trong đó:
School: Lưu trữ thông tin về một trường
ShoolType: Mỗi trường sẽ thuộc loại nào (ĐH, CD, TH…)
SchoolGroup: Mỗi trường sẽ thuộc nhóm nào (ĐH Quốc gia, Công lập, dân lập, tư
thục, bán công…)
Region: Lưu trữ vùng miền của đất nước (Bắc, Trung, Nam)
Major: Lưu trữ thông tin về một ngành của một trường
Section: Loại của ngành đó (Tự nhiên, xã hội, loại khác)
Field: Khối thi của ngành (A,B,C,…)
GroupMajor: Ngành đó thuộc nhóm nào