Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Mục Lục
Mục Lục 1
Lời Cảm Ơn 2
Lời Mở Đầu 3
I. Tổng Quan Về Khai Phá Dữ Liệu 4
1. Khái niệm Khai Phá Dữ Liệu 4
2. Chức năng của Khai Phá Dữ Liệu 4
3. Ứng Dụng Khai Phá Dữ Liệu 5
4. Các bước trong Khai Phá Dữ Liệu 6
II. Cơ sở toán học trong Khai Phá Dữ Liệu 8
1. Các tập hợp khai thác dữ liệu 8
2. Các kết nối Galois 8
3. Tập hợp mặt hàng phổ biến 8
4. Luật kết hợp 8
III. Tiếp cận các luật kết hợp và thuật toán để Khai Phá Dữ Liệu 9
1. Định nghĩa luật kết hợp 9
2. Ý nghĩa luật kết hợp 10
3. Thuật toán Apriori 10
IV. Hệ quản trị cơ sở dữ liệu hỗ trợ data mining 13
1. Tổng quan hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 R2 13
2. Kiến trúc Analysis Services trong hệ quản trị cơ sở dữ liệu Microsoft SQL
Server 2008 R2 14
3. Ứng dụng Analysis Services trong hệ quản trị cơ sở dữ liệu Microsoft SQL
Server 2008 R2 19
V. Tổng Quan Chương Trình Tìm tập phổ biến và luật kết hợp demo 38
1. Cấu trúc lập trình chương trình 38
2. Demo chương trình 43
VI. Một số ứng dụng Demo khác được phát triển để minh họa các kỹ thuật Data
Mining 50
1. Phân Lớp Bayes (Bayes Classification) 50
2. Gom cụm K-Means (K-Means Cluster) 54
3. Tính ma trận bất khả phân biệt trong tập thô (RoughSet Discernibility Matrix)
60
Kết Luận 64
Tài Liệu Tham Khảo 65
Nhận Xét Của Giáo Viên 66
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 1/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Lời Cảm Ơn
Thông qua môn học này, em xin gởi lời cám ơn chân thành đến thầy Đỗ Phúc,
thầy đã giới thiệu môn học vô cùng thú vị, giới thiệu tiếp cận một kiến thức mới
về cách sử dụng, khai thác dữ liệu tưởng trong một cơ sở dữ liệu chừng không có
quy luật đó.
Những tài liệu thầy giới thiệu, những ý tưởng mở để tìm hiểu thêm kiến thức môn
học, những câu hỏi yêu cầu suy nghĩ và điểm nhấn mạnh của thầy thực sự giúp ích
em trong việc nghiên cứu thêm.
Thông qua bài tiểu luận này, em mong được xem như hệ thống hoá kiến thức và
một số điểm tìm hiểu vấn đề trong môn học Khai Phá Dữ Liệu và Kho Dữ Liệu.
Em cũng muốn thông qua chương trình viết và cài đặt được, giúp hiện thực tốt hơn
nhưng gì lý thuyết thể hiện.4
Tuy nhiên, do một số hạn chế về thời gian, cho nên bài báo cáo chắc chắn còn
nhiều thiếu sót, một số yếu tố trong chương trình chủ yếu mang tính học thuật và
chưa tối ưu chương trình. Rất mong được sự hướng dẫn và giúp đỡ của các thầy và
các bạn.
Một lần nữa xin cảm ơn thầy hướng dẫn chúng em tận tình trong môn học Khai
Phá Dữ Liệu vừa qua.
Xin cảm ơn !
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 2/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Lời Mở Đầu
Ngay khi nói đến máy tính và hệ thống thông tin, chúng ta không thể không biết
và không quan tâm đến trung tâm của hệ thống là cơ sở dữ liệu. Mọi vấn đề lưu
trữ, truy xuất, hổ trợ ra quyết định đều thao tác trên hàng tỉ giao dịch trên thế giới
mỗi giây. Tuy nhiên, việc tận dụng những tập dữ liệu khổng lồ đó để lấy thông tin
là vấn đề bức thiết và đem lại nhiều lợi ích.
Khai thác dữ liệu (Data Mining) là phương pháp khám phá tri thức tiềm ẩn trong
các cơ sở dữ liệu. Đó là tiến trình trích lọc, sản sinh ra những loại tri thức hoặc các
mẫu tiềm ẩn, chưa biết nhưng đem lại hữu ích từ khối dữ liệu tưởng chừng không
có quy luật đó.
Để khai thác hiệu quả nguồn thông tin từ các cơ sở dữ liệu, nhiều hệ cơ sở dữ liệu
cũng đã hỗ trợ tiến trình ra quyết định một cách truyền thống, một số kỹ thuật và
phương pháp chuyên biệt tổng hợp thông tin cũng ra đời.
Cụ thể hơn về khai phá dữ liệu, giả sử một công ty bán lẻ có hàng triệu giao dịch
mỗi tháng, chúng ta có thể tìm ra một số quy luật kết hợp giữa các sản phẩm và xu
hướng thị trường, từ đó chúng ta có thể đưa ra những chương trình, chiến lược
nhập hàng và bố trí mặt hàng phù hợp theo nhu cầu và đem lại doanh nghiệp lợi
nhuận cao nhất.
Ngoài việc tìm hiểu lý thuyết, e có viết chương trình demo tìm tập phổ biến, tập
phổ biến tối đại và tìm tập luật sinh theo thuật giải Apriori.
Ngoài ra, để tìm hiểu sâu thêm về các lĩnh vực khác của Data Mining, em có viết
chương trình và demo về phân lớp bằng Bayes (Bayes Classifcation), Gom cụm
bằng KMean (KMean Cluster), và sinh ma trận phân biệt cho Tập Thô (Rough
Set)
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 3/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
I. Tổng Quan Về Khai Phá Dữ Liệu
Khoảng hơn một thập kỷ 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.
Nói một cách hình ảnh là chúng ta đang ngập tràn trong dữ liệu nhưng lại đói tri
thức. Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những núi dữ liệu
tưởng chừng như bỏ đi ấy không?
Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt
ra ở trên . Khá nhiều định nghĩa về Data Mining và sẽ được đề cập ở phần sau, tuy
nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai
thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá
trình hoạt động của một công ty, tổ chức nào đó.
Quả thật sự phát triển của CSDL ngày càng tăng hình thành với một khối
lượng khổng lồ, đòi hỏi chúng ta - những người sử dụng - phải biết khai thác, chọn
lọc dữ liệu có ích cho mình giữa một “biển” dữ liệu ấy. Đó cũng là lí do Data
Mining (DM) ra đời.
1. Khái niệm Khai Phá Dữ Liệu
Khai phá dữ liệu (Data Mining) là tìm ra những qui luật đáng quan tâm, các
thông tin về dữ liệu có ích trong quá trình sử dụng khối lượng dữ liệu khổng lồ,
hiểu như là một quá trình chắt lọc hay khai phá tri thức từ một lượng lớn dữ liệu.
Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được
ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước.
Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số
lượng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương
tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge
extraction(chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data
archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu),
Tóm lại, khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự
động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp
dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ
liệu đó.
2. Chức năng của Khai Phá Dữ Liệu
Data Mining được chia nhỏ thành một số hướng chính như sau:
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 4/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
• Mô tả khái niệm (concept description): 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.
• 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
kính doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, .v.v.
• 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 machine learning như cây quyết định
(decision tree), mạng nơ ron nhân tạo (neural network), .v.v. Người ta còn
gọi phân lớp là học có giám sát (học có thầy).
• Phân cụm (clustering): 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. Người ta còn gọi phân cụm là học
không giám sát (học không thầy).
• Khai phá chuỗi (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.
3. Ứng Dụng Khai Phá Dữ Liệu
Data Mining tuy là một hướng tiếp cận 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 và phát triển 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)
• Text mining & Web mining
• Trắc sinh học (bio-informatics)
• Tài chính và thị trường chứng khoán (finance & stock market)
• Bảo hiểm (insurance)
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 5/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
• Nhận dạng (pattern recognition)
• Một trong những tiếp cận mới nhất là Khai thác dữ liệu có giá trị từ mạng
xã hội như Facebook Insight, Twitter Analytics hay YouTube Analytics
Người sử dụng mạng xã hội đã bấm “thích” trang của doanh nghiệp đánh
dấu mức độ sự quan tâm khách hàng, bằng cách tìm hiểu thêm về giới tính của họ,
tuổi tác và vị trí của họ, bạn sẽ có thể thiết kế quảng cáo trong tương lai và các
hoạt động marketing và có thể tăng cường kết nối của bạn với họ. Ngoài ra, số
lượng tập bình luận phổ biến người dùng cũng giúp doanh nghiệp hiểu thêm về
mong đời và có chiến lược thích hợp.
4. Các bước trong Khai Phá Dữ Liệu
Khai phá dữ liệu là một bước trong 7 bước của quá trình Khai Phá Dữ Liệu
theo thứ tự sau:
Ta thấy bắt đầu là kho dữ liệu thô đang thao tác bình thường, và kết thúc là
tri thức hữu ích được tận dụng. Các bước được giả thích như sau:
1. Gom dữ liệu (Gathering in Operational Database)
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu, đó là
bước khai thác trong một kho dữ liệu, cơ sở dữ liệu hoặc từ nguồn ứng
dụng web hoặc từ data center của các web service.
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 6/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
2. Trích lọc dữ liệu (Selection)
Dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn. Ví dụ
chọn nhân viên có tuổi từ 23-30 và tốt nghiệp đại học.
3. Làm sạch, tiền xử lý và chuẩn bị dữ liệu (Cleansing, Pre-processing and
Preparation)
Đây là bước rất quan trọng trong quá trình khai phá dữ liệu. Ở đây có
một số lỗi thường mắc phải là tính phi logic dữ liệu như chứa các giá trị
vô nghĩa và gây nên lỗi dữ liệu. Đây là giai đoạn tiến hành xử lý những
dữ liệu không chặt chẽ, phi logic và loại bỏ những dữ liệu dư thừa
không có giá trị.
Ví dụ: trong việc xác định từ có nghĩa và hữu ích trong nhận dạng văn
bản tiếng Anh, nên loại bỏ a, the, for, which, vì bản chất nó dư thừa
không mang lại thông tin có giá trị.
4. Chuyển đổi dữ liệu (Transformation)
Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
bằng việc sử dụng và điều khiển bởi việc tổ chức lại giúp chuyển đổi
phù hợp mục đích khai thác.
5. Phát hiện và trích mẫu dữ liệu (Data mining)
Là một trong các bước quan trọng nhất, trong đó sử dụng những phương
pháp thông minh để chắt lọc ra những mẫu dữ liệu.
6. Phát hiện và trích mẫu dữ liệu (Post-Processing hoặc Pattern Extraction
and Discovery)
Đây là bước mang tính tư duy trong khai phá dữ liệu. Giai đoạn sử dụng
nhiều thuật toán khác nhau để trích ra các mẫu dữ liệu thường xử dụng
là theo nguyên tắc phân loai, nguyên tắc kết hợp và các mô hình dữ liệu
tuần tự.
7. Đánh giá kết quả mẫu và biểu diễn tri thức (Evaluate result and
knowledge presentation)
Đây là giai đoạn cuối của quá trình khai thác dữ liệu. Các mẫu dữ liệu
được chiếc xuất ra và quá trình này sử dụng các kỹ thuật để biểu diễn và
thể hiện trực quan cho người dùng.
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 7/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
II. Cơ sở toán học trong Khai Phá Dữ Liệu
1. Các tập hợp khai thác dữ liệu
- O là tập hữu hạn khác rỗng các giao tác
- I là tập hữu hạn khác rỗng các mặt hàng,
- R là một quan hệ hai ngôi giữa O và I
sao cho với o∈O và i∈I, (o,i)∈R⇔ giao tác có chứa mặt hàng i.
Ngữ cảnh khai phá dữ liệu ( dưới đây sẽ gọi tắt là NCKTDL) là bộ ba (O,I,R).
2. Các kết nối Galois
Cho NCKTDL (O, I, R), xét hai kết nối Galois ρ và λ được định nghĩa như sau:
ρ: P(I) →P(O) và λ : P(O) →P(I):
Cho S ⊂ I , ρ(S) = {o∈O |∀i ∈ S, (o,i) ∈ R}
Cho X ⊂ O, λ(X) ={i∈ I | ∀o∈X , (o,i) ∈ R}
Trong đó P(X) là tập các tập con của X.
Cặp hàm (ρ , λ) được gọi là kết nối Galois. Giá trị ρ(S) biểu diễn tập các giao tác
có chung tất cả các mặt hàng trong S. Giá trị λ(X) biểu diễn tập mặt hàng có trong
tất cả các giao tác của X.
3. Tập hợp mặt hàng phổ biến
Cho NCKTDL (O,I,R) và minsupp ∈ (0,1] là ngưỡng phổ biến tối thiểu. Cho S ⊂
I, độ phổ biến của S ký hiệu là SP(S) là tỉ số giữa số các giao tác có chứa S và số
lượng giao tác trong O. Nói cách khác SP(S)= |ρ(S)|/|O|.
Cho S ⊂ I , S là một tập các mặt hàng phổ biến theo ngưỡng minsupp nếu và chỉ
nếu SP(S) ≥ minsupp. Trong các phần sau tập mặt hàng phổ biến sẽ được gọi tắt là
tập phổ biến.
Ký hiệu FS(O,I,R,minsupp) = { S ∈ P(I) | SP(S) ≥ minsupp }
4. Luật kết hợp
a. Định nghĩa:
Cho NCKTDL (O,I,R) và ngưỡng minsupp ∈(0,1]. Với một S∈ S(O,I,R,minsupp),
gọi X và Y là các tập con khác rỗng của S sao cho S = X∪Y và X ∩Y=∅. Luật
kết hợp X với Y có dạng X→Y phản ánh khả năng khách hàng mua tập mặt hàng
Y khi mua tập mặt hàng X. Độ phổ biến của luật kết hợp X→Y với S= X∪Y là
SP(S). Độ tin cậy của luật kết hợp X→Y được ký hiệu là CF(X→Y) và được tính
bằng công thức CF(X→Y)=SP(X∪Y)/SP(X)
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 8/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Nguyên lý Apriori:
• Cho S ∈ FS(O,I,R,minsupp), nếu T ⊆ S thì T ∈ FS(O,I,R,minsupp)
• Cho T ∉ FS(O,I,R,minsupp), nếu T ⊆ S thì S ∉ FS(O,I,R,minsupp)
b. Tìm tập phổ biến
Cho NCKTDL (O,I,R) và minsupp∈(0,1], tìm FS(O,I,R,minsupp). Thuật toán
được xây dựng dựa trên nguyên lý Apriori. Đầu tiên thuật toán sẽ tìm các tập phổ
biến có một phần tử. Sau đó các ứng viên của các tập phổ biến có hai phần tử sẽ
được tạo lập bằng cách hợp các tập phổ biến có một phần tử. Một cách tổng quát,
các tập ứng viên của tập phổ biến có k phần tử sẽ được tạo từ các tập phổ biến có
k-1 phần tử. Gọi Fk ={S∈ P(I) | SP(S) ≥ minsupp và |S|= k }. Thuật toán sẽ duyệt
từng ứng viên để tạo Fk bao gồm các ứng viên có độ phổ biến lớn hơn hoặc bằng
ngưỡng minsupp.
c. Tìm tập phổ biến tối đại
Trong tất cả các tậ p phổ biến một số tập thuộc tính thoả mãn tính chất không có
tập cha nào của chúng phổ biến, thì đó là các tập phổ biến tối đại – maximal
frequent itemset.
Do vậy bài toán tìm các tập phổ biến có thể chuyển sang bài toán tìm tập phổ biến
cực đại. Tập phổ biến cực đại được xem như là biên giới của các tập phổ biến và
không phổ biến. Một khi tập phổ biến cực đại được tìm thấy, các tập phổ biến và
không phổ biến sẽ tìm thấy.
d. Tìm luật kết hợp
Cho NCKTDL (O,I,R) và hai ngưỡng phổ biến minsupp∈[0,1] và ngưỡng tin cậy
minconf∈(0,1], tìm tất cả các luật kết hợp r có CF( r ) ≥ minconf và SP(r) ≥
minsupp. Chi tiết thuật toán tìm tập phổ biến theo nguyên lý Apriori sẽ tìm hiểu
phần sau.
III. Tiếp cận các luật kết hợp và thuật toán để Khai Phá Dữ
Liệu
Các loại hàng hóa trong giao dịch thực hiện trong thương mại rất lớn, theo
thời gian mỗi ngày, mỗi tuần, mỗi tháng, mỗi quý và mỗi năm, số lượng giao dịch
và các mặt hàng là cực kỳ khổng lồ. Tuy nhiên số lượng bản ghi giao dịch có chứa
đồng thời một số mặt hàng xác định chiếm một tỉ lệ đáng quan tâm. Chúng ta
không biết người mua là ai, do đó vấn đề đặt ra là sự trùng lặp đó ngẫu nhiên hay
có một qui luật cũng như một căn cứ nào hay không? Đó là tiền đề cho sự ra đời
của luật kết hợp.
1. Định nghĩa luật kết hợp
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 9/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Luật kết hợp là luật chỉ ra mối quan hệ của hai hay nhiều đối tượng (đối
tượng chúng ta đang xét ở đây là các mặt hàng).
Cấu trúc của luật như sau: A=>B (sup, con).
Có nghĩa là luật có A thì kéo theo B với cơ sở support và confidence, trong đó:
sup= support: (độ hỗ trợ) là tỉ lệ giao dịch chứa cả hai mặt hàng A và B.
con= confidence: (độ tin cậy) là tỉ lệ giao dịch chứa mặt hàng B trong các giao
dịch chứa mặt hàng A.
Ví dụ về luật kết hợp: “bánh mì”=>”sữa” (40%,45%)
có nghĩa là: có “bánh mì” thì kéo theo “sữa” với cơ sở: 40% các giao dịch chứa cả
hai mặt hàng bánh mì và sữa, trong số các bản ghi chứa “bánh mì” có 45% bản ghi
chứa “sữa”.
Tuy nhiên không phải luật kết hợp giữa mặt hàng nào cũng có ý nghĩa, chúng ta
chỉ quan tâm tới những luật có một cơ sở nào đó hay còn gọi là ngưỡng. Một trong
các ngưỡng thường dùng đó là giới hạn cơ sở, min_sup. Ví dụ: chúng ta chỉ quan
tâm tới những luật kết hợp có độ hỗ trợ lớn hơn min_sup, như vậy luật kết hợp tìm
được sẽ có giá trị cao hơn.
2. Ý nghĩa luật kết hợp
Một ứng dụng quan trọng của luật kết hợp là từ mớ dữ liệu hỗn độn tưởng chừng
không theo một nguyên tắc gì cả và thực chất có thể phân tích. Đó là việc phân
tích thói quen mua hàng của khách để tìm sự kết hợp giữa các mặt hàng khác nhau
trong một lần mua hàng của họ.
Ví dụ: Quay lại ví dụ trên, trong 1 lần mua hàng tại siêu thị nếu khách hàng mua
bánh mì, thường thì họ sẽ mua sữa. Thông tin như thế có thể chỉ dẫn người bán lựa
chọn mặt hàng và vị trí của chúng trên giá hàng. Do đó người bán có thể đặt sữa
và bánh mì trong phạm vi gần kề để gây tác động tích cực tới việc mua của khách
cho cả hai mặt hàng này. Việc nhận ra các mặt hàng thường được mua cùng nhau
giúp người bán hàng có thể bán được nhiều hàng hơn do đó tăng doanh thu.
Khai thác luật kết hợp nhằm tìm ra những mối liên kết đáng quan tâm hoặc những
quan hệ tương quan trong một tập lớn các đối tượng. Trong giao dịch thương mại
khám phá mối quan hệ trong số lượng lớn các bản ghi giao dịch có thể giúp nhiều
nhà kinh doanh xử lí giải quyết các vấn đề.
3. Thuật toán Apriori
Vấn đề đặt ra là làm thế nào để tìm ra được các luật liên kết giữa khối lượng
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 10/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
khổng lồ của DL? DL thể hiện mối liên hệ đó ở đâu? luật kết hợp nào đáng quan
tâm nhất? Tìm ra luật kết hợp đáng quan tâm như thế nào?
1. Chức năng
Apriori là một thuật toán mạnh về tập phổ biến với các luật kết hợp logic. Chức
năng của thuật toán là tìm tập phổ biến từ đó xây dựng thành các luật kết hợp.
2. Tập phổ biến
Tập phổ biến là tập chứa các tập con thoả mãn ngưỡng cơ sở đã xác định.
VD: tập {A,B} thoả mãn ngưỡng cơ sở khi
SupAB= min_sup
Tính chất: mọi tập con không rỗng của một tập phổ biến cũng là tập phổ biến
3. Phân tích
3.1.Tìm tập phổ biến sử dụng bằng sinh các ứng viên.
a. Tính chất
Apriori sử dụng tập phần tử đã biết trong các tập phổ biến, tập k phần tử được
dùng để khảo sát và đưa ra tập (k+1) phần tử.
Đầu tiên, tìm tập phổ biến 1 phần tử (tập L1), từ tập L1 tìm tập L2 là tập phổ biến
2 phần tử. Tiếp tục sử dụng L2 để tìm L3 Qúa trình tìm mỗi tập Lk sẽ duyệt
toàn bộ CSDL.
Theo tính chất của tập phổ biến ta có suy luận sau:
Nếu một phần tử không thoả mãn ngưỡng nhỏ nhất của độ hỗ trợ, min_sup, thì I
không là phổ biến, nghĩa là P(I) < min_sup. Nếu phần tử A được thêm vào tập
phần tử I được tập I ∪ A, không phổ biến mức cao hơn I thì I ∪ A cũng không là
tập phổ biến nghĩa là P(I ∪ A)<min_sup.
b. Quá trình sinh tập Lk-1 dựa vào Lk được xây dựng như sau:
Bước 1: Kết nối - Tìm Ck
Ck là tập ứng viên k_itemsets được sinh bởi Lk-1 liên kết với chính nó. Việc liên
kết Lk-1 với Lk-1 được xác định như sau: li là tập phần tử thứ i trong Lk-1, trong
đó li(j) là phần tử thứ j (tính từ phần tử cuối) của tập phần tử li. Hai tập phần tử
trong Lk-1 được kết nối với nhau khi và chỉ khi chúng có (k-2) phần tử đầu tiên
giống nhau. Điều kiện li[k-1]<lt[k-1] đảm bảo cho việc sinh Ck không bị lặp các
phần tử. Kết quả kết nối livà lt là li[1] li[2] li[k-2] li[k-1].
Bước 2: Điều chỉnh
Ck là tập bao gồm Lk, thật vậy, các tập con của nó có thể hoặc không là tập phổ
biến, nhưng tất cả tập phổ biến k phần tử đều được chứa trong Ck. Qúa trình duyệt
và đếm các phần tử của Ck sẽ loại bỏ các phần tử không thoả mãn giới hạn cơ sở
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 11/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
và cho kết quả là tập Lk. Việc giảm kích thước của Ck được tiến hành như sau:
- Tất cả các tập (k-1) phần tử không phổ biến không là tập con của tập phổ biến k
phần tử.
- Nếu tập (k-1) phần tử nào của tập ứng viên k phần tử không thuộc Lk-1 thì ứng
viên đó không là tập phổ biến và loại bỏ khỏi Ck.
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 12/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
IV. Hệ quản trị cơ sở dữ liệu hỗ trợ data mining
1. Tổng quan hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 R2
SQL Server 2008 R2 của hãng Microsoft là hệ quản trị cơ sở dữ liệu mạnh và nổi
tiếng, nhờ gắn kết với hệ thống lớn mạnh mẽ như Domain, Sharepoint, và những
sản phẩm gì Microsoft triển khai. Một trong số chức năng chính của SQL Server
2008 R2 như sau:
1.1. SQL Manager Studio
Quản lý CSDL là cách cho phép quản lý dự án một cách tốt nhất từ việc tạo đến
bảo trì database.
Một số công cụ là SQL Analysis, SQL Integrate, SQL Report.
1.2 SQL Integrate
Công cụ cho phép người quản trị tích hợp data từ nhiều nguồn khác nhau như Text
(có cấu trúc), xml, Excel, Access, SQL, Oracle
Cơ chế này cho phép chuyển đổi hầu hết các dữ liệu có cấu trúc vào CSDL SQL
2008. Với khả năng linh hoạt cho phép ta chọn những dữ liệu cần thiết, ngoài ra
còn cơ chế báo lỗi dữ liệu không hợp lệ người dùng.
Ngoài ra còn hổ trợ khả năng tích hợp một cách linh hoạt, có thề sữ dụng các câu
Query để phụ giúp cho quá trình tích hợp dự liệu, có thể bổ sung dữ liệu mới mà
không cần xữ lý trên CSDL nhiều.
1.3 SQL Analysis
Là công cự cho phép người quan trị phân tích kho dữ liệu theo nhiều cách để giúp
cho việc báo cáo mang tính chiến lược. Ngoài ra, SQL Analysis còn cho phép thiết
kề, tạo, quản lý các khối nhằm khai thác dữ liệu.
SQL Anaysis bao gồm: Data Sources, Data Source View, Cubes, Dimentions,
Mining Structure, Roles, Assemblies và Miscellaneous.
a. Data Source
SQL cho phép làm việc trên nhiều Data source trong 1 dữ án, Mỗi data source sử
dụng 1 connection khác nhau.
b. Khối (Cube):
Một project bao gồm nhiều Cube khác nhau, Cube bao gồm các số đo và các
chiều. Xây dựng Cube có thể sữ dụng mô hình star Schema và snowflake sheme.
c. Measures, Atributes and Hierarchies
- Mesures: là thông tin chính cần phân tích
- Attributes: là các thông tin về chiếu cần phân tích theo các hướng khác nhau
- Hiearachies: là khả năng tổng quát hóa và chi tiết của Data Mining
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 13/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
d. Mining Structures
Mục đích tạo ra định hướng cho nguồn dữ liệu giúp tìm ra quy luật của dữ liệu,
tách được dữ liệu ở mức cao hơn.
Các cấu trúc và thuật toán hổ trợ cho Data Mining giúp phân tích dữ liệu như:
Microsoft Decision Tree, Microsoft Clustering, Microsoft Linear Regression,
Microsoft Logistic Regression, Microsoft Naive Bayes, Microsoft Neural
Network, Microsoft Sequence Clustering, Microsoft Time Series.
e. Roles, Assemblies, Miscellaneous
Hổ trợ phân quyền hệ thống, các hàm tiện ích, các thủ tục và trigger
1.4. SQL Reporting
Giúp ích cho việc đưa ra các báo cáo dưới dạng văn bản hoặc trình duyệt giúp cho
quản lý lãnh đạo có thể xem xét đưa ra quyết định.
Báo cáo có thể đưa ra nhiều dạng khác nhau: HTML, Web, Doc, Excel, pdf,
Image
Report trong SQL đưa ra các báo cáo từ dữ liệu có trực tiếp trong CSDL, ngoài ra
bao gồm các dữ liệu khác như dữ liệu từ việc phân tích các khối, từ phân tích data
mining.
Ngoài ra report còn hổ trợ nhiều định dạng theo ý muốn như dữ liệu dạng số, ngày
và đặc biệt rất nhiều dạng biểu đồ trực quan
2. Kiến trúc Analysis Services trong hệ quản trị cơ sở dữ liệu Microsoft
SQL Server 2008 R2
Sau đây, chúng ta tìm hiểu công cụ SQL 2008: SQL Server Analysis Services
(SSAS) mà hổ trợ Data Mining
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 14/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Kiến trúc của DDAS
Kiến trúc luận lý (Logical Architecture)
• Mining Structures
Mining Structure là một cấu trúc dữ liệu hợp lý xác định lĩnh vực dữ liệu mà từ
đó xây dựng mô hình khai thác. Một Mining Structure đơn có thể hỗ trợ nhiều
mô hình khai thác mà chia sẻ cùng một tên miền. Data mining structure cũng
có thể được phân chia thành một tập huấn luyện và thử nghiệm, bằng cách xác
định một tỷ lệ phần trăm hoặc số lượng dữ liệu như một người hết.
• Mining Models
Mining model thể hiện sự tổ hợp các dữ liệu, giải thuật data mining, và tập hợp
các thông số các cấu hình filter mà quyết định data nào sử dụng và xử lý data
đó như thế nào. Trong SQL server, sử dụng ngôn ngữ Data Mining Extensions
(DMX)
• Mining Model Content
Sau khi thiết kế và xử lý Mining Model sẽ chứa nội dung mô hình Mining
(Mining Model Content). Chúng ta có thể sử dụng nội dung này để dự đoán
hoặc phân tích dữ liệu.
Mining model content chứa metadata của một mô hình, thống kê về dữ liệu và
các mẫu được khai phá bằng các giải thuật mining bao gồm các công thức,
định nghĩa tập luật, trọng số và các thống kê khác.
• Data Mining Algorithms
Giải thuật Data mining là cơ chế để tạo data mining model. Để tạo một model,
giải thuật trước tiên sẽ phân tích tập các data và tìm kiếm các mẫu và các xu
hướng cụ thể. Các giải thuật chịu trách nhiệm:
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 15/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
- Sinh các tập luật mô tả các sản phẩm nào được nhóm với nhau trong giao
dịch
- Sinh ra cây quyết định dự đoán xu hướng khách hàng về sản phẩm
- Dự đoán việc bán hàng
- Tập các cluster mô tả trường hợp nào gom nhóm được
Sau đây là các giải thuật Data Mining về classification, regression,
segmentation, association…
Kiến trúc vật lý (Physical Architecture) tham khảo
Processing Structures and Models
Remote and Local Servers
Server Folders and Files
Physical Architecture
Các solution được thiết kế (Solution Design Considerations) tham khảo
Data Mining Projects
Typical Uses of Integration Services
Architecture of Integration Services
Working with Other SQL Server Features
Solution Design Considerations
Sau đây chúng ta tìm cụ thể vào SSAS
Cài đặt Analysis Services cho SQL Server 2008 R2
- Chọn Analysis Services để install dịch vụ Analysis Services.
- Chọn Business Intelligence Development Studio
- Ngoài ra có thể chọn thêm Client Tools Connectivity và Management Tools
Basic và Completed để hỗ trợ các tool và library
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 16/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
- Khi cài SQL Server Analysis Services cần chú ý gán vào một instant
database nào đó với username và password.
- Sau khi cài thành công, vào Sql Server Configuration Manager và start dịch
vụ SQL Service Analysis Services:
Kết nối Analysis Services cho SQL Server 2008 R2
- Sau khi cài đặt thành công Analysis Services, vào Microsoft SQL Server
Management Studio và kế nối đến Server Type là Analysis Services và
Server Name là máy và Instance đã cài đặt
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 17/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
- Giao diện sau khi kết nối thành công:
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 18/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
3. Ứng dụng Analysis Services trong hệ quản trị cơ sở dữ liệu Microsoft
SQL Server 2008 R2
Sau đây, chúng ta tìm hiểu ứng dụng cho SQL Server Analysis Services (SSAS)
mà hổ trợ Data Mining qua ví dụ cụ thể trên một database mẫu.
a. Trước hết vào website />us/download/details.aspx?id=23654 download database mẫu NorthWind
database, sau đó cài đặt vào hệ thống để import sử dụng sau này.
b. Mở SQL Server Management, vào File | New | Project mở New Project
window. Chọn Business Intelligence Projects và chọn Analysis Services
Project. Thay đổi tên mặc định thành Nwind2008. Việc này sẽ tạo thư mục
trống và sau này sử dụng data mining. Mặc dùng cấu trúc này trống nhưng
ta có thể deploy nó, để deploy ta nhấn chuột phải vào Nwind2008 và chọn
deploy. Sau khi deploy thành công, ta sẽ thấy Nwind 2008 trong localhost
c. Thêm DataSource
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 19/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Nhấn chuột phải vào thư mục Data Sources để Add
Thông qua Wizard, ta có thể dễ dàng thêm database mẫu NorthWind vào
DataSource:
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 20/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 21/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
d. Tạo Data Source View
Data Source View trong SSAS là mô hình luận lý (logical model) của các
bảng quan hệ với nhau, các view, và các query của 1 hoặc nhiều data
source. Các kỹ thuật OLAP và data mining của SSAS cũng dựa vào mô
hình này. Data Source View chứa Meta từ những source data và bất kỳ mối
quan hệ mà được định nghĩa. Việc này giúp dự án SSAS không cần kết nối
liên tục với data source.
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 22/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Nhấn chuột phải vào thư mục Data Source Views và chọn New Data
Source View Tiếp tục Wizard để add vào:
Chọn 1 số table mẫu có các mối quan hệ với nhau
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 23/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 24/66
Bài Thu Hoạch Chuyên Đề - Khai Phá Dữ Liệu, Luật Kết Hợp Và Ứng Dụng Về Khai
Phá Dữ Liệu Trong Hệ Quản Trị Cơ Sở Dữ Liệu
Sau khi import thành công, ta có thể xem lại diagram của các bảng quan hệ
như sau:
SV: Nguyễn Võ Ngọc Huy (CH1101091) Trang 25/66