1. Trang chủ
  2. » Công Nghệ Thông Tin

Khai phá tập mục thường xuyên đóng trong cơ sở dữ liệu và ứng dụng2

80 318 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong các nội dung cơ bản trong khai phá dữ liệu là khai phá luật kết hợp.Khai phá luật kết hợp gồm hai bước: Bước thứ nhất, tìm tất cả các tập mục thườngxuyên, đòi hỏi sự tính toán

Trang 1

LỜI CẢM ƠN

Trước hết em xin gửi lời cảm ơn đến TS Nguyễn Huy Đức, người thầy đãhướng dẫn em rất nhiều trong suốt quá trình tìm hiểu, nghiên cứu và hoàn thànhluận văn tốt nghiệp từ lý thuyết đến ứng dụng Sự hướng dẫn của thầy đã giúp em

có thêm được những hiểu biết khai phá dữ liệu và ứng dụng của nó

Đồng thời em cũng xin chân thành cảm ơn các thầy cô trong trường cũng nhưcác thầy cô ở Viện Khoa học và công nghệ Việt Nam đã tận tình giảng dạy, trang bịcho em những kiến thức cơ bản cần thiết để em có thể hoàn thành tốt luận văn

Em xin gửi lời cảm ơn đến gia đình, bạn bè đã tạo mọi điều kiện thuận lợi để

em có thể xây dựng thành công luận văn này

Thái Nguyên, tháng 06 năm 2013

Lê Thị Tuyết Nhung

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài “Khai phá tập mục thường xuyên đóng trong cơ sở

dữ liệu và ứng dụng ” là công trình nghiên cứu của bản thân tôi Các số liệu và kết

quả nghiên cứu nêu trong luận văn này là trung thực, được các tác giả cho phép sử dụng và các tài liệu tham khảo như đã trình bày trong luận văn Tôi xin chịu trách

nhiệm về luận văn của mình

Trang 3

1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu

1.2 Kiến trúc của hệ thống khai phá dữ liệu

1.3 Quá trình khai phá dữ liệu

1.4 Một số kỹ thuật khai phá dữ liệu

1.4.1 Phân lớp và dự đoán (Classification & Prediction)

1.4.2 Luật kết hợp (Association Rules)

1.4.3 Khai thác mẫu tuần tự (Sequential/ Temporal patterns)

1.4.4 Phân nhóm - đoạn (Clustering/ Segmentation)

1.4.5 Hồi quy (Regression)

1.4.6 Tổng hợp hóa (Summarization)

1.4.7 Mô hình hóa sự phụ thuộc (dependency modeling)

1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)

1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu

1.6 Một số ứng dụng của khai phá dữ liệu

1.7 Khai phá luật kết hợp

1.7.1 Bài toán phát hiện luật kết hợp

1.7.2 Các khái niệm

1.7.3 Các cách tiếp cận khai phá tập mục thường xuyên

1.7.4 Một số thuật toán điển hình tìm tập mục thường xuyên

1.7.4.1 Thuật toán Apriori (Phương pháp sinh ứng viên)

1.7.4.2 Thuật toán FP-Growth

22458811111112121213131414141518191923

Trang 4

1.8 Kết luận chương 1 31

Chương 2: Khai phá tập mục thường xuyên đóng trong cơ sở dữ liệu

2.1 Cơ sở toán học của tập mục thường xuyên đóng

2.1.1 Ánh xạ đóng

2.1.2 Tập đóng

2.1.3 Kết nối Galois

2.1.4 Bao đóng của tập mục dữ liệu

2.2 Khái niệm, tính chất tập mục thường xuyên đóng

2.3 Một số thuật toán điển hình khai phá tập mục thường xuyên đóng

2.3.1 Thuật toán CHARM (Phương pháp dựa trên cây IT-Tree)

2.3.1.1 Giới thiệu thuật toán CHARM

2.3.1.2 Cây tìm kiếm và lớp tương đương

2.3.1.3 Các tính chất cơ bản của cặp tập mục – tập định danh

2.3.1.4 Thiết kế thuật toán

2.3.2 Thuật toán Closet +

2.4 Kết luận chương 2

323232323233343535353536374145

Chương 3: Chương trình thực nghiệm ứng dụng trong lĩnh vực y tế

3.1 Bài toán phát hiện luật kết hợp trong dữ liệu y tế

Trang 5

Ký hiệu Diễn giải

Ck Tập các k tập mục ứng viên

BFS Breadth First Search

CHARM Closed Asociation RuleMning

DB Cơ sở dữ liệu giao tác

FP -growth Frequent -Pattern Growth

FP -tree Frequent pattern tree

IT-tree Itemset-Tidset tree

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1.1 Cơ sở dữ liệu giao tác minh họa thực hiện thuật toán Apriori

Bảng 1.2: CSDL giao tác minh họa cho thuật toán FP-Growth

Bảng 2.1: a) CSDL giao tác biểu diễn ngang b) CSDL giao tác biểu diễn dọcBảng 3.1 : Dữ liệu bệnh hen suyễn

Bảng 3.2: Lựa chọn thuộc tính

Bảng 3.3: Thuộc tính “Tuổi” sau khi phân hoạch

Bảng 3.4: Dữ liệu tìm kiếm sau khi thực hiện phân loại dữ liệu

Bảng 3.5: Chuyển đổi dữ liệu

Bảng 3.6: Dữ liệu cho khai phá

Trang 7

DANH MỤC HÌNH VẼ

Hình 1.1: Kiến trúc của một hệ thống khai phá dữ liệu

Hình 1.2: Quá trình khám phá tri thức

Hình 1.3: Quá trình khai phá dữ liệu

Hình 1.4: Cây FP-tree được xây dựng dần khi thêm các giao tác t1 ÷ t6

Hình 1.5: Cây FP-tree của CSDL DB trong bảng 1.5

Hình 2.1: Kết nối Galois

Hình 2.2: Cây IT-tree dùng Tidset với minSup =3

Hình 2.3: Cây IT-tree tìm tập mục thường xuyên đóng thỏa mãn ngưỡng minsup =

50%

Hình 2.4: Áp dụng tính chất của tập thường xuyên đóng

Hình 2.5: Minh họa xây dựng cây kết quả

Hình 3.1: Mô hình khai phá cho dữ liệu y tế

Hình 3.2: Giao diện chính chứa dữ liệu gốc

Hình 3.3: Hiển thị dữ liệu chuyển đổi

Hình 3.4: Giao diện thêm mới bản ghi

Trang 8

MỞ ĐẦU

Khai phá dữ liệu (Data Mining), hiện nay đang được rất nhiều người chú ý Nó

thực sự đã đem lại những lợi ích đáng kể trong việc cung cấp những thông tin tiềm

ẩn trong các cơ sở dữ liệu lớn, giúp người sử dụng thu được những tri thức hữu ích

từ những cơ sở dữ liệu hoặc các kho dữ liệu khổng lồ khác Những “tri thức” chiếtxuất từ nguồn cơ sở dữ liệu đó phục vụ các yêu cầu trợ giúp quyết định ngày càng

có ý nghĩa quan trọng và là nhu cầu to lớn trong mọi lĩnh vực hoạt động kinh doanh,quản lý Tiến hành công việc như vậy chính là thực hiện quá trình phát triển tri thứctrong cơ sở dữ liệu (Knowledge Discovery in Database) mà trong đó kỹ thuật khaiphá dữ liệu (Data Mining) cho phép phát hiện những tri thức tiềm ẩn

Một trong các nội dung cơ bản trong khai phá dữ liệu là khai phá luật kết hợp.Khai phá luật kết hợp gồm hai bước: Bước thứ nhất, tìm tất cả các tập mục thườngxuyên, đòi hỏi sự tính toán lớn Bước thứ hai, dựa vào các tập mục thường xuyêntìm các luật kết hợp, đòi hỏi tính toán ít hơn, song gặp phải một vấn đề là có thểsinh ra quá nhiều luật, vượt khỏi sự kiểm soát của người khai phá hoặc người dùng,trong đó có nhiều luật không cần thiết Để giải quyết vấn đề đó, trong bước thứnhất, không cần thiết khai phá tất cả các tập mục thường xuyên mà chỉ cần khai phácác tập mục thường xuyên đóng Khai phá luật kết hợp dựa trên tập mục thườngxuyên đóng cho hiệu quả cao hơn, nó đảm bảo không tìm ra các tập mục thườngxuyên không cần thiết, không sinh ra các luật dư thừa

Với ý nghĩa đó và mục đích tìm hiểu về bài toán tìm tập mục thường xuyên

trong cơ sở dữ liệu lớn, em đã quyết định lựa chọn đề tài “Khai phá tập mục thường xuyên đóng trong cơ sở dữ liệu và ứng dụng”.

Nội dung luận văn gồm 3 chương:

Chương 1: Tổng quan về khai phá dữ liệu và khai phá tập mục thường xuyên Chương 2: Khai phá tập mục thường xuyên đóng trong cơ sở dữ liệu

Chương 3: Chương trình thực nghiệm ứng dụng trong lĩnh vực y tế

Trang 9

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

VÀ KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu

"Khám phá tri thức là quá trình tìm ra những tri thức, đó là những mẫu tìm ẩn,trước đó chưa biết và là thông tin hữu ích đáng tin cậy" Còn khai phá dữ liệu(KPDL) là một bước quan trọng trong quá trình khám phá tri thức, sử dụng cácthuật toán KPDL chuyên dùng với một số qui định về hiệu quả tính toán chấp nhậnđược để chiết xuất ra các mẫu hoặc các mô hình có ích trong dữ liệu Nói một cáchkhác, mục đích của khám phá tri thức và KPDL chính là tìm ra các mẫu hoặc môhình đang tồn tại trong các cơ sở dữ liệu (CSDL) nhưng vẫn còn bị che khuất bởi hàngnúi dữ liệu

Khám phá tri thức từ CSDL là một quá trình sử dụng các phương pháp và công

cụ tin học, trong đó con người là trung tâm của quá trình Do đó, con người cần phải

có kiến thức cơ bản về lĩnh vực cần khám phá để có thể chọn được tập con dữ liệutốt, từ đó phát hiện các mẫu phù hợp với mục tiêu đề ra Đó chính là tri thức, đượcrút ra từ CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất địnhtrong một lĩnh vực nhất định Tuy vậy, quá trình khám phá tri thức mang tính chấthướng nhiệm vụ vì không phải là mọi tri thức tìm được đều áp dụng vào thực tế được

Để có được những thông tin quý báu chúng ta phải tìm ra các mẫu có trong tậpCSDL trước Việc đánh giá các mẫu được tìm thấy cũng là một điều thú vị và tấtyếu có tính chất quyết định đến sự sử dụng hay không sử dụng chúng Đầu ra củamột chương trình là khám phá những mẫu có ích được gọi là tri thức Tri thức đượckhám phá có các đặc điểm chính:

- Kiến thức cao cấp: Ngày càng có nhiều câu hỏi mang tính chất định tính cầnphải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Quá trình để tìm rakiến thức như vậy không phải từ những phương pháp thống kê cổ điển mà mà

nó được được đúc kết từ các kinh nghiệm đã có, được thể hiện trong dữ liệu, nhữngkết quả đó có thể lĩnh hội được

Trang 10

- Độ chính xác: Dù cho những mẫu khai phá thật sự có trong CSDL hay khôngthì việc đo lường trị giá của chúng là bắt buộc phải có Chúng ta sẽ chỉ sử dụngnhững mẫu nào có độ chính xác càng cao thì hiệu quả công việc đạt được cànglớn, những mẫu có độ chính xác chưa được xác định rõ ràng hoặc không cao thìkhông nên sử dụng chúng

- Tính hấp dẫn: Khám phá tri thức được coi là lý thú vì nó có thể vạch ra các

xu hướng một cách hoàn thiện Đó là những điều mới lạ hay những quy trìnhtìm năng, hữu ích ẩn chứa từ trong dữ liệu trước đó

- Tính hiệu quả: thời gian chạy của thuật toán khám phá tri thức trên CSDLlớn có thể dự tính và chấp nhận được

Dữ liệu là tập hợp những bộ thông tin chính xác và quá trình khám phá tri thứcđược xem là sự lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu chỉ để lại các đặctrưng cơ bản cho dữ liệu Tri thức được tìm thấy là các thông tin tích hợp, bao gồmcác sự kiện và các mối quan hệ trong chúng Các mối quan hệ này có thể được hiểu ra,

có thể được phát hiện, hoặc có thể được học

Nếu khám phá tri thức là toàn bộ quá trình chiết xuất tri thức từ các CSDL thìKPDL là giai đoạn chủ yếu của quá trình đó KPDL là một quá trình phát hiện cácmẫu mới, thường bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìmkiếm các mẫu từ tập dữ liệu theo mô hình đó Sử dụng các kỹ thuật và các khái niệmcủa các lĩnh vực đã được nghiên cứu từ trước như: học máy, nhận dạng, thống kê, hồiquy, xếp loại, phân nhóm, các mô hình đồ thị, các mạng Bayes,… Hầu hết các CSDLđều chứa rất nhiều các mẫu mới và có ích, tuy nhiên mẫu có giá trị với mục tiêu đặt raphải là những mẫu không tầm thường Để các mẫu trở nên không tầm thường, hệthống phải làm nhiều hơn là chỉ mò mẫm thống kê vì kết quả của việc tính toán trựctiếp qua công tác thống kê là đã có đối với người dùng Một hệ thống tìm kiếm cầnphải có khả năng quyết định cần thực hiện tính toán nào và kết quả là có đáng quantâm để tạo nên tri thức trong ngữ cảnh hiện tại hay không

KPDL được sử dụng để tạo ra giả thuyết Ví dụ như để xác định các yếu tố rủi

ro khi cho vay tín dụng, kỹ thuật KPDL phải phát hiện được những người có thu

Trang 11

nhập thấp và nợ nhiều là những người sẽ có mức rủi ro cao Ngoài ra kỹ thuật cũng

có thể phát hiện ra những quy luật mà nhà phân tích có thể chưa tìm ra ví dụ như tỷ

lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác định mức rủi ro Để làm đượcđiều này, KPDL sử dụng các thông tin trong quá khứ để học Nó sẽ tìm kiếm cácthông tin này trong các CSDL và sử dụng chúng để tìm ra các mẫu đáng quan tâm Nếu xét về mặt ý tưởng và mục đích ứng dụng, KPDL là một nhu cầu tất yếu, một

sự nhạy cảm đáp lại sự mong mỏi của giới kinh doanh thì về mặt kỹ thuật, đó thực

sự là một khó khăn và là cả sự thách thức đối với những nhà khoa học KPDL đượcxây dựng dựa trên việc sử dụng các giải thuật mới, được định hướng theo như cầukinh doanh để có thể giải quyết tự động các bài toán kinh doanh bằng các kỹ thuật dễdùng và có thể hiểu được Các kỹ thuật đang được nghiên cứu và sử dụng hiện nay baogồm cây quyết định (CART, CHAID, AID), mạng neuron, phương pháp láng giềnggần nhất, các luật suy diễn,… KPDL không thuộc một ngành công nghiệp nào Nó sửdụng các kỹ thuật thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu

1.2 Kiến trúc của hệ thống khai phá dữ liệu

Kiến trúc của một hệ thống KPDL điển hình có thể có các thành phần như hình1.1 [8]:

Hình 1.1: Kiến trúc của một hệ thống khai phá dữ liệu

Trang 12

- CSDL, kho dữ liệu hoặc nơi lưu trữ thông tin khác (Databases, Datawarehouse, ): Đây là một hay một tập các CSDL, các kho dữ liệu, các trang tínhhay các dạng lưu trữ thông tin khác Các kỹ thuật làm sạch dữ liệu và tích hợp dữliệu có thể được thực hiện trên những dữ liệu này.

- Máy chủ CSDL hay máy chủ kho dữ liệu (Database or warehouse server):Máy chủ này có trách nhiệm lấy những dữ liệu thích hợp dựa trên các yêu cầu khaiphá của người dùng

- Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướngdẫn việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả

- Máy KPDL (Data mining engine): Một hệ thống KPDL cần phải có một tậpcác môđun chức năng để thực hiện công việc như: đặc trưng hóa, kết hợp, phân lớp,phân cụm, phân tích sự tiến hóa

- Môđun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với cácmôđun KPDL để duyệt tìm các mẫu đáng được quan tâm Nó có thể dùng cácngưỡng về độ quan tâm để lọc mẫu đã khám phá được Cũng có thể môđun đánh giámẫu được tích hợp vào môđun khai phá, tùy theo sự cài đặt của phương pháp khaiphá được dùng

- Giao diện đồ họa người dùng (Graphical user interface): Bộ phận này chophép người dùng giao tiếp với hệ thống KPDL Ngoài ra, bộ phận này còn cho phépngười dùng xem các lược đồ CSDL, lược đồ kho dữ liệu (hay các cấu trúc dữ liệu),các đánh giá mẫu và hiển thị các mẫu trong khuôn dạng khác nhau

1.3 Quá trình khai phá dữ liệu

Trang 13

Hình 1.2: Quá trình khám phá tri thức

Quá trình khám phá tri thức từ CSDL là một quá trình có sử dụng nhiều phươngpháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người là trungtâm Do đó, nó không phải là một hệ thống phân tích tự động mà là một hệ thống baogồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên làvới sự hỗ trợ của các công cụ tin học Người sử dụng hệ thống ở đây phải là người

có kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để có thể chọn được đúng cáctập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Trithức mà ta nói ở đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việcgiải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đó, quá trìnhphát hiện tri thức cũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọitri thức bất kỳ mà là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra

(1) 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 thác trong một CSDL, một kho dữ liệu và thậmchí các dữ liệu từ các nguồn ứng dụng Web

(2) Trích lọc dữ liệu (Selection): Ở giai đoạn này lựa chọn những dữ liệu phù hợp

với nhiệm vụ phân tích trích rút từ CSDL

(3) Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and

Preparation)

Giai đoạn 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ấtquan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trong khigom dữ liệu là tính không đủ chặt chẻ, logic 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, ví dụ: điểm = -1 Giai đoạn này sẽtiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên Những dữ liệu dạngnày được xem như thông tin dư thừa, không có giá trị Bởi vậy, đây là một quá trìnhrất quan trọng vì dữ liệu này nếu không được "làm sạch" sẽ gây nên những kết quảsai lệch nghiêm trọng

(4) Chuyển đổi dữ liệu (Transformation): Tiếp theo là giai đoạn chuyển đổi dữ liệu,

dữ liệu được chuyển đổi hay được hợp nhất về dạng thích hợp cho việc khai phá

Trang 14

(5) Khai phá dữ liệu (Data Mining): Đây là một tiến trình cốt yếu Ở giai đoạn này

nhiều thuật toán khác nhau đã được sử dụng một cách phù hợp để trích xuất thôngtin có ích hoặc cá mẫu điển hình trong dữ liệu

(6) Đá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, không phảibấ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 cần thiết

Từ quá trình khám phá tri thức trên chúng ta thấy được sự khác biệt giữa khámphá tri thức và khai phá dữ liệu Trong khi khám phá tri thức là nói đến quá trìnhtổng thể phát hiện tri thức hữu ích từ dữ liệu Còn KPDL chỉ là một bước trong quátrình khám phá tri thức, các công việc chủ yếu là xác định được bài toán khai phá,tiến hành lựa chọn phương pháp KPDL phù hợp với dữ liệu có được và tách ra các trithức cần thiết

Quá trình khai phá dữ liệu được thể hiện bởi mô hình sau:

Hình 1.3: Quá trình khai phá dữ liệu

- Xác định nhiệm vụ: Xác định chính xác vấn đề cần giải quyết

- Xác định các dữ liệu liên quan dùng để xây dựng giải pháp

- Thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuậtKPDL có thể hiểu được Ở đây có thể gặp một số vấn đề: Dữ liệu phải được sao ranhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp dữ liệu, phải lặp đilặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi, )

- Chọn thuật toán KPDL thích hợp và thực hiện việc KPDL: nhằm tìm được cácmẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó

Xác định

nhiệm vụ

Xác định

dữ liệu liên quan

Trang 15

1.4 Một số kỹ thuật khai phá dữ liệu

Các kỹ thuật KPDL được có thể chia làm 2 nhóm chính:

- Kỹ thuật KPDL mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính

chung của dữ liệu trong CSDL hiện có Nhóm kỹ thuật này gồm các phương pháp:

phân nhóm (Clustering), tổng hợp hóa (Summerization), phát hiện sự biến đổi và độ lệch (Change and deviation detection), phân tích luật kết hợp (Association Rules),

- Kỹ thuật KPDL dự đoán: có nhiệm vụ đư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 Nhóm kỹ thuật này gồm các phương pháp: phân lớp

(Classification), hồi quy (Regression),

1.4.1 Phân lớp và dự đoán (Classification & Prediction)

Là đặt các mẫu vào các lớp được xác định trước Nhiệm vụ chính là tìm các hàm ánh

xạ các mẫu dữ liệu một cách chính xác vào trong các lớp.Ví dụ một ngân hàngmuốn phân loại các khách hành của họ vào trong hai nhóm có nợ hay không nợ, từ

đó giúp họ ra quyết định cho vay hay không cho vay Quá trình phân lớp dữ liệuthường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu

- Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ

liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính

gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning) khác với phân nhóm dữ liệu là học không có giám sát (unsupervised learning)

- Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết chúng ta phải tính

độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sửdụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như: Cây quyết

định (Decision Tree), K-Láng giềng gần nhất (k-Nearest Neighbor), Mạng Nơron (Neural networks), Giải thuật di truyền (Genetic algorithms), Mạng Bayesian (Bayesian networks), Tập mờ và tập thô (Rough and Fuzzy Sets)

Trang 16

a) Cây quyết định (Decision Tree)

Các kỹ thuật phân lớp sử dụng cây quyết định để phân tách các dữ liệu cho đếnkhi mỗi phần chứa đựng hầu hết các mẫu từ một lớp đặc trưng, kết quả của quá trình

sẽ cho ra một cây quyết định Điểm phân tách trong cây quyết định là một nút(không phải là nút lá) sẽ sử dụng một số điều kiện để quyết định dữ liệu sẽ đượcphân tách như thế nào Các nút cuối cùng trong cây quyết định chứa đựng các bộmẫu giống nhau Lợi thế của cây quyết định là các thuật toán chạy khá nhanh, với kếtquả khá tốt và có thể giải thích được rõ ràng Tuy nhiên, bất lợi mà các thuật toán củacây quyết định có thể gặp phải đó là chúng có thể tìm ra các điểm tới hạn cục bộ, đưa

ra các kết quả không đúng

b) K-láng giềng gần nhất (k-Nearest Neighbor)

Thuật toán này tìm ra các láng giềng gần nhất của mẫu thử nghiệm và quy vềcác nhãn lớp của chúng dựa trên các nhãn đa số, điều đó có nghĩa là các mẫu đượcquy về cùng lớp khi chúng là lân cận của nhau Kỹ thuật này cho rằng vị trí trongkhông gian đặc trưng hàm ý một quan hệ họ hàng gần gũi ở giữa các nhãn lớp Lợi thế của các thuật toán K-Láng giềng gần nhất là dễ thực thi, và kết quả mà nóđem lại khả năng dễ dàng giải thích Nhưng một điểm bất lợi là các thuật toán nàyđưa ra các mô hình rất lớn với một tập dữ liệu nhỏ

c) Mạng nơron (Neural networks)

Mạng nơron là mạng được mô phỏng theo bộ não của con người Đó là một cấutrúc dữ liệu của các hàm với một hoặc nhiều trọng số đầu vào, với kết quả đầu ra làmột nhãn các lớp Từng phần riêng biệt của dữ liệu được đưa vào mạng nơron vàcác hàm - các trọng số trong mạng nơron bị thay đổi (học - huấn luyện) tùy theo tỷ

lệ lỗi của đầu ra Phương pháp này thường đưa đến một khoảng thời gian huấnluyện dài ngay cả khi tập dữ liệu nhỏ

Lợi thế của mạng nơron là đưa đến các kết quả khá chính xác, nhưng bất lợi của

nó là thường đòi hỏi thời gian huấn luyện dài và đưa ra các kết quả khó hiểu, cứngnhắc, bị bao bọc trong một hộp đen, khó giải thích tường minh

Trang 17

d) Giải thuật di truyền (Genetic algorithms)

Các giải thuật di truyền được sử dụng để đưa ra công thức giả thuyết về sự phụthuộc giữa các biến Đối với một giải thuật di truyền phải sử dụng các giải pháp nhưcạnh tranh, lựa chọn và kết hợp giữa các tập hợp cá thể

Lợi thế của Giải thuật di truyền là thường đưa đến các kết quả kiểm tra khá chínhxác, nhưng bất lợi của nó là kết quả có được thông qua việc lập trình tiến hóa và cáckết quả cũng thường cứng nhắc, khó hiểu

e) Mạng Bayesian (Bayesian networks)

Trong mạng Bayesian sử dụng các đồ thị có hướng, không có chu trình để miêu

tả sự phân lớp có thể được Các đồ thị này cũng có thể được sử dụng để miêu tả cáctri thức chuyên gia Các nút miêu tả các biến thuộc tính và các trạng thái (sự kiện)

và mỗi một cạnh miêu tả khả năng sự phụ thuộc giữa chúng Kết hợp với mỗi nút làcác lớp cục bộ có thể và các cung được vẽ từ nút nguyên nhân đến nút bị ảnhhưởng KPDL trong mạng Bayesian bao gồm việc sử dụng đầu vào các tri thứcchuyên gia và sau đó sử dụng một CSDL để cập nhật, lọc và cải tiến tri thức đótrong mạng Các đồ thị mới có thể là kết quả từ các cải tiến này và nguyên nhân củacác mối quan hệ giữa các nút kết quả có thể được giải thích một cách dễ dàng

Lợi thế của mạng Bayesian là thường đưa ra các kết quả dễ hiểu, nhưng bất lợicủa nó là cần thu thập được các tri thức chuyên gia truyền thống

f) Tập mờ và tập thô (Rough and Fuzzy Sets)

Lý thuyết về tập mờ và tập thô dựa trên một sơ sở toán học không chắc chắn.Đối với các mô hình tập thô, một giới hạn trên và giới hạn dưới sẽ được xác định.Một tập thô định nghĩa một lớp C là một xấp xỉ bởi hai tập Tập cận dưới (lower)của C bao gồm tất cả các mẫu dữ liệu, mà dựa vào tri thức của các mẫu dữ liệu có thểquyết định một mẫu bất kỳ thuộc phân lớp C một cách rõ ràng Tập cận trên của C baogồm tất cả các mẫu với giá trị của thuộc tính được mô tả không thể thuộc vào phânlớp C Mô hình tập mờ không dốc về cực đại cục bộ bằng các thuật toán cây quyếtđịnh, và cũng giống như mô hình tập thô, chúng dùng để đối phó với những điềukhông chắc chắn tốt hơn bất kỳ một thuật toán nào khác

Trang 18

1.4.2 Luật kết hợp (Association Rules)

Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản Mục tiêucủ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ệutrong CSDL Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được

Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều ýnghĩa Thông tin mà dạng luật này đem lại rất có lợi trong các hệ hỗ trợ ra quyếtđịnh Tìm kiếm được những luật kết hợp đặc trưng và mang nhiều thông tin từCSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữliệu

1.4.3 Khai thác mẫu tuần tự (Sequential/ Temporal patterns)

Tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thờigian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y phản ánh sự xuất hiệncủa biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính

dự báo cao

1.4.4 Phân nhóm - đoạn (Clustering/ Segmentation)

Mục tiêu chính của việc phân nhó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 nhóm sao cho mức độ tương tự giữa các đối tượng

trong cùng một nhóm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trongcác nhóm khác nhau là nhỏ nhất Các nhóm có thể tách nhau hoặc phân cấp gối lênnhau và số lượng các nhóm là chưa biết trước Một đối tượng có thể vừa thuộcnhóm này, nhưng cũng có thể vừa thuộc nhóm khác Không giống như phân lớp dữliệu, phân nhóm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấnluyện Vì thế, có thể coi phân nhóm dữ liệu là một cách học bằng quan sát (learning

by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example).Trong phương pháp này bạn sẽ không thể biết kết quả các nhóm thu được sẽ như thếnào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực

đó để đánh giá các nhóm thu được Phân nhóm còn được gọi là học không có giámsát (unsupervised learning) Phân nhóm dữ liệu được sử dụng nhiều trong các ứngdụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại

Trang 19

trang Web, … Ngoài ra phân nhó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 KPDL khác

1.4.5 Hồi quy (Regression)

Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán

có giá trị thực Nhiệm vụ của hồi quy 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 rạc 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ển chẳng hạn như hồi quytuyến tính Tuy nhiên phương pháp mô hình hóa cũng có thể được sử dụng như câyquyết định

1.4.7 Mô hình hóa sự phụ thuộc (dependency modeling)

Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theohai mức Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị), trong đó, cácbiến phụ thuộc bộ phận vào các biến khác Và mức định lượng mô hình mô tả mức

độ phụ thuộc Những phụ thuộc này thường được biểu thị dưới dạng theo luật "nếu thì" - nếu tiền đề đúng thì kết luận đúng Về nguyên tắc, cả tiền đề và kết luận đều

-có thể là sự kết hợp logic của các giá trị thuộc tính Trên thực tế, tiền đề thường lànhóm các giá trị thuộc tính và kết luận chỉ là một thuộc tính Hơn nữa, hệ thống cóthể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộctính do người dùng chỉ ra trong kết luận Quan hệ phụ thuộc cũng có thể biểu diễndưới dạng mạng tin cậy Bayes Đó là đồ thị có hướng, không chu trình Các nút biểudiễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó

Trang 20

1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)

Tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biếttrước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệuthực và nội dung mong đợi Hai mô hình độ lệch hay 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 thời gian

Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đây xét

cả trường hợp tập con dữ liệu này thuộc tập con kia Nghĩa xác định dữ liệu trongmột nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theocách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường sẽ được phát hiện

1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu

Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệuthành các loại khác nhau

Cơ sở dữ liệu quan hệ (relational databases): là những CSDL được tổ chức theo

mô hình quan hệ Hiện nay, các hệ quản trị CSDL đều hỗ trợ mô hình này như: MSAccess, MS SQL Server, Oracle, IBM DB2,

Cơ sở dữ liệu đa chiều (multidimention structures, data warehouse, data mart):

còn được gọi là nhà kho dữ liệu, trong đó dữ liệu được chọn từ nhiều nguồn khácnhau và chứa những đặc tính lịch sử thông qua thuộc tính thời gian tường minhhoặc ngầm định

Cơ sở dữ liệu giao tác (transaction databases): là loại dữ liệu được sử dụng

nhiều trong siêu thị, thương mại, ngân hàng,

Cơ sở dữ liệu quan hệ - hướng đối tượng (object relational databases): mô hình

CSDL này là lai giữa mô hình hướng đối tượng và mô hình CSDL quan hệ

Cơ sở dữ liệu không gian và thời gian (spatial, temporal, and time - series data):

chứa những thông tin về không gian địa lý hoặc thông tin theo thời gian

Cơ sở dữ liệu đa phương tiện (Multimedia database): là loại dữ liệu có nhiều

trên mạng, bao gồm các loại như âm thanh, hình ảnh, video, văn bản và nhiều kiểu

dữ liệu định dạng khác

Trang 21

1.6 Một số ứng dụng của khai phá dữ liệu [13]

KPDL có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như:

- Bảo hiểm, tài chính và thị trường chứng khoán: 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 Danh mục vốn và giá, lãisuất, dữ liệu thẻ tín dụng, phát hiện gian lận,…

- Điều trị y học và chăm sóc y tế: một số thông tin về chẩn đoán bệnh lưu trong các

hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứng bệnh, chẩn đoán

và phương pháp điều trị (chế độ dinh dưỡng, thuốc,…)

- Sản xuất và chế biến: qui trình, phương pháp chế biến và xử lý xử cố

- 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,

- Lĩnh vực khoa học: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm

kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và các bệnh ditruyền,…

- Lĩnh vực khác: viễn thông, môi trường, thể thao, âm nhạc, giáo dục,

1.7 Khai phá luật kết hợp [3]

1.7.1 Bài toán phát hiện luật kết hợp

Bài toán được Agrawal thuộc nhóm nghiên cứu của IBM đưa ra vào năm 1994.Bài toán được Agrawal thuộc nhóm nghiên cứu của IBM đưa ra vào năm 1994 Bài toán giỏ mua hàng trong siêu thị

Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa Kháchhàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàng nào đó, vàchúng ta muốn tìm hiểu các khách hàng thường mua các mặt hàng nào đồng thời.Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hayđơn giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theomột gói hàng, giúp cho khách hàng đỡ mất công tìm kiếm

Bài toán trên hoàn toàn có thể áp dụng trong các lĩnh vực khác Ví dụ:

- Giỏ hàng = văn bản Mặt hàng = từ Khi đó, những từ hay đi cùng nhau sẽ giúp

ta nhanh chóng tìm ra các lối diễn đạt, hay các khái niệm có mặt trong văn bản

Trang 22

- Giỏ hàng = văn bản Mặt hàng = câu Khi đó, những văn bản có nhiều câugiống nhau giúp phát hiện ra sự đạo văn, hay những “website đúp” (mirror website).Khai phá luật kết hợp được môt tả như sự tương quan của các sự kiện - những sựkiện xuất hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luậtkết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịchlớn của một cơ sở dữ liệu cho trước Nói cách khác, thuật toán khai phá luật kết hợpcho phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thườngxuyên) như thế nào

1.7.2 Các khái niệm

Cho I = {I1, I2, ,In} là tập hợp của n mục dữ liệu Giả sử D là CSDL, vớicác bản ghi chứa một tập con T các mục dữ liệu, T ⊆ I, các bản ghi đều có chỉ số

riêng Một luật kết hợp là một mệnh đề kéo theo có dạng X → Y, trong đó X, Y ⊆

I, thỏa mãn điều kiện XY =φ Các tập hợp X và Y được gọi là các tập mục dữliệu (itemset) Tập X gọi là tiền đề, tập Y gọi là kết luận

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy(confidence) được định nghĩa như phần dưới đây

* Khái niệm: Độ hỗ trợ

Định nghĩa 1.1: Độ hỗ trợ của một tập mục X trong CSDL D là tỷ số giữa các bản

ghi T⊆D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản

ghi trong D có chứa tập mục X), ký hiệu là support(X) hay supp(X)

Ta có: 0≤supp(X)≤1 với mọi tập hợp X ∈

Định nghĩa 1.2 : Độ hỗ trợ của một luật kết hợp XY là độ hỗ trợ của tập XY

Supp(XY) = Supp(X U Y)Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, nghĩa là có 50% tổng sốbản ghi chứa XY Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật

Trang 23

Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ cao (ví

dụ như luật kết hợp xét trong cửa hàng tạp phẩm) Nhưng cũng có trường hợp, mặc

dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đếnnguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)

* Khái niệm: Độ tin cậy

Định nghĩa 1.3 : Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản

ghi trong D chứa XYvới số bản ghi trong D có chứa tập hợp X Kí hiệu độ tincậy của một luật là conf(XY)

Conf(XY) = supp(XY )/supp(X)

Nhận xét:

+ Ta có 0 ≤ conf(XY) ≤ 1

+ Độ hỗ trợ và độ tin cậy có xác suất sau:

Supp(XY) = P(XY) Conf(XY) = P(Y / X)

Nói rằng độ tin cậy của một luật là 90%, nghĩa là có tới 90% số bản ghi chứa Xchứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “Xác suất để xảy ra sự kiện Yvới điều kiện có X đạt 90%”

Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật

có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng của độ hỗ

trợ và độ tin cậy được ký hiệu là minsup và mincof.

Ví dụ: Khi phân tích dữ liệu bán hàng của siêu thị ta được luật: 85% khách hàngmua sữa thì cũng mua bánh mì, 30% thì mua cả hai thứ Trong đó: “mua sữa” là tiền

đề còn “mua bánh mì ” là kết luận của luật Con số 30% là độ hỗ trợ của luật còn85% là độ tin cậy của luật

Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khácbiệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thôngthường trong SQL Đó là những tri thức, những mối liên hệ chưa biết trước và mangtính dự báo, tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả củaphép nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp

Trang 24

* Khái niệm: Tập mục thường xuyên

Định nghĩa 1.4: Tập mục X được gọi là tập mục thường xuyên (Frenquent Itemset) nếu supp(X) ≥ minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập

này là FI

Tính chất tập mục thường xuyên:

Tính chất 1.1: Giả sử A, B⊆I với A⊆B thì supp(A) ≥ supp(B).

Tính chất 1.2 : Tập con của tập mục thường xuyên là tập mục thường xuyên.

Tức là: với A, B⊆I, nếu A⊆B và B là tập mục thường xuyên thì A cũng là tập

mục thường xuyên

Tính chất 1.2 có thể phát biểu lại như sau: nếu A⊆B và A là tập mục không

thường xuyên thì B cũng là tập mục không thường xuyên

Định nghĩa 1.5: Một tập mục X được gọi là tập mục thường xuyên đóng (closed)

nếu không có tập cha nào của X có cùng độ hỗ trợ với nó Ký hiệu tập các tập mụcthường xuyên đóng là FCI

Định nghĩa 1.6: Nếu X là tập mục thường xuyên và không tập cha nào cuả X là

thường xuyên, ta nói rằng X là một tập thường xuyên cực đại (Maximally FrequentItemset) Ký hiệu tập tất cả các tập mục thường xuyên cực đại là MFI Dễ thấy MFI

Trang 25

1.7.3 Các cách tiếp cận khai phá tập mục thường xuyên

Các nghiên cứu về khai phá tập mục thường xuyên tập trung vào tìm các thuậttoán mới hoặc đề xuất giải pháp nâng cao hiệu quả các thuật toán đã có Phần này sẽtrình bày khái quát các kỹ thuật chính để khai phá tập mục thường xuyên

Bài toán khai phá tập mục thường xuyên có thể chia thành hai bài toán nhỏ:Tìm các tập mục ứng viên và tìm các tập mục thường xuyên Tập mục ứng viên làtập mục mà ta hy vọng nó là tập mục thường xuyên, phải tính độ hỗ trợ của nó đểkiểm tra Tập mục thường xuyên là tập mục có độ hỗ trợ lớn hơn hoặc bằng ngưỡng

hỗ trợ tối thiểu cho trước Đã có rất nhiều thuật toán tìm tập mục thường xuyênđược công bố, ta có thể phân chúng theo hai tiêu chí sau:

Phương pháp duyệt qua không gian tìm kiếm

Phương pháp xác định độ hỗ trợ của tập mục

Phương pháp duyệt qua không gian tìm kiếm được phân làm hai cách: Duyệttheo chiều rộng (Breadth First Search – BFS) và duyệt theo chiều sâu (Depth FirstSearch – DFS)

Duyệt theo chiều rộng là duyệt qua cơ sở dữ liệu gốc để tính độ hỗ trợ của tất cảcác tập mục ứng viên có (k-1) mục trước khi tính độ hỗ trợ của các tập mục ứngviên có k mục Với cơ sở dữ liệu có n mục dữ liệu, lần lặp thứ k phải kiểm tra độ hỗ

Phương pháp xác định độ hỗ trợ của tập mục X được chia làm hai cách: Cáchthứ nhất là đếm số giao tác chứa X trong cơ sở dữ liệu Cách thứ hai là tính phầngiao của các tập chứa định danh của các giao tác chứa X

Trang 26

Tập k mục Chức năng

L k

Tập các k-tập mục thường xuyên (với độ hỗ trợ tối thiểu

minsup) Mỗi phần tử của tập này có 2 trường :

i) Tập mục (itemsets)ii) Độ hỗ trợ (count)

C k Tập các k-tập mục ứng viên (các tập mục thường xuyên tiềm

năng) Mỗi phần tử của tập này có 2 trường:

i) Tập mục (itemsets)ii) Độ hỗ trợ (count)

Phần tiếp theo mô tả chi tiết nội dung hai thuật toán tiêu biểu cho hai phươngpháp: Duyệt theo chiều rộng và duyệt theo chiều sâu Thuật toán Apriori tiêu biểucho phương pháp duyệt theo chiều rộng Thuật toán FP-Growth đại diện chophương pháp duyệt theo chiều sâu

1.7.4 Một số thuật toán điển hình tìm tập mục thường xuyên

1.7.4.1 Thuật toán Apriori

Apriori là thuật toán khai phá tập mục thường xuyên do R Agrawal và R.Srikant đề xuất vào năm 1993 [4] Ý tưởng của thuật toán Apriori cũng là nền tảngcho việc phát triển nhiều thuật toán khai phá tập mục thường xuyên khác về sau

Ý tưởng chính của thuật toán như sau: sinh ra các tập mục ứng viên từ các tậpmục thường xuyên ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi những tập mục ứngviên không thỏa mãn ngưỡng hỗ trợ cho trước Cơ sở của kỹ thuật này là tính chất:

Bất kỳ tập con nào của tập mục thường xuyên cũng phải là tập mục thường xuyên.

Vì vậy các tập mục ứng viên gồm k mục có thể được sinh ra bằng cách kết nối cáctập mục thường xuyên có (k-1) mục và loại bỏ tập mục ứng viên nếu nó có chứa bất

kỳ một tập con nào không phải là thường xuyên.Giả sử các mục dữ liệu trong mỗigiao tác được lưu theo trật tự từ điển Thuật toán sử dụng các ký hiệu sau đây:

Thuật toán duyệt cơ sở dữ liệu nhiều lần Mỗi lần duyệt, thuật toán thực hiện

hai bước: bước kết nối và bước tỉa Trong lần lặp thứ k, thuật toán nối hai (k-1)-tập

mục để sinh ra k-tập mục, sử dụng tính chất Apriori để tỉa các tập ứng viên Bướcnối và bước tỉa như sau:

Trang 27

Bước kết nối (tìm Ck): Tập các k-tập mục ứng viên Ck được sinh ra bởi việc kết nối

Lk-1 với chính nó Hai tập mục l1 và l2 của Lk-1 được nối nếu chúng có (k-2) mục dữliệu đầu bằng nhau, mục dữ liệu thứ (k-1) của l1 nhỏ hơn của l2:

(l1[1] = l2[1]) ∧ (l1[2] = l2[2]) ∧ …∧ (l1[k-2] = l2[k-2]) ∧ (l1[k-1] < l2[k-1])Dạng của tập mục nhận được bởi nối l1 và l2 là: l1[1] l1[2] … l1[k-2] l1[k-1] l2[k-1]

Bước tỉa: Tập Ck chứa tập Lk , tức là tất cả các k-tập mục thường xuyên đều thuộctập Ck Tập Ck có thể là rất lớn dẫn đến khối lượng tính toán lớn Thuật toán ápdụng tính chất Apriori để rút gọn tập Ck Nếu có một (k-1)-tập mục con nào đó củak-tập mục ứng viên mà không có mặt trong Lk-1 thì ứng viên đó không thể là thườngxuyên, có thể loại bỏ khỏi Ck Việc kiểm tra các (k-1)-tập mục con có thể thực hiệnnhanh bởi duy trì một cây băm của tất cả các tập mục thường xuyên đã tìm thấy

Thuật toán Apriori ( tìm các tập mục thường xuyên)

Input: Cơ sở dữ liệu DB, ngưỡng độ hỗ trợ minsup

Output: Tập các tập mục thường xuyên L trong DB

Method:

(1) Tìm các 1-tập mục thường xuyên, nhận được L1 ;

(2) For (k=2; Lk-1≠∅; k++) do begin

(3) Ck = apriori_gen(Lk-1, minsup); // Sinh tập ứng viên mới từ Lk-1

(4) For (each T DB) do begin

(5) C= subset(Ck,T) ; // Các tập mục ứng viên chứa trong T

Trang 28

Input: Tập các (k-1)- tập mục thường xuyên Lk-1

(5) For (each ci∈Ck) do

(6) If exist (s ⊂ ci) and (s∉Lk-1) then

(7) delete ci from Ck;

(8) Return Ck;

Ví dụ minh họa:

Ta minh họa thực hiện thuật toán Apriori trên cơ sở dữ liệu trong bảng 1.4 với

minsup = 50%, tức xuất hiện ít nhất 2 lần.

TID Các mục dữ liệu

T1 A, C, DT2 B, C, ET3 A, B, C, ET4 B, E

Bảng 1.4: Cơ sở dữ liệu giao tác minh họa thực hiện thuật toán Apriori

- Duyệt CSDL lần thứ nhất: Tính độ hỗ trợ cho các 1 – Tập mục được kết quả nhưsau: C1 L1

Trang 29

Nối L3 với L3 được L4 = Ø, thuật toán dừng.

Các tập mục thường xuyên tìm được theo thuật toán Apriori là:

{ A B C E AC BC BE CE BCE }

L L L

L = 1∪ 2 ∪ 3 = , , , , , , , ,

 Nhận xét:

- Cần sinh ra số lượng khổng lồ các tập ứng viên

- Lặp nhiều lần duyệt CSDL để xác định độ hỗ trợ của các tập ứng viên, số lầnduyệt CSDL bằng độ dài của tập mục thường xuyên dài nhất tìm được Thuật toán

Loại bỏ các 2 – tập mục

có count < 2

Loại bỏ các 3 – tập mục

có count < 2

Trang 30

Apriori chỉ thích hợp cho các CSDL thưa (Sparse), với các CSDL dày (Dense) thìthuật toán thực hiện kém hiệu quả.

1.7.4.2 Thuật toán FP – Growth

Để khắc phục nhược điểm trên của thuật toán Apriori, J Han, J Pei, Y Yin đềxuất thuật toán FP-Growth [10] Thuật toán FP-Growth được xây dựng với 3 kỹthuật chính:

(1) Nén dữ liệu thích hợp vào một cấu trúc cây gọi là cây FP-Tree Chỉ có các 1– tập mục (1-item) ở trong cây và các nút của cây được sắp xếp để các nútxuất hiện thường xuyên hơn có thể dễ dàng chia sẻ với các nút xuất hiện íthơn

(2) Thực hiện phương pháp khai phá phát triển (growth) từng đoạn dựa trên câyFP-tree gọi là phương pháp FP-Growth

(3) Kỹ thuật tìm kiếm được dùng ở đây là dựa vào sự phân chia, “chia để trị”,phân rã nhiệm vụ khai phá thành các nhiệm vụ nhỏ hơn

Thuật toán FP-Growth do nén toàn bộ CSDL lên một cấu trúc dữ liệu nhỏ hơn

là cây FP-Tree nên tránh được việc duyệt nhiều lần CSDL (thuật toán chỉ duyệtCSDL 2 lần) Tiếp theo thuật toán khai phá cây bằng cách phát triển dần các mẫu

mà không sinh các tập mục ứng viên, do đó tránh được khối lượng tính toán lớn.Phương pháp FP-Growth đã chứng tỏ được tính hiệu quả của nó và có thể thực hiệnkhai phá cho cả các mẫu ngắn và dài, nhanh hơn thuật toán Apriori, luôn chỉ cầnduyệt CSDL 2 lần

Thuật toán FP-Growth thực hiện như sau:

Đầu tiên, thuật toán duyệt CSDL lần thứ nhất để tính độ hỗ trợ của từng mục(đếm số lần xuất hiện của từng mục)

Tiếp đến, những mục không đủ độ hỗ trợ bị loại Các mục còn lại được sắp theothứ tự giảm dần của độ hỗ trợ (cũng tức là giảm dần theo số lần xuất hiện trongCSDL), ta nhận được danh sách L các mục đã sắp xếp

Trang 31

Duyệt CSDL lần thứ hai, với mỗi giao tác t, loại các mục không đủ độ hỗ trợ,các mục còn lại theo thứ tự giống như xuất hiện trong L (tức là thứ tự giảm dần theo

độ hỗ trợ) được cất vào cây FP-tree

Phần tiếp theo thuật toán khai phá tìm các mẫu thường xuyên trên cây FP-Tree

đã xây dựng mà không cần duyệt lại CSDL nữa

 Phương pháp dựa trên cây FP-Tree

• Cây FP-tree là cấu trúc cây với một số đặc điểm sau:

- Có một nút cha được đánh nhãn NULL, những nút con nối với nút cha là

những thành phần chung của nhiều giao dịch được nén lại với nhau (item prefix subtree), bên cạnh cũng có một mảng các mục đơn thường xuyên (frequent- item header table)

- Mỗi nút trong item prefix subtree có ba trường dữ liệu: mã mục, số tích lũy

và con trỏ liên kết Mã mục tương ứng mục mà nút này đại diện, số tích lũy là

số giao dịch có chứa chung phần mục này, con trỏ liên kết dùng để liên kết 2

nút đại diện chung một mã mục ở hai item prefix subtree khác nhau Giá trị

con trỏ liên kết mang giá trị rỗng khi là nút cuối cùng trong chuỗi liên kết

- Mỗi phần tử trong frequent-item header table gồm 2 trường: mã mục và

con trỏ liên kết đến đầu nút của chuỗi liên kết các nút cùng đại diện chung chomột mục

Phép chiếu trên cây FP-tree

Sau khi xây dựng cấu trúc FP-tree cho toàn bộ CSDL chỉ gồm những mụcđơn thỏa ngưỡng hỗ trợ, ta phải duyệt cây để tìm ra những tập thường xuyên thỏa

minsup Hiệu quả của quá trình khai thác phụ thuộc nhiều vào phương pháp duyệt.

Phương pháp duyệt phải thỏa những yêu cầu:

- Đảm bảo kết quả tập thường xuyên là đầy đủ

- Kết quả các tập thường xuyên không bị trùng lặp

- Những tập thường xuyên tạo ra thỏa ngưỡng minsup

Để duyệt cây FP-tree, ta có thể sử dụng một trong hai phép chiếu dưới đây:

Trang 32

Phép chiếu từ dưới lên:

- Dựa trên thứ tự của f-list, chọn mục hạt giống bắt đầu từ mục có độ hỗ trợ nhỏ

nhất thỏa minsup cho đến mục có độ hỗ trợ lớn nhất

- Trên cây FP-tree, duyệt từ những nút chứa mục hạt giống tiến dần đến nút gốc

để xây dựng f-list cục bộ và FP-tree cục bộ của mục hạt giống

- Nếu duyệt hết mục trong f-list thì quay lui một bước và thực hiện tiếp

Phép chiếu từ trên xuống:

- Dựa trên thứ tự của f-list, chọn mục hạt giống bắt đầu từ mục có độ hỗ trợ lớn

nhất cho đến mục có độ hỗ trợ nhỏ nhất thỏa minsup

- Trên cây FP-tree, duyệt từ nút chứa mục hạt giống tiến dần xuống nút lá củacây và xây dựng f-list cục bộ của mục hạt giống Ghi nhận vị trí của nút contrực tiếp của những nút chứa mục hạt giống trong f-list cục bộ

- Nếu f-list cục bộ không còn mục nào thì quay lui một bước và thực hiện tiếp

Để hiểu phương pháp này làm việc thế nào, ta xét khai phá CSDL giao tác DB

sau với độ hỗ trợ tối thiểu minsup = 2.

TID Các mục dữ liệu Các mục thường xuyên

Bảng 1.5: CSDL giao tác minh họa cho thuật toán FP-Growth

- Bước 1: Duyệt CSDL, đếm số lần xuất hiện của từng mục, loại các mục không đủ

độ hỗ trợ

- Bước 2: Sắp các mục đủ độ hỗ trợ theo thứ tự giảm dần của độ hỗ trợ, ta nhận

được danh sách L sau:

Mục Số lần xuất hiện

Trang 33

- Bước 3: Duyệt lại CSDL lần thứ hai và xây dựng FP-tree.

 Cây FP-tree được xây dựng như sau:

Khởi tạo cây T, gốc của cây có nhãn null

Khi duyệt CSDL lần thứ hai, với mỗi giao tác, loại các mục không thườngxuyên, các mục còn lại sắp theo thứ tự giảm dần của số lần xuất hiện, dãy các mụcthường xuyên đó được thêm vào cây cùng với thay đổi số đếm của các mục trên câycho phù hợp Quá trình xây dựng cây như hình sau:

Hình 1.4: Cây FP-tree được xây dựng dần khi thêm các giao tác t1 ÷ t6

Từ tập dữ liệu ban đầu, ta xây dựng header table của cây FP như sau:

Mục

dữ liệu

Con trỏ đầu danh sách liên kết C

W A D T

Roo t

Roo t C:

2

D:

2 T:1

Roo t C:2

Roo t

Roo t C:3

Roo t C:5

D:1

D:2 T:1

Roo t

Roo t C:6

D:1

D:2 T:1 D:1

T:1

Trang 34

Hình 1.5: Cây FP-tree của CSDL DB trong bảng 1.5

Cấu trúc cây FP-tree như sau:

Gốc của cây nhãn null, các đường đi trên cây biểu diễn item prefixs

Các liên kết trên cây: Liên kết các mục xuất hiện có tên giống nhau

Mỗi nút (trừ nút gốc) bao gồm:

+ Tên mục (item identifier)

+ Count: Số đếm

+ Node link: Liên kết đến nút tiếp theo trên cây có cùng tên

Bảng các đầu mục thường xuyên (header table): Bắt đầu cho các liên kết

Thủ tục thêm một dãy các mục (đã sắp giảm dần theo độ hỗ trợ) của một giao tácvào cây thực hiện đệ qui như sau:

Procedure insert_tree (string [p | P] , tree có gốc T)

(Trong đó: P là mục thứ nhất của dãy các mục và P là phần còn lại Trong lần duyệtthứ hai, với mỗi giao tác t, gọi thủ tục insert_tree (t’, T), với t’ là nội dung của giaotác t sau khi đã bỏ các mục không thường xuyên và sắp theo thứ tự giảm dần của độ

hỗ trợ, T là gốc của cây)

Procedure insert_tree (string [p | P], tree có gốc T

Nếu T có nút con N mà N.itemname = p thì N.count++

Trang 35

Ngược lại

Tạo một nút mới N;

N.itemname:=p; N.count:=1;

Thay đổi nút liên kết cho p bao gồm N;

Nếu p khác rỗng gọi thủ tục insert_tree (P, N);

Tìm các tập mục thường xuyên:

Sau khi xây dựng xong FP_tree cho CSDL, việc khai phá tìm các tập mụcthường xuyên chỉ thực hiện trên FP_tree mà không cần duyệt CSDL nữa

Thuật toán FP_Growth như sau:

Bắt đầu từ dưới lên của bảng header và cây, với mỗi mục A: Dùng nút liên kếtduyệt qua tất cả các nút trên cây mà xuất hiện A, với mỗi nút N mà N.itemname =

A, xác định các tập mục thường xuyên có xuất hiện A, thực hiện bằng cách chỉ cầntìm các đường đi từ gốc tới N Ví dụ: Đầu tiên xét mục T, sau đó đến D, như sau:

Ở đây, cơ sở phụ thuộc là:

Trang 36

(Bây giờ ta bỏ qua T vì các tập mục thường xuyên chứa nó đã tìm rồi).

- Cơ sở mẫu phụ thuộc của D là:

Thuật toán FP_Growth:

Khai phá FP_tree được thực hiện bởi gọi lần đầu FP_Growth (FP_tree, null)thực hiện như sau:

Procedure FP_Growth (Tree,α )

Nếu cây tree chứa một đường đơn P thì

Với tất cả các tổ hợp (kí hiệuβ) của các nút trong đường đi P

Trang 37

Sinh ra mẫu β ∪αvới support = độ hỗ trợ nhỏ nhất của các nút trong β

Ngược lại: Với mỗi mục ai trong header table của tree{

Sinh ra β =a i∪α với support = ai.count;

Xây dựng cơ sở mẫu phụ thuộc của βvà sau đó FP_tree phụ thuộc của βlà

β

Tree ;

Nếu Treeβ ≠φ thì gọi FP_Growth(Treeβ,β)}

Tập thường xuyên thu được khi thực hiện thuật toán FP-Growth là:

{T, TD, TDC, TA, TAW, TAC, TAWC, TW, TWC, TC, D, DA, DW, DWA, DC,DAC, DWC, DAWC, A, AW, AC, ACW, W, WC, C}

 Nhận xét:

Thuật toán FP-Growth khá hiệu quả vì sử dụng cấu trúc cây FP-tree và duyệttheo chiều sâu với mô hình chia để trị Nó thực hiện hiệu quả hơn thuật toán Apriori,thực hiện tốt cho tập mục thường xuyên ngắn cũng như dài Ta có một số nhận xét

về thuật toán như sau:

- Về thời gian: Chỉ duyệt CSDL 2 lần

- Về không gian: Độ cao của cây được giới hạn bởi độ dài của giao tác dàinhất

Cây FP-tree duy trì đầy đủ thông tin cho khai phá các tập thường xuyên, rút gọnhợp lý các thông tin không cần thiết bởi cách là các mục dữ liệu không thườngxuyên đã bị loại bỏ ngay từ đầu

Dùng kỹ thuật sắp theo trật tự giảm dần của tần số xuất hiện, điều đó dẫn đếncác mục thường xuyên hơn được chia sẻ nhiều hơn Cây FP-tree không bao giờ lớnhơn CSDL gốc

1.8 Kết luận chương 1

Chương 1 trình bày chi tiết các khái niệm cơ bản, bài toán khai phá tập mụcthường xuyên và hai thuật toán điển hình trong khai phá tập mục thường xuyên là

Trang 38

thuật toán Apriori và FP-Growth Thuật toán Apriori tiêu biểu cho phương phápsinh ra các tập mục ứng viên rồi duyệt cơ sở dữ liệu kiểm tra độ hỗ trợ của chúng,thuật toán FP-Growth đại diện cho phương pháp không sinh ra các tập mục ứngviên mà nén cơ sở dữ liệu lên cấu trúc cây, sau đó khai phá cây này Tuy nhiên, hiệnnay trong khai phá luật kết hợp, người ta thường giải quyết bài toán tìm tập mụcthường đóng thay cho bài toán tìm tập mục thường xuyên Trong chương 2 sẽ trìnhbày các khái niệm cơ bản về tập đóng, tập mục thường xuyên đóng và thuật toántiêu biểu trong tìm tập mục thường xuyên đóng.

Trang 39

CHƯƠNG 2: KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN ĐÓNG

TRONG CƠ SỞ DỮ LIỆU

2.1 Cơ sở toán học của tập mục thường xuyên đóng

2.1.1 Ánh xạ đóng

Định nghĩa 2.1: Cho tập U, ánh xạ f: Subset(U)  Subset(U) được gọi là ánh xạ

đóng trên U nếu với mọi tập X, Y ⊆U, f thỏa mãn các tính chất sau:

Cho quan hệ hai ngôi δ ⊆ I x T chứa CSDL cần khai thác Đặt: X ⊆I và Y ⊆

T Ký hiệu P(S) là tập chứa tất cả các tập con của S Ta định nghĩa hai ánh xạ giữaP(I) và P(T) được gọi là kết nối Galois như sau:

X t T P I

Hình 2.1 minh họa hai ánh xạ này trong đó ánh xạ t(X) là tập tất cả các giao tác

có chứa tập mục X (hay còn gọi là Tidset của Itemset X) và i(Y) là tập tất cả cácmục dữ liệu có trong tất cả các giao tác trong Y Kí hiệu tập mục X và tập các giao

Trang 40

Ví dụ: Cho CSDL giao tác mẫu

Bảng 2.1: a) CSDL giao tác biểu diễn ngang b) CSDL giao tác biểu diễn dọc

Xét CSDL được cho trong bảng 2.1 ta có:

134512345

1234561345

)()()()

2.1.4 Bao đóng của tập mục dữ liệu

Định nghĩa 2.3: Cho cơ sở dữ liệu giao tác DB trên I, X⊆I, ta định nghĩa bao đóng

của X là: X+ = f(X)

Với cơ cở dữ liệu giao tác ở bảng 2.1 ta có:

A+= ACW vì t(A)=1345 và i(1345) = ACW

C+ = C vì t(C) = 123456 và i(123456) = C

2.2 Khái niệm, tính chất tập mục thường xuyên đóng

Ngày đăng: 16/04/2017, 17:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hoàng Kiếm, Lương Hán Cơ (2004), “Các vấn đề liên quan trong bài toán tìm tập phổ biến đóng”, Hội Thảo Quôc gia lần thứ VII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông, Đà Nẵng Sách, tạp chí
Tiêu đề: Các vấn đề liên quan trong bài toántìm tập phổ biến đóng”, "Hội Thảo Quôc gia lần thứ VII: Một số vấn đề chọn lọc củaCông nghệ thông tin và truyền thông
Tác giả: Hoàng Kiếm, Lương Hán Cơ
Năm: 2004
[2] Hoàng Kiếm, Lương Hán Cơ (2004), “Sử dụng tập phổ biến đóng trong bài toán tìm luật kết hợp”, Hội nghị Khoa học Trường Đại học Khoa học tự nhiên TP.Hồ Chí Minh lần thứ 4 Sách, tạp chí
Tiêu đề: Sử dụng tập phổ biến đóng trong bài toán tìm luật kết hợp
Tác giả: Hoàng Kiếm, Lương Hán Cơ
Nhà XB: Hội nghị Khoa học Trường Đại học Khoa học tự nhiên TP.Hồ Chí Minh lần thứ 4
Năm: 2004
[3] Hoàng Kiếm, Đỗ Phúc (2001), “Phát triển các thuật toán tìm tập phổ biến trong cơ sở dữ liệu”, Hội thảo Quốc gia lần thứ IV: Một số vấn đề chọn lọc của Công nghệ thông tin, Hải Phòng.Tiếng Anh Sách, tạp chí
Tiêu đề: Phát triển các thuật toán tìm tập phổ biến trong cơ sở dữ liệu
Tác giả: Hoàng Kiếm, Đỗ Phúc
Nhà XB: Hội thảo Quốc gia lần thứ IV: Một số vấn đề chọn lọc của Công nghệ thông tin
Năm: 2001
[4] R. Agrawal, T. Imielinski, and A. Swami (1993), "Mining association rules between sets of items in large databases", In FroG. 1993 ACM-SIGMOD Int. Con!Management of Data, pages 207-216, Washington, D.C Sách, tạp chí
Tiêu đề: Mining association rules between sets of items in large databases
Tác giả: R. Agrawal, T. Imielinski, A. Swami
Nhà XB: ACM-SIGMOD
Năm: 1993
[5] J. Pei, J. Han, R. Mao (2000), "CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets", In DMKD '00 Sách, tạp chí
Tiêu đề: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets
Tác giả: J. Pei, J. Han, R. Mao
Nhà XB: DMKD '00
Năm: 2000
[6] J.Wang, J. Han, 1. Pei (2003), "CLOSET+: Searching for the Best Strategies for Mining Frequent Closed Itemsets", In ACM SIGKDD Int'l Conf. On Knowledge Discovery and Data Mining Sách, tạp chí
Tiêu đề: CLOSET+: Searching for the Best Strategiesfor Mining Frequent Closed Itemsets
Tác giả: J.Wang, J. Han, 1. Pei
Năm: 2003
[7] M.J. Zaki ,C. Hsiao (2002), "CHARM: An Efficient Algorithm, for Closed Itemset Mining", In SDM '02 Sách, tạp chí
Tiêu đề: CHARM: An Efficient Algorithm, for ClosedItemset Mining
Tác giả: M.J. Zaki ,C. Hsiao
Năm: 2002
[9] B. Goethals, MJ. Zaki (2003), "FIMI'03: Workshop on Frequent Itemset Mining Implementations", ICDM'03 Sách, tạp chí
Tiêu đề: FIMI'03: Workshop on Frequent ItemsetMining Implementations
Tác giả: B. Goethals, MJ. Zaki
Năm: 2003
[10] J. Han, J. Pei, Y. Yin (2000), "Mining frequent patterns without candidate generation", In Proc. 2000 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD' 00), pages 1-12, Dallas Sách, tạp chí
Tiêu đề: Mining frequent patterns without candidate generation
Tác giả: J. Han, J. Pei, Y. Yin
Nhà XB: Proc. 2000 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD' 00)
Năm: 2000
[11] S. Kotsiantis, D. Kanellopoulos (2006), “Association Rules Mining: A Recent Overview”, GESTS International Transactions on Computer Science and Engineering, Vol. 32, No. 1, pp. 71-82 Sách, tạp chí
Tiêu đề: Association Rules Mining: A Recent Overview
Tác giả: S. Kotsiantis, D. Kanellopoulos
Nhà XB: GESTS International Transactions on Computer Science and Engineering
Năm: 2006
[12] A.Tiwari, R.K. Gupta and D.P. Agrawal. (2010). " A Survey on Frequent Pattern Mining: Current Status and Challenging Issues", Information Technology Journal 9(7), 1278-1293. Asian Network for Scientific Infomation Sách, tạp chí
Tiêu đề: A Survey on FrequentPattern Mining: Current Status and Challenging Issues
Tác giả: A.Tiwari, R.K. Gupta and D.P. Agrawal
Năm: 2010
[13] Apte C., Liu B.&amp;Smyth P., (2004), “Business Applications of Data Mining” Sách, tạp chí
Tiêu đề: Business Applications of Data Mining
Tác giả: Apte C., Liu B.&amp;Smyth P
Năm: 2004
[14] Abdullah Saad Almalaise Alghamdi, (2011), “Efficient Implementation of FP Growth Algorithm-Data Mining on Medical Data”, IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.12, December 2011 Sách, tạp chí
Tiêu đề: Efficient Implementation ofFP Growth Algorithm-Data Mining on Medical Data
Tác giả: Abdullah Saad Almalaise Alghamdi
Năm: 2011
[8] Han J. and Kamber M. (2002), Data Mining: Concepts and Techniques, University of Illinois, Morgan Kaufmann Publishers Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w