Đặc biệt là nghành khoa học máy tính rất phát triển, nó được ứng dụng rất nhiều trong các lĩnh vực khác nhau của cuộc sống như: Giáo dục, Y tế, Kinh tế, Khoa học, Xây dưng, Nó đã trở thà
Trang 1- -BÁO CÁO KHAI PHÁ LUẬT KẾT HỢP VỚI VỚI
PHẦN MỀM WEKA
Giảng viên hướng dẫn: GS TSKH Hoàng Kiếm
Học viên thực hiện: Mạc Thị Biên
Thành phố HCM, ngày 3 tháng 6 năm 2012
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 3
I.QÚA TRÌNH KHAI PHÁ DỮ LIỆU 4
1 Quá trình KTDL: 4
2 Nhiệm vụ của khai phá dữ liệu: 5
2.1 Mô tả: xác định các mẫu mô tả DL mà con người có thể hiểu được 5
2.2 Dự đoán (Predictive): Sử dụng một vài biến để dự báo giá trị chưa biết hoặc giá trị tương lai của các biến khác 6
3 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu: 8
4 Các phương pháp chính trong khai phá dữ liệu: 8
4.1 Phân lớp và dự đoán: 8
4.2 Phân cụm và phân đoạn 9
4.3 Luật kết hợp (Association rules) 9
5 Các ứng dụng của khai phá dữ liệu: 9
6 Những khó khăn trong quá trình khai phá dữ liệu 9
II.LUẬT KẾT HỢP 10
1 Giới thiệu 10
2 Luật kết hợp trong khai phá dữ liệu (Association Rule in Data Mining) 10
3 Thuật toán sinh các luật kết hợp Apriori 12
3.1 Apriori Algorithm 12
III.TRIỂN KHAI LUẬT KẾT HỢP VỚI PHẦN MỀM WEKA 15
1 Giới thiệu Weka 15
2 Tạo luật kết hợp với cơ sở dữ liệu BAN-DATA.CSV 16
2.1 Cơ sở dữ liệu 16
2.2 Preprocess (Tiền xử lý ) 17
3 Classifier (Phân lớp) 20
4 Associate (Tạo luật kết hợp) 22
KẾT LUẬN 25
TÀI LIỆU THAM KHẢO 26
Trang 3LỜI NÓI ĐẦU
Ngày nay các lĩnh vực khoa học kỹ thuật đang ngày một phát triển mạnh mẽ Đặc biệt là nghành khoa học máy tính rất phát triển, nó được ứng dụng rất nhiều trong các lĩnh vực khác nhau của cuộc sống như: Giáo dục, Y tế, Kinh tế, Khoa học, Xây dưng, Nó
đã trở thành một phần không thể thiếu được trong cuộc sống hàng ngày của con người.Việc dùng các phương tiện tin học để tổ chức và khai thác các cơ sở dữ liệu đã được phát triển từ những năm 60 Đặc biệt trong những năm gần đây vai trò của máy tính trong việc lưu trữ và xử lý thông tin ngày càng trở lên quan trọng Bên cạnh đó các thiết
bị thu thập dữ liệu tự động tương đối phát triển đã tạo ra những kho dữ liệu khổng lồ Với
sự phát triển mạnh mẽ của công nghệ điện tử tạo ra các bộ nhớ có dung lượng lớn, bộ xử
lý tốc độ cao cùng với các hệ thống mạng viễn thông, người ta đã xây dựng các hệ thống thông tin nhằm tự động hoá mọi hoạt động kinh doanh của mình Điều này đã tạo ra một dòng dữ liệu tăng lên không ngừng ví ngay từ các các giao dịch đơn gian nhất như một cuộc điện thoại, kiểm tra sức khỏe, sử dụng thẻ tín dụng, v.v.đều được ghi vào trong máy tính Cho tới nay con số này đã trở lên khổng lồ, bao gồm các cơ sở dữ liệu, thông tin khách hàng, dữ liệu lịch sử các giao dịch, dữ liệu bán hàng, dữ liệu các tài khoản vay, sử dụng vốn, Vấn đề đặt ra là làm thế nào để sử lý khối lượng thông tin cực lớn như vậy để phát hiện ra các tri thưc tiềm ẩn trong nó
Để làm được điều đó người ta đã sử dụng quá trính Phát hiện tri thức trong cơ sở dữ liệu( Knowledge Discovery in Database-KDD) Nhiệm vụ của KDD là từ dữ liệu sẵn có phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện cũng như tìm ra những xu hướng phát triển và các xu hướng tác động lên chúng Các kỹ thuật cho phép ta lấy được các tri thức từ cơ sở dữ liệu sẵn có đó được gọi là kỹ thuật Khai phá dữ liệu( Data Mining) Đây cũng là một vấn đề hết sức mới mẻ, quan trọng nên nó rất được quan tâm thể hiện một số các hạng phần mềm đã tạo ra các sản phẩm mục đích phục vụ cho Data Minning và phần mềm Weka cũng không nằm ngoại lệ Nó là bộ công cụ hoàn hảo để quá trình khám phá dữ liệu được thực hiện một cách đơn giản, nhanh chóng Và
Trong đề tài này em đã tìm hiểu Khai phá dữ liệu bằng luật kết hợp bằng phần mềm Weka Em sử dụng công cụ này để phân tích các dữ liệu và sử dụng các kỹ thuật để tìm những mẩu tin, hoạt động có tính chính quy trong tập dữ liệu mà người sử dụng mong
muốn, đồng thời để áp dụng vào bài toán quyết định cho một khách hàng được vay vốn hay không (ngân hàng)
Em xin chân thành cảm ơn GS TSKH Hoàng Kiếm đã hướng dẫn để em thực
hiện đề tài này Do thời gian có hạn nên không thể tránh khỏi những thiếu sót mong thầy
và các bạn cho ý kiến đóng góp để em hoàn thiện hơn
Trang 4I QÚA TRÌNH KHAI PHÁ DỮ LIỆU
1 Quá trình KTDL:
Quá trình khai phá dữ liệu được tiến hàng qua 6 giai đoạn: bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra
Hình 1( Quá trình KTDL)
- Gom dữ liệu (Gathering): tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá
dữ liệu Đây là bước được khai phá trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web
- Trích lọc dữ liệu (Selection): ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn nào đó
- Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation): giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu là tính không đủ chặt chẻ, logíc Vì vậy, dữ liệu thường chứa các giá trị
vô nghĩa và không có khả năng kết nối dữ liệu
- Chuyển đổi dữ liệu (Transformation): tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó Dữ liệu đã được chuyển đổi phù hợp với mục đích khai phá
- Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery): đây là bước mang tính tư duy trong khai phá dữ liệu Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật toán thường dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu tuần tự, v.v
- Đánh giá kết quả mẫu (Evaluation of Result): đây là giai đoạn cuối trong quá trình khai phá dữ liệu Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai
Trang 5phá dữ liệu Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần chiết xuất ra.
Trên đây là 6 giai đoạn trong quá trình khai phá dữ liệu, trong đó giai đoạn 5 là giai đoạn được quan tâm nhiều nhất hay còn gọi đó là Data Mining
2 Nhiệm vụ của khai phá dữ liệu:
Khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh doanh hay cho nghiên cứu khoa học Do đó, ta có thể xem mục đích của khai phá dữ liệu sẽ là mô tả các sự kiện
và dự đoán
2.1 Mô tả: xác định các mẫu mô tả DL mà con người có thể hiểu được.
- Gom nhóm: tìm ra một tập xác định Các nhóm hay các cụm để mô tả dữ liệu
Là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu.Tuy nhiên, trong phân lớp dữ liệu, một bản ghi thuộc về lớp nào là phải xác định trước, trong khi gom nhóm không xác định trước
Đa số các ứng dụng phân nhóm được sử dụng trong sự phân chia thị trường Với sự phân nhóm khách hàng vào trong từng nhóm, những doanh nghiệp có thể cung cấp những dịch vụ khác nhau tới nhóm khách hàng một cách thuận lợi
Ví dụ, dựa vào chi tiêu, số tiền trong tài khoản và việc rút tiền của khách hàng, một ngân hàng có thể xếp những khách hàng vào những nhóm khác nhau
Hình 2 Minh họa gom nhóm dữ liệu
Với mỗi nhóm, ngân hàng có thể cho vay những khoản tiền tương ứng cho việc mua nhà, mua xe, … Trong trường hợp này ngân hàng có thể cung cấpnhững dịch vụ tốt hơn, và cũng chắc chắn rằng tất cả các khoản tiền cho vay đều có thể thu hồi được
Trang 6- Tổng hợp(summarization): là công việc liên quan đến các phương pháp tìm kiếm một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động.
- Mô hình hóa phụ thuộc(dependency modeling): Là việc tìm kiếm mô hình mô tả các phụ thuộc quan trọng giữa các biến Mô hình phụ thuộc tồn tại ở hai mức:
Mức cấu trúc của mô hình (thường dưới dạng đồ thị) xác định các biến phụ thuộc cục bộ vào các biến khác
Mức định lượng của mô hình xác định mức độ phụ thuộc của các biến Những phụ thuộc này thường được biểu thị dưới dạng luật Quan
hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Đó là đồ thị có hướng không có dạng chu trình, các nút biểu diễn thuộc tính và trọng số chỉ liên kết phụ thuộc giữa các nút đó
2.2 Dự đoán (Predictive): Sử dụng một vài biến để dự báo giá trị chưa biết hoặc giá trị tương lai của các biến khác.
- Phân lớp: phát hiện ra mô tả của một vài lớp đã được xác định và phân loại dữ liệu vào một trong các lớp đó Quá trình phân lớp dữ liệu được thực hiện qua hai bước
Bước thứ nhất: Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một
mô hình mô tả những đặc trưng của những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có giám sát, học theo mẫu được cung cấp trước
Bước thứ hai: Từ những lớp dữ liệu hoặc những khái niệm đã được xác định trước, dự đoán giá trị của những đối tượng quan tâm
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định
Ví dụ: cây quyết định cho lớp mua laptop
Hình 3 Minh họa cây quyết định cho lớp mua laptop
Trang 7Trong hình 2 là một cây quyết định cho lớp mua laptop, chỉ ra một khách hàng sẽ mua hay không mua một laptop Mỗi nút lá đại diện một lớp mà đánh giá mua laptop là Yes hay No Sau khi mô hình này được xây dựng, chúng ta có thể dự đoán việc có thể mua một laptop hay không dựa vào những thuộc tính khách hàng mới là tuổi và nghề nghiệp Cây quyết định có thể ứng dụng rộng rãi trong nhiều hoạt động của đời sống
thực.
- Hồi qui: Ánh xạ từ một mẫu dữ liệu thành một biến dự đoán trước có giá trị thực
Nhiệm vụ hồi qui tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điểm chẳng hạn như hồi qui tuyến tính
Hình 4.Minh họa hồi qui
Ứng dụng của hồi quy: dự đoán số lượng sinh vật phát quang hiện thời trong khi rừng bằng cách dò tìm vi sóng bằng thiết bị cảm biến từ xa,dự báo khối lượng bán hàng của sản phẩm mới dựa trên chi phí quảng cáoDự đoán tốc độ gió như một hàm của nhiệt độ,độ ẩm,áp suất không khí
- Phát hiện sự thay đổi và độ lệch (change and deviation dectection): Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng là lệch theo thời gian và lệch theo nhóm
Độ lệch theo thời gian là sự thay đổi có nghĩa của dữ liệu theo thời gian
Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tập con dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng có khác nhau đáng kể so với toàn bộ đối tượng
Trang 83 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu:
- Cơ sở dữ liệu quan hệ: có cấu trúc cao, dữ liệu được mô tả bởi một tập những thuộc tính và lưu trong những bảng Khai phá dữ liệu trên cơ sở dữ liệu quan hệ chủ yếu tập trung khai phá mẫu
- Cơ sở dữ liệu giao tác: là tập hợp những bản ghi giao dịch, trong đa số các trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức
- Cơ sở dữ liệu không gian: bao gồm hai phần
Phần thứ nhất là dữ liệu quan hệ hay giao tác
Phần thứ hai là thông tin định vị hoặc thông tin địa lý
- Cơ sở dữ liệu có yếu tố thời gian: Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tố thời gian bao gồm hai phần
Phần thứ nhất là dữ liệu quan hệ hay giao tác
Phần thứ hai là thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất
- Cơ sở dữ liệu đa phương tiện: hình ảnh, âm thanh, phim, dữ liệu web
4 Các phương pháp chính trong khai phá dữ liệu:
4.1 Phân lớp và dự đoán:
- Phân lớp dữ liệu là tiến trình có 2 bước:
Huấn luyện: dữ liệu huấn luyện được phân tích bởi thuật toán phân lớp ( có thuộc tính nhãn lớp) để tạo ra bộ phân lớp
Phân lớp: Dữ liệu kiểm tra được dùng để ước lượng độ chính xác của phân lớp Nếu chính xác là chấp nhận được thì có thể dùng bộ phân lớp để phân lớp các mẫu dữ liệu mới
- Chuẩn bị dữ liệu:
Làm sạch dữ liệu: nhiễu, thiếu giá trị
Phân tích liên quan (chọn đặc trưng): các thuộc tính không liên quan, các thuộc tính dư thừa
Biến đổi dữ liệu
- Các kỹ thuật phân lớp:
Cây quyết định: là cấu trúc cây sao cho
Mỗi nút trong ứng với một phép kiểm tra trên một thuộc tính
Mỗi nhánh biểu diễn kết quả phép kiểm tra
Các nút lá biểu diễn các lớp hay các phân bố lớp
Nút cao nhất trong cây là nút gốc
Trang 9Các phân lớp trong cây quyết định:
Phân lớp Bayes: cĩ thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu cho trước thuộc về một lớp xác định
Phân lớp Nạve Bayes: cĩ thể so sánh đuợc về cơng năng với bộ phân lớp cây quyết định và mạng nơron Chúng giả định các thuộc tính là độc lập nhau nơron (độc lập điều kiện lớp)
Phân lớp NẠVE BAYESIAN
Các thuật tốn sinh luật trực tiếp(khơng tạo cây):
Thuật tốn ILA
Thuật tốn CBA
4.2 Phân cụm và phân đoạn
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 các dữ liệu bệnh nhân trong hồ sơ bệnh án Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Phân lớp và dự đốn cịn được gọi là học cĩ giám sát
4.3 Luật kết hợp (Association rules)
Là dạng luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ: “80% mua bánh mì thì
cĩ 60% trong số đĩ mua sữa” 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 và thị trường chứng khốn, v.v
5 Các ứng dụng của khai phá dữ liệu:
Khai phá dữ liệu tuy là một lĩnh vực mới nhưng đã thu hút được sự quan tâm của rất nhiều nhà nghiên cứu, nhờ cĩ nhiều những ứng dụng trong thực tiễn, các ứng dụng điển hình như sau:
- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & decition support)
- Điều trị trong y học (Medical): mối liên hệ giữa triệu chứng, chuẩn đốn và phương pháp điều trị (chế độ dinh dưỡng, thuốc men, phẫu thuật)
- Phân lớp văn bản, tĩm tắt văn bản và phân lớp các trang Web (Text mining & Web mining)
- Tin sinh học (Bio-informatics): Tìm kiếm, đối sánh các hệ gen và thơng tin di truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền
Trang 10- Số chiều các thuộc tính lớp.
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù
hợp.
- Dữ liệu bị thiếu hoặc bị nhiễu
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
Giả sử chúng ta có một CSDL D Luật kết hợp cho biết phạm vi mà trong đó sự xuất hiện của tập các mục X nào đó trong các bản ghi của D sẽ kéo theo sự xuất hiện của một tập những mục T cũng trong những bản ghi đó Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả
X và T
Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ lệ hỗ trợ θ và
độ tin cậy β Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy lớn hơn θ
và β tương ứng Giả thiết D là CSDL giao dịch và với θ = 40%, β = 90% Vấn đề phát hiện luật kết hợp được thực hiện như sau: liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo một số mục khác.Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%
Hãy tưởng tượng, một công ty bán hàng qua mạng Internet Các khách hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một CSDL về các yêu cầu của khách hàng Giả sử công ty quan tâm đến mối quan hệ "tuổi, giới tính, nghề nghiệp và sản phẩm" Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên Ví dụ trong lứa tuổi nào thì những khách hàng nữ là công nhân đặt mua mặt hàng gì đó, ví dụ áo dài chẳng hạn là nhiều nhất, thoả mãn một ngưỡng nào đó ?
2 Luật kết hợp trong khai phá dữ liệu (Association Rule in Data Mining)
Trang 11Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR) 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.
Cho cơ sở dữ liệu gồm các giao dịch T là tập các giao dịch t1, t2, …, tn
T = {t1, t2, …, tn} T gọi là cơ sở dữ liệu giao dịch (Transaction Database)
Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset)
I = {i1, i2, …, im} 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 Basket Analysis, luật kết hợp X =>Y có thể hiểu rằng những ngườ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 gọi là itemset)
Ví 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ũng thườ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à 2 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 =>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)
Minimum 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 goi là frequent itemsets
Một số loại luật kết hợp:
Binary association rules (luật kết hợp nhị phân): Apple => Banana
Trang 12 Quantitative association rules (luật kết hợp định lượng):
weight in [70kg – 90kg] => height in [170cm – 190cm]
Fuzzy association rules (Luật kết hợp mờ): weight in HEAVY =>
height in TALL
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
3 Thuật toán sinh các luật kết hợp Apriori
Tư tưởng chính của thuật toán Apriori là:
- Tìm tất cả frequent itemsets: k-itemset (itemsets gồm k items) được dùng để tìm (k+1)- itemset Đầu tiên tìm 1-itemset (ký hiệu L1) L1 được dùng để tìm L2 (2-itemsets) L2 được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi không có k-itemset được tìm thấy
- Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏa mãn 2 tham số min_sup và min_conf)
5 Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I
6 Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy
(Confidence) của nó > =min_conf
Chẳn hạn với I= {A1,A2,A5},các tập con của I:
{A1}, {A2}, {A5}, {A1,A2},{A1,A5},{A2,A5}
sẽ có các luật sau
{A1} => {A2,A5},{A2} =>{A1,A5},{A5} =>{A1,A2}
{A1,A2} =>{A5},{A1,A5} =>{A2},{A2,A5} => {A1}
Ví dụ: Giả sử ta có có sở dữ liệu giao dịch (Transaction Database -TDB) như sau :
Trang 13Thuật toán Apriori khai phá luật kết hợp được mô tả qua các bước sau
Ta có frequent itemsets I ={B,C,E}, với min_conf =80% ta có 2 luật kết hợp là {B,C} => {E} và {C,E} => {B}
Giả sử có cơ sở dữ liệu giao dịch bán hàng gồm 5 giao dịch như sau: