FD_Mine: Khám phá
chức năng phụ thuộc vào một cơ sở dữ liệu
Sử dụng tương đồng
Hồng Yao, Howard J.Hamilton và Cory J. Butz
Báo cáo kỹ thuật TR 2002-04
tháng tám năm 2002
Copyright 2002 Ó Hồng Yao, Howard J.Hamilton và Cory J. Butz
Sở Khoa học Máy tính
Đại học Regina
Regina, Saskatchewan
Canada S4S 0A2
ISBN 0-7731-0441-0
2
FD_Mine: Khám phá chức năng phụ thuộc
vào một cơ sở dữ liệu Sử dụng tương đồng
Hồng Yao, Howard J.Hamilton, và Cory Butz
Sở Khoa học máy tính, Đại học Regina
Regina, SK , Canada, S4S 0A2
{yao2hong, hamilton, butz}@cs.uregina.ca
Tóm tắt
chức năng phụ thuộc (FD) theo truyền thống đóng một vai trò quan trọng trong việc thiết kế
cơ sở dữ liệu quan hệ, và các nghiên cứu của FD đã sản xuất một lý thuyết phong phú và thanh lịch. Các
phát hiện của FD từ cơ sở dữ liệu gần đây đã trở thành một vấn đề nghiên cứu quan trọng. Trong
bài báo này, chúng tôi đề xuất một thuật toán mới, được gọi là FD_Mine, cho việc phát hiện ra tất cả các tối thiểu
FD từ một cơ sở dữ liệu. FD_Mine lợi dụng các lý thuyết phong phú của FD để hướng dẫn
tìm kiếm cho FD. Cụ thể hơn, việc sử dụng các lý thuyết FD có thể giảm kích thước của các
tập dữ liệu và số lượng FD để được kiểm tra bằng cách cắt tỉa dữ liệu dư thừa và bỏ qua
tìm kiếm cho FD mà theo logic từ FD đã phát hiện ra. Chúng tôi thấy rằng chúng tôi
là phương pháp âm thanh, đó là, cắt tỉa không dẫn đến mất thông tin. Các thí nghiệm trên
15 bộ dữ liệu UCI cho thấy FD_Mine có thể tỉa các ứng cử viên nhiều hơn các phương pháp trước đó.
Keywords
khai thác dữ liệu, phụ thuộc chức năng, lý thuyết cơ sở dữ liệu quan hệ
1. Giới thiệu
bài báo này đề xuất một phương pháp mới cho việc tìm kiếm phụ thuộc chức năng trong dữ liệu. Một
phụ thuộc hàm (FD) thể hiện một giá trị ràng buộc giữa các thuộc tính trong một mối quan hệ
[7]. Chính thức, cho một giản đồ quan hệ R với X IR và không khí, một phụ thuộc hàm
X
?
A có thể được xác định nếu cho tất cả các cặp tuples t1 và t2 trên R, cho tất cả Bix nếu t1 [B] = t2 [B]
sau đó t1 [ A] = t2 [A]. Nếu A không phải là chức năng phụ thuộc vào bất kỳ tập hợp của X, sau đó
X
A là tối thiểu [5]. Từ nay trở đi, tất cả FD được đề cập trong báo cáo này có thể được giả định là
tối thiểu.
FD đóng một vai trò quan trọng trong lý thuyết quan hệ và thiết kế cơ sở dữ liệu quan hệ [7]. Trong
công việc sớm, các nghiên cứu của FD tập trung vào thực tế là tính nhất quán dữ liệu có thể được
đảm bảo bằng cách sử dụng FD để giảm số lượng dữ liệu dư thừa. FD được thường
thu được từ các mô hình ngữ nghĩa hơn là từ dữ liệu. Nghiên cứu hiện nay là dựa trên
thực tế rằng FD có thể tồn tại trong một bộ dữ liệu độc lập của mô hình quan hệ của các
bộ dữ liệu. Nó rất hữu ích để khám phá những FD. Ví dụ, từ một cơ sở dữ liệu của hóa học
các hợp chất, nó là giá trị để phát hiện ra những hợp chất có chức năng phụ thuộc vào một
thuộc tính cấu trúc nào đó [5]. Ngoài ra, như một loại dữ liệu phụ thuộc [3, 12], một lượng lớn
dữ liệu có thể được chia ra thành một losslessly bộ tập dữ liệu nhỏ hơn sử dụng các phát hiện
FD. Kết quả là, sự phát hiện của FD từ cơ sở dữ liệu gần đây đã trở nên phổ biến một
vấn đề nghiên cứu [2, 4, 5, 6, 8, 11, 12, 13].
3
Nghiên cứu FD là một khía cạnh quan trọng của thiết kế cơ sở dữ liệu quan hệ [7] trong
năm 1980, và đã dẫn đến thành tựu như các tiên đề Armstrong, bìa tối thiểu, đóng cửa
và một thuật toán để phân hủy một lược đồ thành hình thức bình thường thứ ba trong khi bảo quản
phụ thuộc. Các tiên đề Armstrong có thể được nêu ra như là ba nguyên tắc [7]: quy tắc phản chiếu: nếu
YÍX, sau đó X
?
Y; Quy tắc Augmentation: nếu X
?
Y, sau đó XZ
?
YZ; Transitivity quy tắc: nếu
X
?
Y và Y
Z, sau đó X
?
Y. Những quy định này có thể được áp dụng nhiều lần để suy ra tất cả FD
ngụ ý bởi một tập hợp các FD.
lý thuyết cơ sở dữ liệu quan hệ là cơ sở cơ bản cho các thuật toán FD_Mine.
Kết hợp kiến thức miền và thuật toán khai thác dữ liệu là tốt hơn so với sử dụng hoặc là
một mình. Các thuật toán Apriori [1] cho việc khám phá tập phổ biến có thể được sử dụng để tìm
FD từ một tập dữ liệu bằng cách thiết lập để hỗ trợ tối thiểu 2 / n, trong đó n là số
trường hợp trong các bộ dữ liệu. Trong trường hợp này, các FD phát hiện ra là các luật kết hợp với
100% sự tự tin có thể được hình thành từ các tập phổ biến. Thông thường, chỉ một phần nhỏ
của các quy tắc có 100% sự tự tin. Hạn chế này có thể được nhúng vào thuật toán để
tăng hiệu quả, như chúng ta làm trong FD_Mine.
Các thuật toán FD_Mine cải thiện hiệu quả bằng cách cắt tỉa các ứng cử viên không cần thiết. Một
ứng cử viên là một sự kết hợp của các thuộc tính trên một tập dữ liệu. Để xóa các ứng cử viên dư thừa
từ các cơ sở dữ liệu, chúng tôi sử dụng bốn quy tắc cắt tỉa. Ví dụ, nếu FD A
?
B và B
?
A
được phát hiện, sau đó có ứng cử viên tiếp tục chứa B cần được xem xét, vì
các thuộc tính A và B là tương đương. Cắt tỉa này là có giá trị vì số lượng
thí sinh tăng theo cấp số nhân với số lượng các thuộc tính.
Để tỉa thí sinh dự phòng, các mối quan hệ giữa các FD được phân tích. Các thiết lập của
FD có thể được chia thành hai phần: FD có thể được suy ra từ FD phát hiện
sử dụng các lý thuyết cơ sở dữ liệu quan hệ, và những người không có thể. Các thuật toán FD_Mine
chỉ kiểm tra các cơ sở dữ liệu để tìm ra loại thứ hai của FD. Khía cạnh liên quan của quan hệ
lý thuyết cơ sở dữ liệu được thu thập ở đây là bổ đề, định lý, tính chất, quy tắc và cắt tỉa.
Ví dụ, nếu A
?
B và C
?
D được phát hiện để giữ trong cơ sở dữ liệu, sau đó AC
?
BD
cũng phải giữ, vì vậy nó không cần phải được kiểm tra trong cơ sở dữ liệu. Bằng cách loại trừ dư thừa
dữ liệu và cắt tỉa các ứng cử viên, các thuật toán FD_Mine cải thiện hiệu suất khai thác mỏ.
Phần còn lại của bài viết này được tổ chức như sau. Một tuyên bố của vấn đề và một
ví dụ của nó được đưa ra trong phần 2. Trong phần 3, các mối quan hệ giữa FD được phân tích,
và các định nghĩa chính thức, bổ đề, định lý, và các tài sản được đưa ra. Quy tắc cắt tỉa và
thuật toán FD_Mine được trình bày trong phần 4. Một ví dụ cụ thể cũng được thảo luận trong
phần này. Tiếp theo, các kết quả thí nghiệm được trình bày ở phần 5. Cuối cùng, kết luận
được rút ra trong phần 6.
2. Tuyên bố vấn đề
Vấn đề được đề cập trong bài viết này là để tìm tất cả các phụ thuộc hàm giữa các
thuộc tính trong một mối quan hệ cơ sở dữ liệu. Cụ thể, chúng tôi muốn cải thiện về đề xuất trước đó
phương pháp cho vấn đề này.
phương pháp phát hiện sớm cho các FD được dựa trên nhiều lần phân loại và
so sánh các tuple để xác định có hay không những tuples đáp ứng định nghĩa FD. Ví
dụ, trong bảng 2.1, các bộ dữ liệu đầu tiên được sắp xếp trên thuộc tính A, sau đó mỗi cặp tuples
mà có cùng giá trị trên thuộc tính A được so sánh trên thuộc tính B, C, D, E, và đến lượt nó,
để quyết định có hay không A
?
B, A
?
C, A
?
D, hay A
?
E giữ. Sau đó, các bộ dữ liệu được sắp xếp
trên thuộc tính B và kiểm tra để quyết định có hay không B
A, B
?
C, B
?
D hoặc B
?
E giữ.
4
Quá trình này được lặp đi lặp lại cho C, D, E, AB, AC, AD, và vv. Sau khi các ứng cử viên cuối cùng
BCDE đã được kiểm tra, tất cả các FD sẽ được phát hiện. Tất cả các ứng cử viên của năm
thuộc tính được biểu diễn trong hình 2.1.
Nhược điểm của phương pháp này là nó không sử dụng các FD phát hiện như là
kiến thức để có được kiến thức mới. Nếu A
?
B đã được phát hiện, kiểm tra vẫn đang được thực hiện
để xác định có hay không AC
?
B giữ, bằng cách phân loại trên thuộc tính AC và so sánh trên
thuộc tính B. Thay vào đó, AC
?
B có thể được suy ra trực tiếp từ thu được trước đây A
?
B
mà không cần phân loại và so sánh các tuple nữa. Cách tiếp cận này là không hiệu quả vì điều này
phân loại phụ và vì nó cần phải kiểm tra tất cả các giá trị của các ứng cử viên thuộc tính để
quyết định có hay không một FD giữ. Kết quả là, phương pháp này là rất nhạy cảm với các
số tuples và các thuộc tính. Nó là không thể thực hiện cho một tập dữ liệu lớn.
ABCDE
t1 0 0 0 1 0
0 1 0 t2 1 0
t3 0 2 0 1 2
t4 0 3 1 1 0
t5 4 1 1 2 4
t6 4 3 2 1 2
t7 0 0 1 0 0
Bảng 2.1 Một bộ dữ liệu ví dụ.
Hình 2.1 Lattice cho 5 thuộc tính.
giấy tờ gần đây đã đề xuất các thuật toán mà không sắp xếp trên bất kỳ thuộc tính hay so sánh
bất kỳ giá trị. Mannila et al. [8, 9, 10] giới thiệu các khái niệm về một phân vùng, và được xếp
tuples mà có cùng giá trị cho một thuộc tính vào cùng một nhóm. Vấn đề
xác định có hay không một FD giữ trên một tập dữ liệu cho trước có thể được giải quyết bằng cách so sánh
số lượng các nhóm trong phân vùng cho các thuộc tính khác nhau. Đối với các bộ dữ liệu r, thể hiện
trong Bảng 2.1, các phân vùng cho thuộc tính A có thể được ký hiệu là
П
A (r) = {{t1, t2, t3, t4, t7}, {t5,
5
t6}}. Vì các giá trị của các tuple t1, t2, t3, t4, t7 và trên thuộc tính A là tất cả như nhau, họ
được giao cho cùng một nhóm. Tương tự như vậy, bởi vì giá trị của t5 và t6 là như nhau,
chúng được đặt trong một nhóm khác. Các phân vùng cho các AD kết hợp thuộc tính cho Bảng
2.1 là
П
AD (r) = {{t1, t2, t3, t4, t7}, {t5, t6}}. Cardinality của phân vùng |
П
A (r) |, mà là
số lượng các nhóm trong phân vùng
П
A, là 2, và |
П
AD (r) | là 2 quá. Bởi vì |
A (r) | bằng
để |
AD (r) |, A
?
D có thể được thu được [5].
Algorithm Tane [5] sử dụng khái niệm phân vùng để khám phá FD. Ngoài ra, các thiết lập của
các ứng cử viên được tỉa dựa trên FD phát hiện. Ví dụ, nếu AC
?
B đã được
phát hiện, sau đó ACD
?
B và ACDE
?
B có thể được suy ra từ AC
?
B mà không cần kiểm tra
dữ liệu, vì vậy ứng viên ACD và ACDE là thừa. Theo các phụ thuộc trong
một tập dữ liệu, chỉ là một phần của mạng tinh thể hiện trong hình 2.1 có thể cần phải được đi qua để
tìm tất cả các FD trong mối quan hệ.
Algorithm FUN [11, 12] sử dụng một thủ tục kiểm tra cho FD nhúng, mà là
FD mà giữ trên chiếu của bộ dữ liệu. Bằng cách sử dụng FD nhúng, các ứng cử viên khác
có thể được bỏ bớt. Ví dụ, giả sử rằng A
?
B nắm giữ trên ABC. Nếu |
П
AB (r) |> |
П
BC (r) |,
sau đó BC
?
A không giữ trên ABC. Trên tập dữ liệu tổng hợp, có tỷ lệ tương quan của 30%
đến 70%, FUN là nhanh hơn so với Tane. Rõ ràng, FUN đã không được thử nghiệm trên bất kỳ bộ dữ liệu UCI.
Nghiên cứu của chúng tôi giải quyết hai câu hỏi liên quan. Đầu tiên, có thể thông tin khác từ
FD phát hiện được sử dụng để tỉa các ứng cử viên nhiều hơn phương pháp trước đây? Thứ hai,
cắt tỉa này có thể được thực hiện sao cho hiệu quả tổng thể của thuật toán được cải thiện? Chúng tôi
giải quyết cả những vấn đề này bằng cách xem xét thêm các tính chất lý thuyết của FD,
việc xây dựng các thuật toán FD_Mine để tận dụng lợi thế của các đặc tính này, và thử nghiệm các
thuật toán trên một loạt các bộ dữ liệu.
3. Một lý thuyết
đang được dịch, vui lòng đợi..