Đồ án tốt nghiệp đại học nghiên cứu các thuật toán khai phá luật kết hợp có trọng số và ứng dụng

85 956 0
Đồ án tốt nghiệp đại học nghiên cứu các thuật toán khai phá luật kết hợp có trọng số và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC a. Thuật toán sinh luật đơn giản 22 b. Thuật toán sinh luật nhanh 23 1 BẢNG CÁC KÝ HIỆU STT Ký hiệu Diễn giải 1 CSDL Cơ sở dữ liệu 2 WAR Weighted association rule (Luật kết hợp có trọng số) 3 FUFM Fast utility - frequent mining (khai phá tập utility phổ biến nhanh) 4 KDD Knowledge Discovery in Databases (khám phá tri thức) 5 2P-UF Two phases algorithm for utility- frequent mining (giải thuật 2 pha để khai phá tập utility phổ biến) 6 uti utility 7 sup support (độ hỗ trợ) 8 conf confidence (độ tin cậy) 2 LỜI NÓI ĐẦU Trong thời đại bùng nổ thông tin, đỏi hỏi phải có những phương pháp nhanh, phù hợp, tự động, chính xác và có hiệu quả để lấy được thông tin có giá trị. Khai phá dữ liệu là một kỹ thuật được áp dụng rất hiệu quả phục vụ cho mục đích này; là một khâu trong quá trình khám phá tri thức, khai phá dữ liệu làm nhiệm vụ trích xuất các thông tin có giá trị tiềm ẩn, có nhiều ý nghĩa trong những kho dữ liệu. Hiện nay, kỹ thuật này đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như: y tế, marketing, ngân hàng, viễn thông,… Khai phá luật kết hợp là một phương thức đặc trưng đối với khai phá dữ liệu. Ra đời từ năm 1993, rất nhiều giải thuật khai phá luật kết hợp đã được đưa ra để giải quyết hiệu quả bài toán, nhiều chương trình ứng dụng thực tế đã được áp dụng thành công. Tuy nhiên hầu hết các nghiên cứu tập trung vào khai phá luật kết hợp nhị phân, nó chỉ quan tâm đến sự có mặt hay không của các hạng mục, các thuộc tính mà không quan tâm tới các nhân tố ảnh hưởng khác có thể làm mất mát thông tin hay thông tin đưa ra chưa phục vụ tốt nhất cho mục đích kinh doanh của mình Nhận thấy tầm quan trọng của vấn đề này, trong đồ án tốt nghiệp của mình, tôi đã chọn nghiên cứu đề tài về khai phá dữ liệu, cụ thể là khai phá luật kết hợp mà tập trung đi sâu vào khai phá luật kết hợp có trọng số và ứng dụng luật có trọng số vào phân tích dữ liệu giỏ hàng nhằm tìm ra các mối quan hệ, các mặt hàng thường đi cùng nhau, có xét đến lợi nhuận cũng như tần xuất xuất hiện của chúng trong các giao dịch nhằm tạo cơ sở chính xác, khoa học cho các quyết định trong chiến lược kinh doanh. 3 Mục tiêu của đồ án là nghiên cứu các kiểu trọng số, các giải thuật khai phá luật kết hợp có trọng số và cài đặt ứng dụng. Bố cục của đồ án gồm: Chương 1: Tổng quan Giới thiệu tổng quan về khai phá dữ liệu và bài toán khai phá luật kết hợp thông thường. Chương 2: Luật kết hợp có trọng số Phân tích ý nghĩa của từng dạng trọng số của các mục dữ liệu. Nghiên cứu thuật toán phát hiện luật kết hợp có trọng số cho mỗi dạng trọng số tương ứng. Chương 3: Chương trình minh hoạ Cài đặt minh họa 03 thuật toán tìm luật kết hợp có trọng số tương ứng với 03 dạng trọng số đã được trình bày ở chương 2. Em xin cảm ơn thầy đã tận tình hướng dẫn, chỉ bảo và giúp đỡ em trong quá trình thực hiện đề tài này. 4 Chương 1: TỔNG QUAN 1.1 Khai phá dữ liệu Khai phá dữ liệu là một khái niệm bao hàm nhiều kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong kho dữ liệu. Khai phá dữ liệu được coi là một bước trong quá trình khám phá tri thức (Knowledge Discovery in Databases – KDD) và là giai đoạn quan trọng nhất trong tiến trình khám phá tri thức từ cơ sở dữ liệu, các tri thức này có rất nhiều ý nghĩa, là cơ sở hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh. Các bước trong quá trình khám phá tri thức: - Làm sạch dữ liệu (Data cleaning): loại bỏ dữ liệu nhiễu hoặc dữ liệu không thích hợp. - Tích hợp dữ liệu (Data Intergration): Tích hợp dữ liệu từ các nguồn khác nhau như cơ sở dữ liệu (CSDL), kho dữ liệu, file text, - Trích chọn dữ liệu (data selection): 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 ban đầu (database, data warehouses,…) theo một số tiêu chí nhất định. - Biến đổi dữ liệu (data transformation): chuẩn hoá và làm mịn dữ liệu, đưa dữ liệu về dạng thuận lợi nhất, phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp. - Khai phá dữ liệu (data mining): là giai đoạn thiết yếu, đây là bước quan trọng và tốn nhiều thời gian nhất của toàn bộ quá trình khám phá tri thức, 5 là bước áp dụng những kỹ thuật khai phá để khai thác, trích xuất thông tin có ích, những mẫu điển hình, những mối liên hệ đặc biệt có nhiều giá trị, mang nhiều ý nghĩa từ dữ liệu. - Đánh giá mẫu (Pattern Evaluation): đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo. - Trình diễn dữ liệu (knowledge presentation): sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng. Hình 1.1: Các bước trong quá trình khám phá trí thức Các kỹ thuật khai phá dữ liệu được chia làm 2 nhóm : - Kỹ thuật khai phá dữ liệu mô tả: mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL, các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (sumerization), trực quan hoá (visualization), phân tích sự 6 phát triển và độ lệch (Evolution and deviation analyst), phân tích luật kết hợp (association rules)… - Kỹ thuật khai phá dữ liệu dự đoán: đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời, các kỹ thuật này gồm có: phân lớp (classification), hồi quy (regression),… Các bài toán chính trong khai phá dữ liệu: 3 bài toán thông dụng và phổ biến nhất là: - Bài toán phân lớp dữ liệu và hồi quy: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp. - Bài toán phân cụm (clustering): Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, phân loại trang Web,…Ngoài ra, phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác. - Bài toán luật kết hợp: là dạng biểu diễn tri thức ở dạng khá đơn giản, mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong CSDL. Ngoài ra còn một số bài toán khác như: - Bài toán khai phá chuỗi theo thời gian (sequential/temporal patterns) - Bài toán mô tả khái niệm (concept description & summarization): Những công cụ khai phá dữ liệu có thể dự đoán những xu hướng trong tương lai và do đó 7 cho phép doanh nghiệp ra những quyết định kịp thời được định hướng bởi tri thức mà khai phá dữ liệu mang lại. Những ứng dụng điển hình của khai phá dữ liệu:  Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis and decision support)  Text mining & Webmining: phân lớp văn bản và các trang Web, tóm tắt văn bản, tìm kiếm thông tin,…  Tin - sinh: tìm kiếm, đối sánh các quan 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,…  Đ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,…).  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,… Những ứng dụng thực tế: + Ngành bảo hiểm y tế Australia đã dựa vào việc chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm và đã phát hiện ra nhiều trường hợp xét nghiệm không hợp lý, tiết kiệm được 1 triệu USD/năm. + Trang Web mua bán qua mạng Amazon.com cũng tăng doanh thu nhờ áp dụng khái phá dữ liệu trong việc phân tích sở thích mua bán của khách hàng. + Bitish Telecom đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD. 8 1.2 Luật kết hợp Được Agrawal đưa ra vào năm 1993, khai phá dữ liệu bằng phương pháp phát hiện các luật kết hợp là một trong các phương pháp khai thác đặc trưng đối với khai phá dữ liệu với nhiệm vụ phân tích dữ liệu trong CSDL nhằm phát hiện và đưa ra những mối liên hệ giữa các giá trị dữ liệu. Cụ thể là tìm tần số mẫu, mối 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 CSDL giao dịch, CSDL quan hệ và những kho thông tin khác, kết quả thu được đó chính là các tập luật kết hợp. 1.2.1 Một số khái niệm liên quan. Hạng mục (Item) : mặt hàng trong giỏ (CSDL giỏ hàng) hay một thuộc tính. Gọi I= {i 1 , i 2 ,…,i m } là tập hợp các hạng mục. Transaction (Giao dịch) T: T là tập các hạng mục và T ⊆ I Transaction Database (cơ sở dữ liệu giao dịch) D: tập hợp các giao dịch D = {T 1 , T 2 ,…, T n }. Ví dụ: các giao dịch giỏ hàng siêu thị: T 1 : {bread, cheese, milk} T 2 : {apple, eggs, salt, yogurt} … T n : {biscuit, eggs, milk} 9 Một giao dịch T gọi là hỗ trợ tập X nếu nó chứa tất cả các hạng mục trong X, nghĩa là X ⊆ T. Ký hiệu support(X) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng số các giao dịch trong D, nghĩa là: Support(X)= { } D TXDT ⊆∈ | Hỗ trợ tối thiểu (minsup: minimum support) là một giá trị cho trước bởi người sử dụng. Nếu tập hạng mục X có support(X) ≥ minsup thì ta nói X là một tập các khoản mục thường xuyên. Một luật kết hợp là một quan hệ có dạng X ⇒ Y, trong đó X, Y ⊆ I là các tập hạng mục (itemset) và X ∩ Y = ∅. Ở đây X (vế trái luật) được gọi là tiền đề, Y (vế phải luật) là mệnh đề kết quả (hệ quả). Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin cậy (c). Độ hỗ trợ (support) của luật kết hợp X ⇒ Y là tỷ lệ % số giao dịch có chứa cả X, Y so với tổng số giao dịch có trong cơ sở dữ liệu. Độ hỗ trợ còn được coi là độ phổ biến. Sup(X⇒Y)= support(X ∪ Y) Độ hỗ trợ tối thiểu (minsup): - Cao: ít tập phần tử phổ biến ít luật hợp lệ thường xuất hiện - Thấp: nhiều luật hợp lệ hiếm xuất hiện Độ tin cậy (confidence) của luật X ⇒ Y là tỷ lệ % của số giao dịch có chứa Y trong số giao dịch có chứa X (khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y). 10 [...]... một số nguyên • Ví dụ: Từ bảng 1 và 2, 3-support bound cho tập hạng mục {2, 4} là 2  bất kỳ tập lớn 3 hạng mục chứa {2, 4 } nào cũng phải có supp_count ≥ 2 2.2.2 Giải thuật khai phá luật kết hợp có trọng số Input: CSDL D với tập giao dịch T, ngưỡng wminsup và minconf, trọng số của các item wi, tổng các giao dịch và tổng số các Items Output: danh sách các. .. cần một phương pháp tìm kiếm thông tin đáng quan tâm một cách hiệu quả Một hướng tiếp cận đầy triển vọng đó là khai phá các luật kết hợp (đã được giới thiệu ở phần trên) mà hầu hết tập trung vào việc khai phá các luật kết hợp nhị phân Nghĩa là chỉ xét đến sự có mặt của hạng mục trong giao dịch mà không quan tâm tới tầm quan trọng hay tần xuất... sách các luật đáng quan tâm Các ký hiệu: D Cơ sở dữ liệu w Tập các trọng số của hạng mục Lk Tập các tập lớn k hạng mục Ck Tập các tập k hạng mục mà có thể là tập con của các tập lớn j SC(X) hạncác giaoj dịch chứa tập hạng mục X Số g mục, k wminsup Ngưỡng độ hỗ trợ có trọng số minconf Ngưỡng độ tin cậy 30 Giả mã của giải thuật: Các thủ tục... Luật kết hợp có trọng số trong CSDL nhị phân 2.2.1 Khái niệm Xét một CSDL giao dịch D, 1 tập các Item I Mỗi giao dịch là một tập con của I và được gán một định danh (TID) 27 ĐN1: Một luật kết hợp có dạng X  Y với X ⊂ I, Y ⊂ I và X ∩ Y= ∅ Supp và conf được định nghĩa như phần 1.2.1 ĐN2: Độ hỗ trợ của một luật kết hợp X Y là xác suất mà X và Y tồn tại... I={i1, i2,…, in} chúng ta gán trọng số wj cho mỗi item ij với 0 ≤ wj ≤ 1 với j={1,2,…,n} để biểu thị tầm quan trọng của item Theo định nghĩa 2 ta có thể định nghĩa độ hỗ trợ có trọng số của luật kết hợp có trọng số như sau: ĐN4: Độ hỗ trợ của 1 luật X Y là    ∑ w j ( Support ( X ∪ Y ) )  i ∈( X ∪Y )  j  (2) Ngưỡng độ hỗ trợ và độ tin cậy sẽ được chỉ... Tập item dự kiến (hay tập ứng cử viên) là tập hợp các item cần được xem xét có phải là tập item phổ biến không 1.2.2 Giải thuật Apriori khai phá tập hạng mục phổ biến Apriori là thuật toán khai phá luật kết hợp phổ biến nhất và là cơ sở để phát triển các giải thuật khác 11 a Bản chất - Dựa trên tính chất Apriori của tập phổ biến: mọi tập item phổ biến thì tất cả các tập item... của luật kết hợp ĐN5: Một tập k-item X được gọi là một tập item nhỏ nếu độ hỗ trợ có trọng số của tập item đó nhỏ hơn ngưỡng độ hỗ trợ trọng số tối thiểu (wminsup)    ∑ w j ( Support ( X ) ) < w min sup  i ∈X  j  (3) Ngược lại nó là một tập hạng mục lớn 28 ĐN6: Một luật kết hợp X  Y được gọi là luật đáng quan tâm nếu X ∪ Y là tập item lớn và. ..  Trọng số phản ánh tầm quan trọng của hạng mục, do người sử dụng xác định, độc lập với giao dịch Ví dụ: lợi nhuận của một đơn vị hạng mục (profit)  Trọng số xác định bởi tần xuất xuất hiện hạng mục trong giao dịch Thường là số lượng hạng mục trong giao dịch  Cả 2 dạng trọng số trên (thường được coi là utility của hạng mục) 2.2 Luật kết hợp. .. hạng mục còn lại (I – Y), lấy (k-q) item có trọng số lớn nhất i r1, ir2, …, irk-q Chúng ta có thể nói trọng số lớn nhất có thể cho bất kỳ tập k hạng mục chứa Y nào là: k −q W (Y , k ) = ∑ w j + ∑ wr j i j ∈Y j =1 (5) Trong đó tổng đầu tiên là tổng trọng số của tập q hạng mục Y và tổng thứ 2 là tổng của (k-q) trọng số lớn nhất còn lại 29 Từ bất đẳng... (chỉ có wsup({4, 5}) ≥ 1) Thêm {4,5} vào L2 Các tập hạng mục trong C 2 sẽ được sử dụng trong pass tiếp theo Nhận thấy khung của giải thuật MinWal(0) tương tự như giải thuật Apriori Gen nhưng ở các bước cụ thể thì có nhiều điểm khác nhau Nhận xét: - Tương tự như giải thuật Apriori nên MinWal(0) cũng có các điểm yếu tương tự như Apriori Do đó cũng có thể sử dụng . vào khai phá luật kết hợp có trọng số và ứng dụng luật có trọng số vào phân tích dữ liệu giỏ hàng nhằm tìm ra các mối quan hệ, các mặt hàng thường đi cùng nhau, có. thuật khai phá luật kết hợp có trọng số và cài đặt ứng dụng. Bố cục của đồ án gồm: Chương 1: Tổng quan Giới thiệu tổng quan về khai phá dữ liệu và bài toán khai phá. phá luật kết hợp thông thường. Chương 2: Luật kết hợp có trọng số Phân tích ý nghĩa của từng dạng trọng số của các mục dữ liệu. Nghiên cứu thuật toán phát hiện luật kết hợp có

Ngày đăng: 19/06/2014, 20:58

Từ khóa liên quan

Mục lục

  • a. Thuật toán sinh luật đơn giản

  • b. Thuật toán sinh luật nhanh

Tài liệu cùng người dùng

Tài liệu liên quan