Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
1,22 MB
Nội dung
i Lời cảm ơn Trước tiên, xin gửi lời cảm ơn đến tất quý thầy cô giảng dạy chương trình Cao học Trường Đại học Công nghệ thông tin truyền thông tổ chức, người truyền đạt cho kiến thức hữu ích khoa học máy tính làm sở cho thực tốt luận văn Tôi xin chân thành cảm ơn PGS TS Đỗ Trung Tuấn tận tình hướng dẫn cho thời gian thực luận văn Mặc dù trình thực luận văn có giai đoạn không thuận lợi Thầy hướng dẫn, bảo cho nhiều kinh nghiệm thời gian thực đề tài Tôi xin gửi lời cảm ơn đến tất Thầy Cô làm việc Phòng khám đa khoa trường Cao đẳng Y tế Phú Thọ tận tình giúp đỡ việc thu thập thông tin, lấy số liệu bệnh thuốc làm sở liệu cho luận văn Sau xin gửi lời biết ơn sâu sắc đến anh chị lớp gia đình tạo điều kiện tốt cho suốt trình học thực luận văn Do thời gian có hạn kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận văn nhiều thiếu sót, mong nhận ý kiến góp ý Thầy/Cô anh chị học viên Phú Thọ, tháng năm 2015 Học viên Vy Đại Nghĩa ii Lời cam đoan Tôi cam đoan kết luận văn việc tìm hiểu, có trích dẫn tham chiếu đến nguồn tư liệu tin cậy Nội dung luận văn không chép từ kết luận văn, luận án khác iii MỤC LỤC Lời cảm ơn i Lời cam đoan .ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG, HÌNH VẼ vi MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ PHÁT HIỆN MỐI QUAN HỆ GIỮA CÁC DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU 1 Mục tiêu việc phát mối quan hệ liệu Các bước trình khai phá tri thức Các dạng liệu khai phá Các hướng tiếp cận khai phá liệu Phân loại ứng dụng hệ thống khai phá liệu 11 Phân loại hệ thống khai phá liệu 11 Ứng dụng khai phá liệu 11 Kết luận chương 12 CHƯƠNG 13 MỘT SỐ MỐI QUAN HỆ DỮ LIỆU ĐƯỢC PHÁT HIỆN THÔNG QUA NGÔN NGỮ TRUY VẤN 13 Luật kết hợp 13 1 Các khái niệm 13 2 Bài toán khai phá luật kết hợp 16 2 Khai thác tập phổ biến dựa ngôn ngữ truy vấn 17 2 Ngôn ngữ truy vấn 17 2 Tìm tập phổ biến K-way join 19 2 Kết thử nghiệm phương pháp đếm độ hỗ trợ 26 iv 2 Phân tích cải tiến thuật toán k-way join 31 2 Phát sinh luật kết hợp 36 2 Rút luật kết hợp 40 Kết luận chương 47 CHƯƠNG 48 ỨNG DỤNG TRONG TÍNH TOÁN THỬ NGHIỆM 48 Các toán 48 1 Bài toán tìm luật kết hợp dạng X Y 48 Bài toán tìm độ hỗ trợ độ tin cậy luật 49 3 Bài toán đánh giá độ tin cậy luật theo ngưỡng 50 Giải pháp giúp thực toán 51 Chương trình thử nghiệm 53 Cơ sở liệu toán 54 2 Kết khai phá liệu thực toán 55 3 Kết luận chương 61 KẾT LUẬN 63 PHỤ LỤC 64 TÀI LIỆU THAM KHẢO 71 v DANH MỤC CÁC TỪ VIẾT TẮT ADO Active X Data Object ANSI Chuẩn quốc gia Hoa Kì Client/ server Khách/ chủ confidence Độ tin cậy CSDL Cơ sở liệu DB2 Tên hệ quản trị sở liệu IBM DBMS Hệ quản trị sở liệu HQTCSDL Hệ quản trị sở liệu ISO Tổ chức tiêu chuẩn hóa quốc tế MOLAP multidimensional OLAP OLAP Online Analysis Processing ORACLE Tên công ty ORACLE, tên hệ quản trị sở liệu ROLAP Relational OLAP SQL Ngôn ngữ truy vấn support Độ hỗ trợ, trợ giúp vi DANH MỤC CÁC BẢNG, HÌNH VẼ Hình Thí dụ xử lí liệu y tế trường Cao đẳng Y tế Phú Thọ Hình 1: Các bước trình khai phá tri thức Hình 2: Các kiến trúc khai phá tích hợp với sở liệu Hình 3: Kiến trúc gắn kết lỏng Hình 4: Kiến trúc thủ tục nội hàm người dùng định nghĩa 10 Hình 5: Kiến trúc dựa truy vấn SQL 10 Hình 1: Minh họa luật kết hợp 15 Bảng 1: Cấu trúc bảng ban đầu 20 Bảng 2: Cấu trúc bảng dùng để khai khác 20 Hình 2: Tiến trình phát sinh tập ứng viên Ck 22 Hình 2: Đếm độ hỗ trợ cách tiếp cận K-way Join 23 Hình 3: Biểu đồ hình cho Sub Query Qi 25 Hình 4: Đồ thị thời gian thực thi thuật toán minsup=10% D=100000 27 Hình 5: Đồ thị thời gian thực thi thuật toán minsup=10% D=50000 27 Hình 7: Đồ thị thời gian thực thi thuật toán minsup=10% D=10000 28 Hình 6: Đồ thị tổng hợp thời gian thực thi thuật toán minsup lớn 28 Hình 7: Đồ thị thời gian thực thi thuật toán minsup=5% D=100000 29 Hình 8: Đồ thị thời gian thực thi thuật toán minsup=5% D=50000 29 Hình 9: Đồ thị thời gian thực thi thuật toán minsup=5% D=10000 29 Hình 10: Đồ thị tổng hợp thời gian thực thi thuật toán minsup trung bình 29 Hình 11: Đồ thị thời gian thực thi thuật toán minsup = 1% D = 100000 30 Hình 12: Đồ thị thời gian thực thi thuật toán minsup = 1% D= 50000 30 Hình 13: Đồ thị thời gian thực thi thuật toán minsup =1% D=10000 30 Hình 154: Đồ thị tổng hợp thời gian thực thi thuật toán minsup nhỏ 31 vii Bảng 3: Cơ sở liệu ban đầu D 42 Bảng 4: Cơ sở liệu sau chuyển đổi 42 Bảng 5: Kết F1 43 Bảng 6: Kết F2 43 Bảng 7: Kết C3 44 Bảng 8: Kết Comb3 45 Bảng 9: Kết F3 45 Bảng 10: Kết C4 46 Bảng 11: Kết Comb4 46 Bảng 12: Kết F4 47 Bảng 13 Kết 47 Bảng Cấu trúc bảng liệu ban đầu 52 Bảng Cấu trúc bảng dùng để khai phá liệu 53 Hình Mẫu đơn thuốc Phòng khám đa khoa Trường cao đẳng Y Phú Thọ 54 Hình Minh họa cấu trúc liệu ban đầu 54 Hình 3 Cấu trúc liệu dùng để khai phá 55 Hình Tính độ hỗ trợ độ tin cậy luật {Cefalecin} => {Paracetamol} 57 Hình Tính độ hỗ trợ độ tin cậy luật {Decolgen}=>{Vitamin C} 58 Hình 3.6 Đánh giá độ tin cậy luật {Decolgen}=>{Vitamin B1} 61 Hình 3.7 Đánh giá độ tin cậy luật {Cefalecin}=>{Vitamin C} 61 Hình PL1: Minh họa liệu đầu vào 64 MỞ ĐẦU Lý chọn đề tài Theo [1] người ta thấy với phát triển mạnh mẽ công nghệ lưu trữ, khả đáp ứng máy tính cho phép ta lưu trữ xử lý khối lượng liệu khổng lồ Hầu hết tổ chức, quan lưu trữ liệu theo thời gian Kết là, sau thời gian dài, lượng liệu ngày nhiều Tuy nhiên, nhà quản lý lại chưa tâm giá trị tiềm ẩn bên khối liệu Những tri thức có ích ẩn bên không dễ dàng để lấy hay rút trích Ngày này, tính cạnh trạnh thị trường cao, đòi hỏi người định cần phải đưa định, sách cách thận trọng, xác hiệu Những thông tin để giúp cho họ đạt hiệu việc định phân tích, rút trích từ liệu lưu trữ (dữ liệu thô) Khai phá liệu giúp ta giải vấn đề Công việc khai phá phân tích, rút trích cách tự động thông tin khối liệu lớn nhằm tóm tắt liệu theo cách để tiện cho người dùng khai phá, tìm mẫu mới, mối liên hệ dự đoán, xu hướng thông tin tương lai Về bản, khai phá liệu xử lý liệu nhận biết mẫu xu hướng thông tin để bạn định đánh giá Các nguyên tắc khai phá liệu dùng nhiều năm rồi, với đời big data (dữ liệu lớn), lại phổ biến Những nhu cầu hướng kinh doanh thay đổi cách lấy thống kê liệu đơn giản sang việc khai phá liệu phức tạp Vấn đề kinh doanh hướng tới việc xem xét liệu để giúp xây dựng mô hình để mô tả thông tin mà cuối dẫn đến việc tạo báo cáo kết Hình Thí dụ xử lí liệu y tế trường Cao đẳng Y tế Phú Thọ Quá trình phân tích liệu, khám phá liệu xây dựng mô hình liệu thường lặp lại bạn tập trung vào nhận thông tin khác để bạn trích Bạn phải hiểu cách thiết lập quan hệ, ánh xạ, kết hợp phân cụm thông tin với liệu khác để tạo kết Quá trình nhận liệu nguồn định dạng nguồn, ánh xạ thông tin tới kết cho thay đổi sau bạn phát yếu tố khía cạnh khác liệu Khai phá liệu tất công cụ hay phần mềm sở liệu mà bạn sử dụng Bạn thực khai phá liệu hệ thống sở liệu bình thường công cụ đơn giản, bao gồm việc tạo viết phần mềm riêng bạn sử dụng gói phần mềm bán cửa hàng Khai phá liệu phức tạp hưởng lợi từ kinh nghiệm khứ thuật toán định nghĩa với phần mềm gói phần mềm có, với công cụ định để thu mối quan hệ uy tín lớn kỹ thuật khác Liên quan đến xử lí liệu toán với liệu lớn, hệ quản trị sở liệu Oracle, DB2, người ta sử dụng tiếp cận nối K-way join [10] để tăng tốc độ xử lí liệu, để thuận tiện cho việc phát mối quan hệ liệu, chẳng hạn luật kết hợp Do đó, chọn đề tài xử lí liệu y tế, sở liệu y tế trường Cao đẳng Y tế Phú Thọ áp dụng kĩ thuật tiếp cận K-way join để phát mối quan hệ Trong luận văn này, sử dụng ngôn ngữ truy vấn SQL chọn cách tiếp cận K-way join làm trọng tâm để đưa tri thức thuốc theo nhiều bệnh lý khác nhằm hỗ trợ cho y, bác sỹ người quản lý công việc khám chữa bệnh, kinh doanh dược Dựa toán đề ra, tính toán toán thực tế lấy liệu từ đơn thuốc phòng khám trường Cao đẳng Y tế Phú Thọ, đơn thuốc mẫu tài liệu giáo trình nhà trường theo bệnh khác Tính thực tiễn đề tài Y học môn khoa học không ngừng phát triển Tiếp cận cập nhật hóa thông tin y học từ sở liệu, để nâng cao chất lượng chăm sóc sức khỏe cho nhân dân điều thiếu thực hành lâm sàng Với phát triển mạnh mẽ ngành Công nghệ thông tin, ngành mũi nhọn nhiều quốc gia thới giới Sự phát triển vượt bậc kết tất yếu việc ứng dụng nhiều lĩnh vực khác sống như: giáo dục, y tế, kinh tế, khoa học, xây dựng trở thành phần thiếu sống hàng ngày người Trong kỷ nguyên bùng nổ thông tin, việc áp dụng phương pháp tìm kiếm thông tin từ nguồn liệu khác nhu cầu thiết thực cho toàn xã hội Trong phương pháp tìm kiếm thông tin đó, khai phá liệu để tìm tri thức, phục vụ đời sống xã hội phương pháp mới, nhà nghiên cứu khoa học quan tâm Tuy nhiên, khai phá liệu lĩnh vực y học nước ta thật ít, gặp nhiều khó khăn, nhiều bệnh viện nước ta chưa có bệnh án điện tử Việc khai phá lĩnh vực thực mang lại nhiều ý nghĩa cho y học để hỗ trợ cho bác sĩ kê đơn, chẩn đoán bệnh sớm điều trị bệnh có hiệu quả, giảm bớt tử vong chi phí điều trị, nhu cầu thiết thực bệnh viện Xuất phát từ thực tế trên, chọn đề tài “Phát mối quan hệ sở liệu ứng dụng y học” để nghiên cứu cho luận văn thạc sĩ Mục tiêu nghiên cứu 58 Hình Tính độ hỗ trợ độ tin cậy luật {Decolgen}=>{Vitamin C} Bài toán đánh giá độ tin cậy luật theo ngưỡng Bài toán sử dụng cách tính độ hỗ trợ độ tin cậy luật giống bên vừa trình bày, sau có kết so sánh với độ hỗ trợ, độ tin cậy mà nhà quản lý, người sử dụng đưa để đánh giá Nếu độ hỗ trợ, độ tin cậy mà lớn giá trị nhà quản lý, người sử dụng đưa đánh giá “Không tin cậy” Ngược lại, nhỏ đánh giá “Tin cậy” Code thử nghiệm toán đánh giá độ tin cậy luật theo ngưỡng: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER function [dbo] [DGKQ_11](@string1 nvarchar(100), @string2 nvarchar(100), @sp real, @cf real) returns @temptable table(mh1 nvarchar(50), mh2 nvarchar(50), supp real, conf real , danhgia nvarchar(100) ) AS BEGIN declare @hienthi1 nvarchar(100) 59 declare @hienthi2 nvarchar(100) declare @s real declare @c real declare @D nvarchar(100) declare @t1 real declare @t2 real declare @t3 real declare @t10 real Set @hienthi1='{'+''+@string1+''+'}'+'=>' Set @hienthi2='{'+''+@string2+''+'}' select @t1=count(*) from dbo transaction2 select @t2=count(distinct magd) from data_daxuly2 where mh=ltrim(rtrim(@string1)) select @t3=count(distinct magd) from data_daxuly2 where mh=ltrim(rtrim(@string2)) select @t10=supp from bang_2mh2 where (mathang1=ltrim(rtrim(@string1)) and mathang2=ltrim(rtrim(@string2))) if NOT exiStS(select*from data_daxuly2 where mh=ltrim(rtrim(@string1))) OR NOT exiStS(select*from data_daxuly2 where mh=ltrim(rtrim(@string2))) BEGIN Set @s=0 @t10/@t1 Set @c=0 @t10/@t2 Set @D='TRONG LUAT CHUA MAT HANG KHONG TON TAI TRONG CSDL D' Insert into @temptable(MH1, MH2, supp, conf, danhgia) values (@hienthi1, @hienthi2, @s, @c, @D) end ELSE begin if @t10>0 or @t10=0 60 if (@t10/@t1){Vitamin C} 3 Kết luận chương Ở chương 3, luận văn đưa cụ thể toán tính độ hỗ trợ, tính độ tin cậy luật đánh giá luật có tin cậy hay không Các toán minh họa chạy thử nghiệm qua phần mềm viết từ Microsoft Visual Basic 0, 62 chạy máy tính PC CPU Intel (R) Pentium (R), nhớ 2GB RAM, sử dụng hệ điều hành Windows XP Professional Cơ sở liệu hàng trăm đơn thuốc phòng khám đa khoa Trường Cao đẳng Y tế Phú Thọ bệnh cúm từ năm 2014 đến Kết giúp ích cho sinh viên y dược trình học tập bác sĩ, dược sĩ có tri thức hay thuốc, giúp ích cho công việc hàng ngày 63 KẾT LUẬN Kết đạt luận văn Về mặt lý thuyết: Đề tài tìm hiểu cách tiếp cận khai thác liệu dựa ngôn ngữ truy vấn SQL-92 trọng vào cách tiếp cận K-way join Đề phân tích, thử nghiệm, đánh giá đề xuất cải tiến cho K-way join, đưa phương pháp phát sinh rút gọn luật kết hợp Về mặt thực hành: Đề tài đưa phương án, cách thức để tìm tri thức tốt thuốc với sở liệu đơn thuốc Kết luận: Khai phá liệu lĩnh vực thu hút nhà nghiên cứu tính khoa học ứng dụng sống Những thử thách lĩnh vực khai phá nhiều, khai phá tri thức theo kiểu luật kết hợp khối khổng lồ, đặc biệt cách tiếp cận khai phá liệu dựa truy vấn SQL Hướng phát triển luận văn Mở rộng thuật toán sang HQTCSDL quan hệ-đối tượng (sử dụng đặc tính quan hệ-đối tượng SQL như: UDFs, BLOBs, Table functions) Đưa ràng buộc vào khai phá liệu Mở rộng sang khai phá mẫu phổ biến chuỗi (sequential partern mining) Vì lĩnh vực có phạm vi ứng dụng rộng có nghiên cứu chuyên sâu SQL để khai phá loại liệu Với luật có độ tin cậy nhỏ 100%, vấn đề luật thừa cần phải xem lại Lấy ví dụ, có luật AB luật (A, C) B luật thừa Nhưng thực tế (A, C) B phần lớn có độ tin cậy cao hơn, luật có độ tin cậy cao luật cần quan tâm tin tưởng Những luật mà vế trái nhiều items quí, giống công việc điều tra mà có nhiều chứng tốt 64 PHỤ LỤC Luận văn sử dụng ngôn ngữ lập trình Microsoft Visual Basic 0, hệ quản trị sở liệu SQL Sever 2005 để tính toán thử nghiệm với liệu đơn thuốc cúm phòng khám đa khoa Trường cao đẳng Y tế Phú Thọ Dữ liệu đầu vào: Tập đơn thuốc bệnh cúm Hình PL1: Minh họa liệu đầu vào Chương trình: Giao diện chính: Private Sub mnubaitoan2_Click() baitoan2 Show End Sub Private Sub mnubaitoan3_Click() baitoan3 Show End Sub Private Sub mnubaitoan4_Click() baitoan4 Show End Sub Private Sub mnuketnoidulie_Click() Dim str As String Set myCn = New Connection str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str MsgBox "Ket noi cong!!!", vbOKOnly, "Thong bao" End Sub Tính độ hỗ trợ tin cậy luật: Private Sub cmscluat_Click() Dim str1 As String Set myCn1 = New Connection str1 = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn1 Open str1 Dim sqlstr1 As String 65 Dim rs As ADODB Recordset sqlstr1 = "select * from dbo doluat_sc('" & txtstr1 Text & "', '" & txtstr2 Text & "')" 'myCn Execute (sqlstr) 'ket noi Set rs = New ADODB Recordset rs Open sqlstr1, myCn1, adOpenStatic, adLockOptimistic Call HienKQLenGrid1(rs) rs Close MsgBox "Da luat!!!" End Sub Private Sub Cmthemgd_Click() Dim str1 As String Set myCn1 = New Connection 'myCn CursorLocation = adUseClient str1 = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn1 Open str1 Dim sqlstr As String Dim rsmathang As New Recordset sqlstr = "exec dbo themgiaodich '" & txtdsmathang Text & "'" rsmathang Open sqlstr, myCn1, adOpenStatic, adLockOptimistic 'MsgBox "Them cong!!!" Call hienthidsmh End Sub Private Sub Cmxulydata_Click() Dim str1 As String Set myCn1 = New Connection 'myCn CursorLocation = adUseClient str1 = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn1 Open str1 Dim sqlstr As String sqlstr = "exec dbo taodata_daxuly3" myCn1 Execute (sqlstr) MsgBox "Xu ly du lieu xong!!!" End Sub Private Sub HienKQLenGrid1(rs As ADODB Recordset) Dim i As Integer 'load du lieu len grid grdketqua1 Rows = If (rs EOF = False) Then i=0 While (Not rs EOF) i=i+1 If (i >= grdketqua1 Rows - 1) Then grdketqua1 Rows = grdketqua1 Rows + grdketqua1 TextMatrix(i, 0) = i End If grdketqua1 TextMatrix(i, 1) = rs!mh1 grdketqua1 TextMatrix(i, 2) = rs!mh2 grdketqua1 TextMatrix(i, 3) = rs!supp 66 grdketqua1 TextMatrix(i, 4) = rs!conf rs MoveNext Wend End If 'danh so thu tu cho cac cot Dim stt As Integer grdketqua1 Col = For stt = To grdketqua1 Rows - grdketqua1 Row = stt grdketqua1 Text = stt Next stt End Sub Private Sub KtGird() grdketqua1 Clear grdketqua1 Rows = grdketqua1 TextMatrix(0, 0) = "STT" grdketqua1 TextMatrix(0, 1) = "Mat hang 1" grdketqua1 TextMatrix(0, 2) = "Mat hang 2" grdketqua1 TextMatrix(0, 3) = "Supp" grdketqua1 TextMatrix(0, 4) = "Conf" grdketqua1 ColWidth(0) = 500 grdketqua1 ColWidth(1) = 2000 grdketqua1 ColWidth(2) = 2000 grdketqua1 ColWidth(3) = 1000 grdketqua1 ColWidth(4) = 1000 End Sub Public Sub KhoiTaoGird_2() grdthemgd Clear grdthemgd Rows = grdthemgd TextMatrix(0, 0) = "Stt" grdthemgd TextMatrix(0, 1) = "ID" grdthemgd TextMatrix(0, 2) = "Magd" grdthemgd TextMatrix(0, 3) = "Mathang" grdthemgd ColWidth(0) = 500 grdthemgd ColWidth(1) = 500 grdthemgd ColWidth(2) = 600 grdthemgd ColWidth(3) = 5000 End Sub Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() Dim str1 As String Set myCn1 = New Connection str1 = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn1 Open str1 67 baitoan2 Show Call KtGird Call KhoiTaoGird_2 Call hienthidsmh End Sub Public Sub hienthidsmh() Dim i, ii As Integer Dim sqlstr2 As String Dim rs1 As ADODB Recordset Dim str As String Set myCn = New Connection str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str i=1 ii = sqlstr2 = "select * from transaction2" Set rs1 = New ADODB Recordset grdthemgd Rows = rs1 Open sqlstr2, myCn, adOpenDynamic, adLockBatchOptimistic With rs1 If (Not ( BOF And EOF)) Then Do Until rs1 EOF grdthemgd AddItem "" grdthemgd TextMatrix(i, 0) = "" & ii + grdthemgd TextMatrix(i, 1) = Trim( Fields(0) Value) grdthemgd TextMatrix(i, 2) = "" & Trim( Fields(1) Value) grdthemgd TextMatrix(i, 3) = "" & Trim( Fields(2) Value) ' grdthemgd TextMatrix(i, 4) = "" & Trim( Fields(3) Value) ii = ii + i=i+1 MoveNext Loop MoveFirst Else Exit Sub End If End With End Sub Đánh giá độ tin cậy luật: Option Explicit 'Dim WithEvents rsKhoa As Recordset Dim myCn As Connection Dim rsmathang As New Recordset Dim sqlstr As String Private Sub cmkiemtraluat_Click() Dim str As String Set myCn = New Connection 68 str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str Dim sqlstr As String Dim rs As ADODB Recordset sqlstr = "select * from dbo doluat_dg('" & txtstring1 Text & "', '" & txtstring2 Text & "', " & txtminsup Text & ", " & txtmincof Text & ")" 'myCn Execute (sqlstr) 'ket noi Set rs = New ADODB Recordset rs Open sqlstr, myCn, adOpenStatic, adLockOptimistic Call HienKQLenGrid(rs) rs Close MsgBox "Da kiem tra luat!!!" End Sub Private Sub Cmthemgd_Click() Dim str As String Set myCn = New Connection 'myCn CursorLocation = adUseClient str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str Dim sqlstr As String Dim rsmathang As New Recordset sqlstr = "exec dbo themgiaodich '" & Me txtdsmathang & "'" rsmathang Open sqlstr, myCn, adOpenStatic, adLockOptimistic MsgBox "Them cong!!!" Call hienthidsmh 'myCn Execute (sqlstr) End Sub Private Sub Cmxulydata_Click() Dim str As String Set myCn = New Connection 'myCn CursorLocation = adUseClient str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str Dim sqlstr As String sqlstr = "exec dbo taodata_daxuly3" myCn Execute (sqlstr) MsgBox "Xu ly du lieu xong!!!" End Sub Private Sub HienKQLenGrid(rs As ADODB Recordset) Dim i As Integer 'load du lieu len grid grdketqua Rows = If (rs EOF = False) Then i=0 While (Not rs EOF) i=i+1 If (i >= grdketqua Rows - 1) Then 69 grdketqua Rows = grdketqua Rows + grdketqua TextMatrix(i, 0) = i End If grdketqua TextMatrix(i, 1) = rs!mh1 grdketqua TextMatrix(i, 2) = rs!mh2 grdketqua TextMatrix(i, 3) = rs!danhgia rs MoveNext Wend End If 'danh so thu tu cho cac cot Dim stt As Integer grdketqua Col = For stt = To grdketqua Rows - grdketqua Row = stt grdketqua Text = stt Next stt End Sub Private Sub Form_Load() 'frmketqua Show Call KhoiTaoGird Call KhoiTaoGird_2 Call hienthidsmh End Sub Private Sub KhoiTaoGird() grdketqua Clear grdketqua Rows = grdketqua TextMatrix(0, 0) = "STT" grdketqua TextMatrix(0, 1) = "Mat hang 1" grdketqua TextMatrix(0, 2) = "Mat hang 2" grdketqua TextMatrix(0, 3) = "Danh gia" grdketqua ColWidth(0) = 500 grdketqua ColWidth(1) = 2000 grdketqua ColWidth(2) = 2000 grdketqua ColWidth(3) = 5000 End Sub Public Sub KhoiTaoGird_2() grdthemgd Clear grdthemgd Rows = grdthemgd TextMatrix(0, 0) = "Stt" grdthemgd TextMatrix(0, 1) = "ID" grdthemgd TextMatrix(0, 2) = "Magd" grdthemgd TextMatrix(0, 3) = "Mathang" grdthemgd ColWidth(0) = 500 grdthemgd ColWidth(1) = 500 grdthemgd ColWidth(2) = 600 grdthemgd ColWidth(3) = 5000 End Sub 70 Public Sub hienthidsmh() Dim i, ii As Integer Dim sqlstr2 As String Dim rs1 As ADODB Recordset Dim str As String Set myCn = New Connection str = "Provider=SQLOLEDB 1;User ID=" & mUser & ";Password=" & mPwd & _ ";Initial Catalog=" & mData & ";Data Source=" & mDataSource & "" myCn Open str i=1 ii = sqlstr2 = "select * from transaction2" Set rs1 = New ADODB Recordset grdthemgd Rows = rs1 Open sqlstr2, myCn, adOpenDynamic, adLockBatchOptimistic With rs1 If (Not ( BOF And EOF)) Then Do Until rs1 EOF grdthemgd AddItem "" grdthemgd TextMatrix(i, 0) = "" & ii + grdthemgd TextMatrix(i, 1) = Trim( Fields(0) Value) grdthemgd TextMatrix(i, 2) = "" & Trim( Fields(1) Value) grdthemgd TextMatrix(i, 3) = "" & Trim( Fields(2) Value) ' grdthemgd TextMatrix(i, 4) = "" & Trim( Fields(3) Value) ii = ii + i=i+1 MoveNext Loop MoveFirst Else Exit Sub End If End With End Sub Private Sub Text1_Change() End Sub Private Sub thoat_Click() Unload Me End Sub 71 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trương Ngọc Châu - Phan Văn Dũng (2002), “Nghiên cứu tính ứng dụng khai phá luật kết hợp sở liệu giao dịch”, Trường đại học Bách khoa, Đại học Đà Nẵng [2] Nguyễn Thanh Thủy, Khai phá liệu – Kỹ thuật ứng dụng, Hà nội 2001 [3] Nguyễn Huy Đức (2003), “Khai phá luật kết hợp sở liệu lớn”, Kỷ yếu Hội thảo khoa học Quốc gia lần thứ nghiên cứu ứng dụng CNTT, Hà Nội, 10/2003, tr 128-136 [4] Đỗ Thái Hòa, “Tổ chức khai phá liệu dựa ngôn ngữ truy vấn, áp dụng vào bán hàng” Luận văn Thạc sĩ công nghệ thông tin, Đại học Đà Nẵng, 2009 [5] Vũ Đức Thi, Nguyễn Huy Đức (2008), “Thuật toán hiệu khai phá tập mục thường xuyên cổ phần cao”, Kỷ yếu Hội thảo Một số vấn đề chọn lọc CNTT TT, Huế, 12/2008, tr 431-444 [6] Nguyễn Huy Đức (2010), “Khai phá tập mục cổ phần cao lợi ích cao sở liệu” Luận án Tiến sĩ toán học, Viện khoa học công nghệ Việt Nam Tiếng Anh [7] Agrawal.R and Shim.K (1995), Developing tightly-couple Data mining Applications on a Relational Database system IBM Almaden Research Center: San Jose, California [8] Jiawei Han and Micheline Kamber: Data mining – Concepts and Techniques, 1999 [9] Mehmed Kantardzic: Data mining – Concepts, Models, Methods, and Algorithms [10] Meo R, Psaila G and Ceri S (1996), A New SQL-like Operator for Mining Association Rules Proceedings of the 22nd VLDB Conference, Mumbai, India [11] Ye Nong: The hand book of data mining, 2003 72 [12] Pratyush Mishra, S.Chakravarthy, Peformance Evaluation and Analysis of SQL based Approaches for Association Rule Mining, 2003 [13] Pratyush Mishra, S.Chakravarthy, Evaluation of K-way Join and its variants for Association Rule Mining, Year book BNCOD, 2002 [14] Erwin A., Gopalan R.P & Achuthan N.R (2007), “CTU-Mine: An Efficient High Utility Itemset Mining Algorithm Using the Pattern Growth Approach”, Paper presented at the IEEE 7th International Conferences on Computer and Information Technology, Aizu Wakamatsu, Japan [15] Cai C.H., Chee Fu A.W, Cheng C.H., and Kwong (2005), “Mining Association Rules with Weighted Items”, Proceedings of the Sixth International Conference on Intelligent Data Engineering and Automated Learning (IDEAL 2005) [16] Rakesh Agrawal, Ramakrishnan Srikant, “Fast Algorithms for Mining Association Rules”, 1993 [...]... gọi là học không có giám sát (unsupervised learning) 11 1 5 Phân loại và ứng dụng các hệ thống khai phá dữ liệu 1 5 1 Phân loại các hệ thống khai phá dữ liệu Phân loại khai phá dữ liệu dựa trên các tiêu chí khác nhau [3]: Phân loại dựa trên kiểu dữ liệu được khai phá: Cơ sở dữ liệu quan hệ, kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian, cơ sở dữ liệu. .. b y xemina Tính toán thử nghiệm 6 Bố cục luận văn Luận văn bao gồm: mục lục, phần mở đầu, phụ lục Chương I: Tổng quan về phát hiện mối quan hệ giữa các dữ liệu trong cơ sở dữ liệu Chương II: Một số mối quan hệ dữ liệu được phát hiện thông qua ngôn ngữ truy vấn Chương III: Ứng dụng trong tính toán thử nghiệm Kết luận và hướng phát triển 6 CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN MỐI QUAN HỆ GIỮA CÁC DỮ... và ứng dụng khai phá dữ liệu Giúp chúng ta có cái nhìn tổng quan về các mối quan hệ trong cơ sở dữ liệu, từ đó làm cơ sở để phát triển chương 2, chương 3 của luận văn Chương hai và chương ba của luận văn trình b y về thuật toán k-way join tìm tập phổ biến, các đề xuất tối ưu để thuật toán ch y đạt hiệu quả cao hơn và ứng dụng thử nghiệm đối với cơ sở dữ liệu y khoa 13 CHƯƠNG 2 MỘT SỐ MỐI QUAN HỆ DỮ... lưu và sử dụng lại 1 3 Các dạng dữ liệu có thể khai phá Khai phá dữ liệu có khả năng chấp nhận một số kiểu dữ liệu khác nhau điển hình như sau [3, 4]: Cơ sở dữ liệu quan hệ (relational databases): Là các dữ liệu tác nghiệp được tổ chức theo mô hình dữ liệu quan hệ rất phổ biến trong hệ thống quản lý và quán lý bán hàng nói riêng, do hầu hết các hệ quản trị cơ sở dữ liệu đều hỗ trợ dạng cơ sở dữ liệu. .. GIỮA CÁC DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU 1 1 Mục tiêu của việc phát hiện mối quan hệ giữa các dữ liệu Mục tiêu của việc khai khác dữ liệu có các nhiệm vụ chính như sau [2]: Khám phá dữ liệu, khám phá mẫu, và dự đoán mẫu nhằm khám phá tri thức trong kho dữ liệu; Rút trích các thông tin có giá trị tiềm ẩn trong kho dữ liệu; Phân tích tự động trong kho dữ liệu; Biểu diễn dữ liệu để thân thiện với người... 2 Ứng dụng của khai phá dữ liệu Khai phá dữ liệu có nhiều ứng dụng trong thực tế Một số ứng dụng điển hình như [3, 4]: Bảo hiểm 12 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ãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận Phân tích dữ liệu và hỗ trợ ra quyết định Điều trị y học và. .. sạch dữ liệu (xử lý dữ liệu không đ y đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ), rút gọn dữ liệu (sử dụng các phương pháp thu gọn dữ liệu, histograms, l y mẫu, ), rời rạc hoá dữ liệu (dựa vào histograms, entropy, phân 7 khoảng, ) Sau bước n y, dữ liệu sẽ nhất quán, đ y đủ, được rút gọn, và được rời rạc hoá Biến đổi dữ liệu (data transformation): Là bước chuẩn hoá và làm mịn dữ liệu để... dữ liệu tác nghiệp có các bản ghi thường là các giao tác Dạng dữ liệu n y cũng phổ biến hiện nay trong đó có ngành thương mại Cơ sở dữ liệu quan hệ – hướng đối tượng (object relational databases): Là dạng dữ liệu lai giữa hai mô hình quan hệ và hướng đối tượng Dữ liệu không gian và thời gian (spatial, temporal, and time-series data): Là dạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu. .. hỗ trợ tối thiểu minsup và ngưỡng độ tin c y tối thiểu minconf Y u cầu: Tìm tất cả các luật kết hợp X Y trên cơ sở dữ liệu DB sao cho sup(X Y ) minsup và conf (X Y) minconf Bài toán khai phá luật kết hợp n y được gọi là bài toán cơ bản hay bài toán nhị phân, vì ở đ y, giá trị của mục dữ liệu trong cơ sở dữ liệu là 0 hoặc 1 (xuất hiện hay không xuất hiện) Bài toán khai phá luật kết hợp được... HỆ DỮ LIỆU ĐƯỢC PHÁT HIỆN THÔNG QUA NGÔN NGỮ TRUY VẤN 2 1 Luật kết hợp 2 1 1 Các khái niệm cơ bản Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu Mục tiêu khai phá là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân (hay còn gọi là mô hình cơ bản) được R Agrawal, T Imielinski và A Swami