1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU CHỨC NĂNG KHAI PHÁ DỮ LIỆU TRONG MS SQL SERVER 2008 ỨNG DỤNG BÀI TOÁN HỖ TRỢ SINH VIÊN CHỌN MÔN CHUYÊN NGÀNH PHÙ HỢP

34 985 1

Đ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 34
Dung lượng 874,57 KB

Nội dung

Với những lý do nhưvậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng khôngđáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuậ

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

NGÀNH PHÙ HỢP

Giảng viên hướng dẫn : PGS TS Đỗ Phúc

Sinh viên thực hiện: Đỗ Thị Nhung

Mã số SV: CH1101117

TP Hồ Chí Minh, tháng 11 năm 2012

Trang 2

LỜI CẢM ƠN



Sau hơn 1 tháng nghiên cứu và tìm tòi, em đã hoàn thành bài thu hoạch này Để đạt được kết quả này, em đã nỗ lực hết sức đồng thời cũng nhận được rất nhiều sự quan tâm, giúp đỡ, ủng hộ của các quí Thầy Cô và các bạn

Trước hết, chúng em xin gửi lời cảm ơn chân thành đến Khoa Công Nghệ PhầnMềm, Khoa Mạng Máy Tính, trường Đại học Công Nghệ Thông Tin và các quí Thầy Cô

đặc biệt là PGS TS Đỗ Phúc đã tận tình hướng dẫn, giảng giải và cho em nguồn cảm

hứng đến với môn học và rộng hơn là cảm hứng trong nghiên cứu khoa học

Tôi cũng rất cảm ơn bạn bè trong Khoa đã luôn bên cạnh và ủng hộ, đóng góp ý kiến giúp tôi có thể giải quyết các vấn đề khó khăn gặp phải trong quá trình thực hiện báo cáo cuối kì này

Mặc dù đã rất nỗ lực, cố gắng nhưng kiến thức còn hạn chế nên chắc chắn báo cáo cuối kì này vẫn còn nhiều thiếu sót, và thực sự chưa phải là một báo cáo hoàn thiện Tôi rất mong nhận được sự góp ý đánh giá của quí Thầy Cô, của các bạn để tôi có thể phát triển báo cáo này thêm hoàn chỉnh hơn

Một lần nữa, em xin chân thành cảm ơn!

TPHCM, Tháng 11 năm 2012Sinh viên thực hiện

Đỗ Thị Nhung

Trang 3

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

Trang 4

MỤC LỤC

PHẦN I: CƠ SỞ LÝ THUYẾT 5

I Tổng quan 5

II Một số khái niệm cơ bản 6

1) Khái niệm về khai phá dữ liệu (datamining) và ứng dụng 6

2) Các hướng tiếp cận khai phá dữ liệu (datamining) 9

3) Các phương pháp khai phá dữ liệu (data mining) 9

III Luật kết hợp 12

1) Khái niệm về luật kết hợp 12

2) Một số tính chất của tập mục phổ biến và luật kết hợp 12

3) Ý tưởng về tìm luật kết hợp: 15

4) Thuật toán Apriori 15

PHẦN II TÌM HIỂU CÁC CHỨC NĂNG KHAI PHÁ DỮ LIỆU TRONG MS SQL SERVER 2008 20

I Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 20

1) Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 20

2) Tổng quan về SQL Server Integration Service(SSIS) 22

3) Tổng quan về SQL Server Analysis Service 23

4) Tổng quan về ngôn ngữ truy vấn MDX 25

5) Tổng quan về SQL Server Reporting Services 28

PHẦN III: CÀI ĐẶT ỨNG DỤNG: 30

KHAI THÁC LUẬT KẾT HỢP ÁP DỤNG VÀO BÀI TOÁN HỖ TRỢ SINH VIÊN CHỌN MÔN CHUYÊN NGÀNH PHÙ HỢP 30

I Đặt vấn đề 30

II Các bước thực hiện chương trình 30

III Kết luận và đánh giá kết quả 34

Trang 5

PH N I: ẦN I: C S LÝ THUY T Ơ SỞ LÝ THUYẾT Ở LÝ THUYẾT ẾT

I Tổng quan

Ngày nay, chúng ta đang sống trong thế kỷ bùng nổ về khoa học công nghệ mà đặc biệt là

sự phát triển vượt bậc về công nghệ tông tin Công nghệ thông tin và việc ứng dụng côngnghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm quacũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tíchluỹ nhiều lên 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ồ, như các dữ liệu ngân hàng, hàng không, giáo dục.….Cùng với sự phát triển mạnh mẽ của công nghệ, các thiết bị lưu trữ và các thiết bị thuthập thông tin tự động đã cho phép xây dựng được những hệ thống thông tin có khả năng

tự động hoá ngày càng cao

Vấn đề đặt ra là làm thế nào để xử 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úi dữ liệu khổng lồ này Những tri thức thu được như vậychúng được chuyên môn hoá, phân chia theo các lĩnh vực ứng dụng như sản xuất, kinhdoanh, tài chính, nghiên cứu… Các cơ sở dữ liệu cần phải đem lại tri thức hơn là chính

Trang 6

II Một số khái niệm cơ bản

1) Khái ni m v khai phá d li u (datamining) và ng d ng ệm về khai phá dữ liệu (datamining) và ứng dụng ề khai phá dữ liệu (datamining) và ứng dụng ữ liệu (datamining) và ứng dụng ệm về khai phá dữ liệu (datamining) và ứng dụng ứng dụng ụng

Trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độnhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất địnhtính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Với những lý do nhưvậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng khôngđáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuậtphát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and DataMining).Với những ưu điểm đó, khai phá dữ liệu đang được áp dụng một cách rộng rãitrong nhiều lĩnh vực kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng

và bảo hiểm, khoa học, y tế, an ninh, internet… Kỹ thuật phát hiện tri thức và khai phá dữliệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nướctrên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang đượcnghiên cứu và dần đưa vào ứng dụng Khai phá dữ liệu (Data Mining) được định nghĩalà: quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu đượclưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người

ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ CSDL(knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích

dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology),nạo vét dữ liệu(data dredging)

Quá trình này bao gồm các bước sau:

a) Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích

hợp

b) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau

như: CSDL, Kho dữ liệu, file text

c) Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan trực tiếp

đến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu

d) Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được

chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tácnhóm hoặc tập hợp

e) Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương

pháp thông minh sẽ được áp dụng để trích xuất ra các mẫu dữ liệu

f) Đá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

Trang 7

Pattern Discovery

Transformed Data

Cleansed PreprocessedPreparated

Đây là mô hình minh họa cho các quá trình khai thác dữ liệu :

Một số ứng dụng kỹ thuật khai phá dữ liệu trong viễn thông

Trang 8

g Trình diễn dữ liệu (knowlegde 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 khaiphá được cho người sử dụng Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiềungành học khác như: hệ CSDL, thống kê, trực quan hóa Hơn nữa, tuỳ vào cách tiếp cậnđược sử dụng, khai phá dữ liệu còn có thể áp dụng một số kĩ thuật như mạng nơ ron, líthuyết tập thô hoặc tập mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữliệu có một số ưu thế rõ rệt:

So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữliệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổiliên tục Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy

đủ, ít biến động và tập dữ liệu không quá lớn Phương pháp hệ chuyên gia: phương phápnày khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức chất lượngcao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được cáctrường hợp quan trọng Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích củacác mẫu phát hiện được Phương pháp thống kê là một trong những nền tảng lí thuyết củaKhai phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phươngpháp thống kê còn tồn tại một số điểm yếu mà Khai phá dữ liệu đã khắc phục được: Cácphương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rấtnhiều các CSDL Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không

sử dụng tri thức sẵn có về lĩnh vực Kết quả phân tích của thống kê có thể sẽ rất nhiều vàkhó có thể làm rõ được Phương pháp thống kê cần có sự hướng dẫn của người dùng đểxác định phân tích dữ liệu như thế nào và ở đâu…

2) Các h ướng ti p c n khai phá d li u (datamining) ng ếp cận khai phá dữ liệu (datamining) ận khai phá dữ liệu (datamining) ữ liệu (datamining) và ứng dụng ệm về khai phá dữ liệu (datamining) và ứng dụng

- Phân lớp và dự đoán (classification & prediction) : xếp đối tượng vào một trong các

lớp đã biết trước Ví dụ : phân lớp loại cước hoặc loại dịch vụ dựa trên số máy bị gọi củacuộc gọi, phân lớp khu vực dựa trên số máy chủ gọi, phân lớp giờ cao điểm, thấp điểmdựa trên giờ bắt đầu đàm thọai.v.v

Hướng tiếp cận phân lớp có giám sát (supervised learning) 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 (neuralnetwork) v.v

Trang 9

- Luật kết hợp (association rules) : là dạng luật biểu diễn tri thức ở dạng tương đối

đơn giản Luật kết hợp có khả năng ứng dụng trong nhiều lĩnh vực khác nhau trong đó cólĩnh vực viễn thông

- 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ời gian 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ện của biến cố X sẽ dẫn đến việc xuất hiệnbiến cố Y Hướng tiếp cận này có tính dự báo cao

- Phân cụm (clustering/segmentation) : Sắp xếp các đối tượng theo từng cụm (số

lượng và tên của cụm chưa được biết trước) Các đối tượng được gom cụm sao cho mức

độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Phân cụm còn được gọi là học không có giám sát (unsupervised learing)

3) Các ph ương pháp khai phá dữ liệu (data mining) ng pháp khai phá d li u (data mining) ữ liệu (datamining) và ứng dụng ệm về khai phá dữ liệu (datamining) và ứng dụng

Quá trình khai phá dữ liệu là quá trình phát hiện mẫu trong đó giải thuật khai phá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây phân lớp, hồi quy, phân nhóm,…

1 Ph ương pháp quy nạp (Induction) ng pháp quy n p (Induction) ạp (Induction)

Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó Có hai việc chính để thực hiện việc này là suy diễn và quy nạp

- Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông tin

trong cơ sở dữ liệu Ví dụ như toán tử liên kết áp dụng cho hai bảng quan hệ, bảng đầu chứa thông tin về các nhân viên và các phòng ban, bảng thứ hai chứa thông tin

về các phòng ban và các trưởng phòng Như vậy sẽ suy ra mối quan hệ giữa các nhân viên và trưởng phòng Phương pháp suy diễn dựa trên các sự kiện chính xác

để suy ra các tri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn

- Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra từ

cơ sở dữ liệu Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đemlại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu Phương pháp này liên quan đến việc tìm kiếm các mẫu trong cơ sở dữ liệu.Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật

Trang 10

2 Cây quy t đ nh và lu t: ết định và luật: ịnh và luật: ật:

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model),

nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị

mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứng với một

biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loạicòn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó[1] Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo mộtkiểm tra giá trị thuộc tính [1] Quá trình này được lặp lại một cách đệ qui cho mỗi tập condẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn

xuất Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định

để có thể cải thiện tỉ lệ phân loại

Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác suất có điều kiện

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước

Dữ liệu được cho dưới dạng các bản ghi có dạng:

(x, y) = (x 1 , x 2 , x 3 , x k , y)

Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa x 1 , x 2 , x 3 là các biến sẽ giúp ta thực hiện công việc đó

Các kiểu cây quyết định

Cây quyết định còn có hai tên khác:

- Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là số thực thay vì

được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)

- Cây phân loại (Classification tree), nếu y là một biến phân loại như: giới tính

(nam hay nữ), kết quả của một trận đấu (thắng hay thua)

Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt

thống kê Các luật có dạng Nếu P thì Q với P là mệnh đề đúng với phần dữ liệu trong cơ

sở dữ liệu, Q là mệnh đề dự đoán Ví dụ ta có một mẫu phát hiện được bằng phương pháp

Trang 11

tạo luật: Nếu giá 1 cân táo thấp hơn 5000 đồng thì số lượng táo bán ra sẽ tăng 5% Nhữngluật như thế này được sử dụng rất rộng rãi trong việc miêu tả tri thức trong hệ chuyên gia.Chúng có thuận lợi là dễ hiểu đối với người sử dụng.

Cây quyết định và luật có ưu điểm là hình thức miêu tả đơn giản, mô hình suy diễn khá

dễ hiểu đối với người sử dụng Tuy nhiên, giới hạn của nó là miêu tả cây và luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độ chính xác của mô hình Cho đến nay, đã có rất nhiều giải thuật suy diên sử dụng các luật và cây quyết định được áp dụng trong máy học và trong thống kê

3 Phân nhóm và phân đo n (clustering and segmentation): ạp (Induction)

Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao cho mỗi phần hoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó Mối quan hệ thành viên của các nhóm có thể dựa trên mức độ giống nhau của các thành viên và từ đó xây dựng nên các luật ràng buộc giữa các thành viên trong nhóm Một kỹ thuật phân nhóm khác là xây dựng nên các hàm đánh giá thuộc tính của các thành phần như là hàm của các tham số của các thành phần Phương pháp này được gọi là phương pháp phân hoạch tối ưu

(optimal partitioning) Một ví dụ ứng dụng của phương pháp phân nhóm theo độ giống nhau là cơ sở dữ liệu khách hàng, ứng dụng của phương pháp tối ưu ví dụ như phân nhóm khách hàng theo số các tham số và các nhóm thuế tối ưu có được khi thiết lập biểu thuế bảo hiểm

Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫu chứa các

dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu Khi các mẫu được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu ở dạng dễ hiểu hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như công việc phân tích Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan trọng

III Luật kết hợp

1) Khái ni m v lu t k t h p ệm về khai phá dữ liệu (datamining) và ứng dụng ề khai phá dữ liệu (datamining) và ứng dụng ận khai phá dữ liệu (datamining) ếp cận khai phá dữ liệu (datamining) ợp

Gọi I = {I 1 , I 2, , I m} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục Gọi D

là một cơ sở dữ liệu, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục, T I.

mục gọi là itemsets, và X ∩Y =φ Ở đây, X được gọi là tiền đề, Y là mệnh đề kết 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).

Trang 12

4) M t s tính ch t c a t p m c ph bi n và lu t k t h p ột số tính chất của tập mục phổ biến và luật kết hợp ố tính chất của tập mục phổ biến và luật kết hợp ất của tập mục phổ biến và luật kết hợp ủa tập mục phổ biến và luật kết hợp ận khai phá dữ liệu (datamining) ụng ổ biến và luật kết hợp ếp cận khai phá dữ liệu (datamining) ận khai phá dữ liệu (datamining) ếp cận khai phá dữ liệu (datamining) ợp

1 M t s tính ch t v i t p m c ph bi n: ột số tính chất với tập mục phổ biến: ố tính chất với tập mục phổ biến: ất với tập mục phổ biến: ới tập mục phổ biến: ật: ục phổ biến: ổ biến: ết định và luật:

Giả sử A và B là các tập mục phổ biến, các tính chất của tập mục phổ biến như sau:

(1) Tính chất 1 : Nếu A B thì supp(A) ≥ supp(B).

Vì tất cả các tác vụ trong D hỗ trợ B thì cũng hỗ trợ A.

(2) Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến

(nếu A không phổ biến thì B cũng không phổ biến).

Chứng minh: Nếu A B thì supp(A) ≥ supp(B) (theo tính chất 1) mà supp(A)<minsupp thì supp(B)<minsupp.

(3) Tính chất 3: Các tập con của một tập phổ biến cũng là tập phổ biến (nếu A là tập

phổ biến thì B cũng là tập phổ biến)

Nếu B là tập phổ biến trong D tức: supp(B)  minsup Khi đó mọi tập con A của

B cũng là phổ biến trong D vì supp(A) ≥ ( supp(B) ≥ minsup (theo tính chất 1).Trường hợp đặc biệt, nếu tập A={i1,i2, , ik} là tập phổ biến thì mọi tập con có(k-1) mục của nó cũng là phổ biến Lưu ý ngược lại là không đúng

4 M t s tính ch t v i lu t k t h p: ột số tính chất với tập mục phổ biến: ố tính chất với tập mục phổ biến: ất với tập mục phổ biến: ới tập mục phổ biến: ật: ết định và luật: ợp:

Tính chất 1 : Không hợp các luật kết hợp.

Nếu X  Z và Y Z trong D thì không nhất thiết (XY) Z là đúng

Xét trường hợp XY= và các tác vụ trong D hỗ trợ Z nếu chỉ nếu chúng hỗ trợ mỗi

X hoặc Y, khi đó luật XY Z có độ tin cậy là 0%

Tương tự: X  Y và X  Z thì không nhất thiết X Y  Z

Trang 13

supp(X)>supp(XY) và supp(Y)>supp(XY) thì hai luật riêng biệt sẽ không đủ độtin cậy

Tuy nhiên, đảo lại: X  Y  Z  X  Y  X  Z

Tính chất 3 : Các luật kết hợp không có tính chất bắc cầu.

Nếu X  Y và Y  Z chúng ta không thể suy ra X Z

Ví dụ: Giả sử T(X)(T(Y)(T(Z) tương ứng là tập các tác vụ chứa X,Y,Z và độ tin cậycực tiểu là minconf, conf(XY)=conf(YZ)=minconf

Cũng như vậy: Nếu có luật (L-C)C thì ta cũng có luật (L-D)D, với D C và D≠

Vì D  C nên (L-D)  (L-C), do đó supp(L-D) ≤ supp(L-C)

sup p( L ) sup p( L−D)

sup p ( L) sup p ( L−C ) ≥min conf

Tức là: conf((L-D)D ≥ conf((L- C)  C) ≥ minconf

Các tính chất này sẽ được sử dụng trong thuật toán mô tả ở các phần sau

5 Đ h tr ột số tính chất với tập mục phổ biến: ỗ trợ ợp:

Một tập mục có khả năng là phổ biến và cần phải xác định độ hỗ trợ của nó trong quátrình duyệt dàn được gọi là một tập mục ứng cử viên Một hướng tiếp cận phổ biến để xácđịnh giá trị hỗ trợ của một tập mục là đếm các thể hiện của nó trong CSDL Với mục đích

Trang 14

đó, một biến đếm được tạo ra và khởi tạo bằng 0 cho mỗi tập mục đang duyệt Sau đó,quét qua tất cả các tác vụ và khi tìm được một ứng cử viên là tập con của một tác vụ thìtăng biến đếm của nó lên Thông thường, tập con tạo ra và bảng tìm kiếm ứng cử viênđược tích hợp và cài đặt bằng một cây băm hay một cấu trúc dữ liệu tương ứng.

Như vậy, không phải tất cả các tập con của mỗi tác vụ đều được tạo ra mà chỉnhững tác vụ có chứa trong các ứng cử viên hoặc có một tiền tố chung với ít nhất mộtứng cử viên mới được tạo ra

Một hướng tiếp cận khác để xác định giá trị hỗ trợ của các ứng cử viên là sử dụnggiao tập hợp Một TID là một khoá-biến nhận dạng tác vụ duy nhất Với một phần tử đơngiản, tidlist là tập hợp của các biến nhận dạng tương ứng với các tác vụ có chứa phần tửnày Do đó, các tidlist cũng tồn tại cho mỗi tập mục X và được biểu diễn bởi X.tidlist.Phần tử tidlist của một ứng cử viên C=XY xác định bởi: C.tidlist=X.tidlist Y.tidlist.Trong đó các tidlist được sắp xếp theo thứ tự tăng dần để các phép giao được hiệu quả

Bằng cách dùng vùng đệm cho tidlist của các ứng cử viên phổ biến như là các kết quả trung gian, có thể tăng đáng kể tốc độ phát sinh tidlist cho các ứng cử viên tiếp theo Cuối cùng các độ hỗ trợ thực sự của ứng cử viên chính là |C.tidlist|

5) Ý t ưởng về tìm luật kết hợp: ng v tìm lu t k t h p: ề khai phá dữ liệu (datamining) và ứng dụng ận khai phá dữ liệu (datamining) ếp cận khai phá dữ liệu (datamining) ợp

- Rất tự nhiên, khi tìm kiếm các luật kết hợp trên cơ sở dữ liệu, người ta

thường đặt ra một giới hạn về độ support và confidence của các luật tìm được gọi

là minsup và minconf Chỉ những luật nào có độ support lớn hơn minsup và độ

confidence lớn hơn minconf mới được quan tâm Như vậy bài toán tìm luật kếthợp dương sẽ được phát biểu là :

Tìm tất cả các luật R : X  Y sao cho support(R) > minsup và confidence(R)

Với mọi A là tập con của S i & A khác rỗng

if (conf (A (Si - A)) >= minconf)

Trang 15

thêm A vào X return X

6) Thu t toán Apriori ận khai phá dữ liệu (datamining)

Ý tưởng:

- Apriori là một thuật giải được do Rakesh Agrawal, Tomasz Imielinski,

Arun Swami đề xuất lần đầu vào năm 1993 Thuật toán tìm giao dịch t có độ hỗ

trợ và độ tin cậy thoả mãn lớn hơn một giá trị ngưỡng nào đó

- Thuật toán được tỉa bớt những tập ứng cử viên có tập con không phổ biến

trước khi tính độ hỗ trợ

- Thuật toán Apriori tính tất cả các tập ứng cử của tập k trong một lần duyệt

CSDL Apriori dựa vào cấu trúc cây băm Tìm kiếm đi xuống trên cấu trúc cây

mỗi khi ta chạm lá, ta tìm được một tập ứng cử viên có tiền tố chung được baogồm trong giao dịch Sau đó các tập ứng cử này được tìm trong giao dịch đã đượcánh xạ trước đó Trong trường hợp tìm thấy biến đếm được tăng lên 1

điển Gọi số các mục trong một tập mục là kích thước của nó và gọi tập mục cókích thước k là tập k-mục (tập k mục) Các mục trong mỗi tập mục cũng được giữ

ở trật tự từ điển Ta sử dụng các ký hiệu sau:

o Lk: Tập các tập k-mục phổ biến (với độ hỗ trợ cực tiểu minsup nào đó)

o Ck : Tập các tập k-mục ứng cử (các tập mục phổ biến tiềm năng)

Trang 16

12 k++;

13 }

14 Return L= k L k' ;

// sinh ứng cử viên mới (**)

Void apriori_gen(L k-1 , minsup )

2 if(s  Lk-1) return TRUE;

3 else return FALSE ;

4 }

Giải thích:

- Lần duyệt đầu tiên, sẽ tính số lần xuất hiện của mỗi mục để xác định các

1-itemset phổ biến Lần duyệt thứ k (k  2) sẽ bao gồm 2 giai đoạn:

o Tập phổ biến L k-1 đã tìm thấy ở lần duyệt thứ k-1 được sử dụng để sinh

ra các tập ứng cử viên C k bằng việc sử dụng hàm Apriori_gen Dựa vào CSDL, tính độ hỗ trợ của các ứng của viên trong C k Các ứng cử viên trong C k

được chứa trong giao dịch t có thể được xác định một cách hiệu quả bằng việc

sử dụng cây băm được mô tả như sau:

o Trong giai đoạn 2 (giai đoạn sửa, tỉa): xoá bỏ các tập c C k sao cho một

vài (k-1) – tập con của c không nằm trong L k-1 Thủ tục này là đầy đủ bởi đối

với bất kì tập nào L k với độ hỗ trợ tối thiểu thì các tập con kích cỡ (k-1) cũng có

độ hỗ trợ tối thiểu, do đó nếu ta mở rộng mỗi tập trong L k-1 với tất cả các tập

mục có thể và sau đó xoá tất cả các tập mà (k-1) – tập con của nó không nằm trong L k-1, ta sẽ nhận được tập các tập trong Lk.

Trang 17

- Việc kết nối là tương đương với việc mở rộng L k-1 với mỗi mục nằm trong

CSDL và sau đó xoá bỏ các tập này mà đối với nó (k-1) –itemset nhận được bằng việc xoá đi mục thứ (k-1) không nằm trong L k-1 Ở giai đoạn này C k L k Với lập

luận như vậy, giai đoạn tỉa là giai đoạn người ta xoá khỏi C k tấtcả các tập mà các

(k-1) tập con của nó không nằm trong L k-1 , cũng không xoá bất kỳ một tập nào có

thể nằm trong L k

nút của cây này hoặc là chứa một danh sách của các tập (nút lá) hoặc bảng băm

( một nút trong) Trong mỗi một nút trong, mỗi cụm (bucket) của bảng băm chỉ

đến một nút khác Gốc của cây băm được xem ở độ sâu là 1 Một nút trong ở độ

sâu d sẽ dẫn đến nút ở độ sâu d+1 Các tập được lưu trữ trong các lá Khi ta bổ sung thêm một tập c, ta bắt từ nút gốc và đi xuống cây cho đến khi ta chạm vào một lá Tại một nút ở độ sâu d, ta quyết định sẽ đi theo cành nào bằng việc áp dụng hàm băm đối với mục thứ d của tập đó và theo con trỏ trong Bucket tương

ứng Tất cả các nút ban đầu được tạo ra như là nút lá Khi số các tập trong một nút

lá vượt quá ngưỡng được chọn, nút lá này được chuyển thành một nút trong

- Bắt đầu từ nút gốc, hàm Subset tìm tất cả các ứng cử viên được chứa trong

giao dịch t như sau: Nếu ta bắt đầu tại một lá, ta tìm những tập trong nút lá này

được chứa trong giao dịch t và bổ sung các mối quan hệ với chúng đối với tập kết

quả mong muốn Nếu ta đang ở một nút trong và ta đến được nó bằng việc băm

mục i, ta băm trên mỗi mục đi sau i trong t và áp dụng một cách đệ quy thủ tục đó đối với nút này trong Bucket tương ứng Đối với nút gốc, ta băm theo mỗi mục trong t.

- Để thấy được tại sao hàm Subset trả lại tập các tham khảo mong muốn hãy

để ý đến những gì sẽ xảy ra tại nút gốc Đối với bất kỳ tập c nào được chứa trong giao dịch t, mục đầu tiên cần phải có trong t Tại nút gốc, việc băm mọi mục trong

t đảm bảo được rằng ta chỉ không biết các tập mà nó bắt đầu với một mục không

nằm trong t Những lí luận tương tự áp dụng cho các mức sâu hơn Vì các mụctrong bất kì tập nào cũng được sắp thứ tự, nếu ta đến được một nút hiện tại bằng

việc băm mục i, ta chỉ cần quan tâm đến những mục trong t nó xuất hiện sau i.

Ngày đăng: 10/04/2015, 00:17

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w