Khai phá luật quyết định trên bảng dữ liệu có thuộc tính thay đổi

59 213 0
Khai phá luật quyết định trên bảng dữ liệu có thuộc tính thay đổi

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THỊ UYÊN KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ LIỆU CÓ THUỘC TÍNH THAY ĐỔI Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: GS.TS VŨ ĐỨC THI THÁI NGUYÊN - 2013 i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu tôi, có hỗ trợ từ Giáo viên hướng dẫn GS.TS Vũ Đức Thi Các nội dung nghiên cứu kết đề tài trung thực chưa công bố công trình nghiên cứu trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá tác giả thu thập từ nguồn khác có ghi phần tài liệu tham khảo Ngoài ra, đề tài sử dụng số nhận xét, đánh số liệu tác giả, quan tổ chức khác, thể phần tài liệu tham khảo Nếu sai xin hoàn toàn chịu trách nhiệm Thái Nguyên, ngày 15 tháng năm 2013 Tác giả luận văn Lê Thị Uyên ii LỜI CẢM ƠN Với lòng biết ơn sâu sắc nhất, em xin gửi đến Thầy Cô Trường Đại Học Công Nghệ Thông Tin Truyền thông Thầy Viện Khoa Học Công Nghệ Việt Nam với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt khóa học vừa qua Luận văn hoàn thành hướng dẫn, bảo tận tình GS.TS Vũ Đức Thi Xin bày tỏ lòng biết ơn chân thành sâu sắc tới Thầy quan tâm, nghiêm khắc tạo điều kiện để em hoàn thành mục tiêu đề tài Sau cùng, em xin kính chúc Thầy Cô thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Em xin chân thành cảm ơn! Thái Nguyên, ngày 15 tháng năm 2013 Tác giả luận văn Lê Thị Uyên iii MỤC LỤC iv DANH MỤC CÁC KÝ HIỆU VIẾT TẮT Ký hiệu Ý nghĩa BNp(X) P – miền biên X PX P – Xấp xỉ X PX P – Xấp xỉ X IND(P) P – Quan hệ bất khả phân biệt Sup(Ci, Dj) Độ hỗ trợ luật định Ci → Dj Cov(Ci, Dj) Độ phủ luật định Ci → Dj Acc(Ci, Dj) Độ xác luật định Ci → Dj Acc(t)(C, D) Ma trận Độ xác thời điểm t tất luật định Ci → Dj Sup(t)(C, D) Ma trận Độ hỗ trợ thời điểm t tất luật định Ci → Dj Cov(t)(C, D) Ma trận Độ phủ thời điểm t tất luật định Ci → Dj v DANH MỤC HÌNH CHƯƠNG 1: TỔNG QUAN 1.1 Khai phá liệu Khám phá tri thức trình tìm kiếm sở liệu mẫu đắn, có ích tiềm tàng hiểu người sử dụng Quá trình khám phá tri thức gồm nhiều pha, pha có vai trò tầm quan trọng riêng Khai phá liệu (DM) pha quan trọng toàn tiến trình khai phá tri thức, sử dụng thuật toán đặc biệt để chiết xuất mẫu từ liệu Về chất giai đoạn để rút trích tìm mẫu, mô hình, tri thức tiềm ẩn có sở liệu phục vụ cho việc mô tả dự đoán Quá trình khai phá liệu trải qua ba bước: Bước một: Lọc liệu (giai đoạn tiền xử lý) Khi liệu thu thập từ nhiều nguồn khác nhau, nên có sai sót, dư thừa trùng lặp Lọc liệu nhằm loại bỏ dư thừa để có liệu định dạng thống Dữ liệu sau lọc chỉnh sửa gọn hơn, xử lý nhanh chóng Ví dụ, toán tìm quy luật mua hàng khách hàng siêu thị, ta cần phải xem khách hàng thường mua mặt hàng nào, dựa ta xếp hàng để thuận tiện cho việc mua hàng khách hàng Từ liệu nguồn siêu thị cung cấp, có nhiều thuộc tính không cần thiết cho khai phá liệu như: Mã khách hàng, nhà cung cấp, đơn giá hàng, người bán hàng, … Các liệu cần cho quản lý bán hàng không cần cho khai phá liệu, loại bỏ thuộc tính trước tiến hành công việc khai phá liệu Bước hai: Khai phá liệu (là công việc chính) sử dụng thuật toán khác để khai phá tri thức tiềm ẩn liệu Bước ba (giai đoạn hậu xử lý) trình đánh giá kết khai phá theo yêu cầu người dùng Các kỹ thuật khai phá liệu khác đánh giá theo quy tắc, số kết thỏa mãn yêu cầu đánh giá, giữ lại kết phù hợp với yêu cầu người sử dụng Có nhiều kỹ thuật khai phá liệu nghiên cứu, có hai kỹ thuật nhà nghiên cứu sử dụng nhiều là: Kỹ thuật phân lớp liệu kỹ thuật phân nhóm liệu 1.1.1 Kỹ thuật phân lớp liệu Phân lớp liệu kỹ thuật nhằm xây dựng mô hình cho phép phân đối tượng vào lớp biết trước Kỹ thuật phép dự đoán giá trị bị thiếu thuộc tính liệu hay dự đoán giá trị liệu xuất tương lai Phân lớp liệu kỹ thuật xem kỹ thuật hay dùng học máy khai phá liệu Quá trình phân lớp liệu thực qua hai bước Thứ dựa vào tập hợp liệu huấn luyện (các đối tượng liệu gán nhãn lớp) để xây dựng mô hình mô tả đặc trưng lớp khái niệm tương ứng với lớp Thứ hai dựa mô hình phân lớp liệu mô hình diễn giải phân biệt khái niệm xác định để gán nhãn lớp cho đối tượng quan tâm 1.1.2 Một số kỹ thuật phân lớp phổ biến Cây định cấu trúc cây, nút biểu thị phép phân nhánh tương ứng với thuộc tính; nhánh biểu thị điều kiện; nút tương ứng với lớp Để phân lớp đối tượng chưa biết, giá trị thuộc tính đối tượng kiểm tra bám theo định Đường dẫn từ gốc đến nút tương ứng với đối tượng cho phép xác định lớp tương ứng Cây định dễ dàng chuyển thành tập luật phân lớp Tập thô sử dụng việc phân lớp nhằm mục đích khám phá quan hệ có cấu trúc liệu không xác liệu có giá trị thuộc tính rời rạc hóa Do đó, thuộc tính có giá trị liên tục phải rời rạc hóa trước sử dụng 1.1.3 Kỹ thuật phân nhóm liệu Phân nhóm liệu trình nhóm đối tượng thành lớp Các đối tượng lớp tương đồng nhau, độ tương đồng chúng phải lớn độ tương đồng với đối tượng lớp khác Trong phân nhóm, không đòi hỏi biết số lớp cần cấu tạo Mặt khác, với kỹ thuật này, đối tượng nhóm lại lớp dựa vào giống chúng, xác định đặc trưng giống Thông thường, người ta sử dụng giống định lượng dạng khoảng cách Độ đo giống xác định dựa ý kiến chuyên gia lĩnh vực 1.2 Khai phá luật định Khai phá luật định trình xác định luật định bảng định cho trước, phục vụ cho việc phân lớp đối tượng Khai phá luật định nhiều chuyên gia nước quan tâm hai phương diện lý thuyết ứng dụng, nghiên cứu chủ yếu xem xét bảng liệu tĩnh Trong thực tế, liệu thường xuyên thay đổi theo thời gian Đã có số nghiên cứu khía cạnh khác để cập nhật tri thức bảng liệu động, tập trung chủ yếu vào ba trường hợp sau đây: + Tập giá trị thuộc tính thay đổi tập đối tượng tập thuộc tính không đổi + Tập đối tượng thay đổi tập thuộc tính tập giá trị thuộc tính không đổi + Tập thuộc tính thay đổi tập đối tượng tập giá trị thuộc tính không đổi Trong trường hợp thứ nhất, chưa đề cập đến vấn đề cập nhật xấp xỉ với nhiều lớp định, đồng thời vấn đề làm để sinh luật định chưa xem xét Trong trường hợp thứ hai, Năm 2009 người tên Liu trình bày mô hình thuật toán để phát luật định bổ sung loại bỏ đối tượng khỏi bảng liệu dựa việc tính toán gia tăng ma trận độ xác ma trận độ phủ làm sở để sinh luật định Tuy nhiên nghiên cứu làm tiêu tốn nhiều thời gian tính không gian nhớ phải cập nhật lưu trữ ma trận độ phủ ma trận độ xác Trong trường hợp thứ ba, tập thuộc tính thay đổi đề nghị phương pháp để cập nhật xấp xỉ khái niệm hệ thông tin không đầy đủ dựa quan hệ đặc trưng tập thuộc tính thay đổi theo thời gian Ở nước, năm gần có nhiều tác giả, nhóm tác giả quan tâm, nghiên cứu, trình bày giải pháp khác nhằm giải có hiệu toán khai phá tri thức bảng liệu động Trong trường hợp này, để sinh luật kết hợp, thuật toán khai phá luật kết hợp bảng liệu gia tăng theo chiều dọc thực việc phân hoạch liệu thành nhiều phần nhỏ tương ứng với mục liệu lưu chúng nhớ ngoài, lần xử lý đưa số tập phân hoạch vào nhớ Đồng thời, xem xét đến trường hợp bảng liệu gia tăng theo chiều ngang dựa việc xây dựng định để sinh luật Trong khuôn khổ luận văn, xin trình bày thuật toán khai phá luật định bảng liệu động theo hướng tiếp cận gia tăng trường hợp thay đổi bảng liệu có giá trị thuộc tính thay đổi Trong trường hợp này, để đánh giá kết trích rút luật định, luận văn sử dụng độ xác độ phủ luật 1.3 Lý thuyết tập thô 39 CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 3.1 Cài đặt 3.1.1 Yêu cầu hệ thống Chương trình “Thuật toán trích rút luật định làm mịn, làm thô thuộc tính” viết ngôn ngữ C# Visual Studio 2010 sử dụng phiên Net Framewok 4.0 Yêu cầu tối thiểu hệ thống sử dụng chương trình: - Cài đặt Net Framework phiên 4.0 trở lên - Hệ điều hành tối thiểu Windows XP SP2 Phiên Net Framework 4.0 hỗ trợ hệ điều hành Windows XP SP3 trở lên Để cài đặt Windows XP SP2, cần cài đặt thêm phần mở rộng Windows Imaging Component (WIC) trước cài đặt Net Framework 4.0 Mã nguồn biên dịch thành tệp thực thi exe môi trường Windows nên cần cài đặt thư viện yêu cầu chạy chương trình 3.1.2 Cấu trúc lớp chương trình Chương trình tổ chức theo lớp có chức rõ ràng, tối ưu cho việc đọc xử lý lớp khác Việc tổ chức theo lớp giúp dễ dàng theo dõi mã nguồn xử lý xảy lỗi Sau mô tả chi tiết cấu trúc lớp chương trình chức chúng 40 Hình 3.1: Mối liên hệ lớp chương trình Hình 3.2: Mối quan hệ lớp DecisionRules Hình 3.3: Mối quan hệ lớp DecisionTable Chương trình thiết kế bao gồm lớp sau: 41 * DecisionRules: Đây lớp xử lý giao diện chương trình, gọi tới lớp xử lý hiển thị kết lên giao diện *DecisionTable: Lớp lưu trữ thông tin bảng định bao gồm: số hàng, số cột, giá trị thuộc tính, lớp tương đương điều kiện lớp tương đương định * SupportMatrix: Lớp xử lý tính toán lưu trữ giá trị ma trận độ hỗ trợ, ma trận độ xác, ma trận độ phủ lớp tương đương áp dụng thay đổi trình làm mịn, làm thô giá trị thuộc tính Lớp chứa toàn phương thức xử lý thuật toán (từ 2.1 đến 2.7) Hình 3.4: Mối quan hệ lớp SupportMatrix SqlHelper: Lớp hỗ trợ tạo kết nối với sở liệu SQL Server, lớp đóng gói thành thư viện để sử dụng cho mục đích tương tự 42 Hình 3.5: Mối quan hệ lớp SqlHelper * Ultilities: Lớp tiện ích bao gồm phương thức hỗ trợ tính toán tập hợp đọc liệu từ bảng sở liệu Hình 3.6: Trong lớp Ultilities 43 Hình 3.7: Trong lớp AlgoCharn 3.2 Thử nghiệm chương trình 3.2.1 Hướng dẫn chạy chương trình Dữ liệu đầu vào bảng định quán lưu trữ bảng liệu Mỗi bảng lưu trữ thông tin bảng vào bảng trung gian TableMetaData Cấu trúc bảng liệu minh họa sau: Hình 3.8 Cấu trúc bảng DS1 Hình 3.9 Cấu trúc bảng TableMetaData 44 Các cấu trúc sử dụng để lưu trữ ma trận độ hỗ trợ List Nó mảng vô hướng C#, linh hoạt xử lý liệu dạng mảng động Để lưu trữ lớp tương đương, chương trình dùng đối tượng Dictionary, phần tử Dictionary list chứa số đối tượng Một vài giao diện chương trình: Hình 3.10: Giao diện chương trình nạp bảng định Hình 3.11: Minh họa tính toán với liệu 45 Hình 3.12: Minh họa tính toán với liệu tính toán 3.2.2 Mô tả thuật toán Dưới phương thức chương trình mô tả cho vài thuật toán // Tính ma trận độ hỗ trợ: public void calcSupportMatrix() { List tmpSupport; for (int i = 0; i < numOfCondition; i++) { tmpSupport = new List(); for (int j = 0; j < numOfDecision; j++) { tmpSupport.Add(calcSupport(decisionTable.conditionList[i], decisionTable.decisionList[j])); } 46 supportMatrix.Add(tmpSupport); } } // Tính ma trận độ hỗ trợ thời điểm làm thô thuộc tính điều kiện public void unrefinedCondition(string attr, int w, int y) { List listCs = new List(); List Cs; List pairEquivList = new List(); PairEquiv pairEquiv; DataTable database = decisionTable.database; int valueCp = 0; int valueCq = 0; int check; for (int p = 0; p < numOfCondition; p++) { for (int q = p + 1; q < numOfCondition; q++) { valueCp = Int32.Parse(database.Rows[decisionTable.conditionList[p][0]-1] [attr].ToString()); valueCq = Int32.Parse(database.Rows[decisionTable.conditionList[q][0]-1] [attr].ToString()); if ((valueCp == w && valueCq == y) || (valueCp == y && valueCq == w)) { check = 1; 47 for (int k = 0; k < decisionTable.numOfColumn-1; k++) { valueCp = Int32.Parse(database.Rows[decisionTable.conditionList[p][0]-1] ["a"+(k+1)].ToString()); valueCq = Int32.Parse(database.Rows[decisionTable.conditionList[q][0]-1]["a"+ (k+1)].ToString()); if (!("a" + (k + 1)).Equals(attr) && valueCp != valueCq) { check = 0; break; } } if (check == 1) { pairEquiv.Cp = p; pairEquiv.Cq = q; pairEquivList.Add(pairEquiv); } } } } foreach (PairEquiv item in pairEquivList) { Cs = new List(); for (int j = 0; j < numOfDecision; j++) { 48 Cs.Add(supportMatrix[item.Cp][j] + supportMatrix[item.Cq][j]); } listCs.Add(Cs); } // Tính ma trận độ hỗ trợ thời điểm làm mịn thuộc tính điều kiện public void refinedCondition(string attr, List listW,int w, List listY, int y, int z) { List listCs = new List(); DataTable database = decisionTable.database; List listPair = new List(); List Cs = new List(); List Cp; List Cq; List track = new List(); for (int s = 0; s < numOfCondition; s++) { Cs = decisionTable.conditionList[s]; int valueCs = Int32.Parse(database.Rows[Cs[0] - 1] [attr].ToString()); if (valueCs == z && calcSupport(Cs, listW) > && calcSupport(Cs, listY) > 0) { track.Add(s); Cp = new List(); Cq = new List(); foreach (int item in decisionTable.conditionList[s]) 49 { if (listW.Contains(item)) { Cp.Add(item); } else if (listY.Contains(item)) { Cq.Add(item); } } ListPair list = new ListPair(); list.Cs = s; list.indexCp = Cp; list.indexCq = Cq; list.listCp = new List(); list.listCq = new List(); for (int i = 0; i < numOfDecision; i++) { int sup = calcSupport(Cp, decisionTable.decisionList[i]); list.listCp.Add(sup); list.listCq.Add(calcSupport(Cs,decisionTable.decisionList[i])-sup); } listPair.Add(list); } } 50 // Tính ma trận độ hỗ trợ thời điểm làm thô thuộc tính định public void unrefinedDecision(int w, int y) { int tmpW = -1; int tmpY = -1; DataTable database = decisionTable.database; for (int i = 0; i < numOfDecision; i++) { int value = Int32.Parse(database.Rows[decisionTable.decisionList[i][0] - 1] ["d"].ToString()); if (value == w) { tmpW = i; } if (value == y) { tmpY = i; } } List Dz = new List(); for (int i = 0; i < numOfCondition; i++) { Dz.Add(supportMatrix[i][tmpW] + supportMatrix[i][tmpY]); } 51 3.3 Đánh giá thuật toán Chương trình lựa chọn giá trị làm thô làm mịn thuộc tính lớp điều kiện lớp định Bên cạnh nhược điểm chương trình có ưu điểm, không gây thay đổi sở liệu lưu trữ bảng định mà cần tính lại lớp tương đương 3.4 Kết luận chương Trong chương này, trình bày mô hình mối quan hệ lớp viết mã cho thuật toán để phát luật định có ý nghĩa làm thô hay làm mịn đối tượng 52 KẾT LUẬN Luận văn trình bày mối quan hệ độ đo hỗ trợ với độ đo xác độ phủ luật định Trình bày thuật toán theo tiếp cận gia tăng phát luật định giá trị thuộc tính bảng liệu thay đổi Ưu điểm thuật toán cần cập nhật lại ma trận độ hỗ trợ dựa tính ma trận độ xác ma trận độ phủ sinh luật Trình bày định lý hệ làm sở toán học cho tính đắn thuật toán theo tiếp cận gia tăng phát luật định làm thô, làm mịn giá trị thuộc tính điều kiện làm thô, làm mịn thuộc tính định Trình bày mệnh đề đánh giá độ phức tạp thuật toán Ngoài kết nói trên, số kết đến trích rút luật định, độ đo luật, tập thô Tuy nhiên, thời gian hạn hẹp nên luận văn chưa tìm hiểu số vấn đề sau: Trình bày thuật toán bảng liệu đầy đủ tập thuộc tính thay đổi Trình bày thuật toán phát luật định bảng liệu không đầy đủ trường hợp đối tượng thay đổi, tập thuộc tính thay đổi tập giá trị thuộc tính thay đổi 53 TÀI LIỆU THAM KHẢO [1] Hoàng Thị Lan Giao (2006), Khía cạnh đại số loogic phát luật theo tiếp cận tập thô, Luận án Tiến sĩ toán học, Viện Công nghệ Thông tin, Viện Khoa học Công nghệ Việt Nam [2] Nguyễn Quang Khanh, Nguyễn Bá Tường (2011), Một cách tiếp cận để học gia tăng luật định, Tạp chí Công nghệ thông tin Truyền thông, công trình nghiên cứu, phát triển ứng dụng công nghệ thông tin Truyền thông 2011; tr.72 - 80 [3] http://www.cs.waikato.ac.nz/ml/weka/ [4] Han J and Kamber (2000), Data mining Concepts and Techniques, Morgan Kanufmann [5] Hà Quang Thuỵ (1996) Một số vấn đề không gian xấp xỉ, tập thô hệ thông tin Luận án Phó tiến sĩ Khoa học Toán Lý ĐHKHTN, 1996 [6] Nguyễn Viết Cường, Phùng Thị Thu Hiền, Phạm Quang Dũng (2009), “Một đẳng thức kép tập thô”, Tạp chí nghiên cứu khoa học kỹ thuật công nghệ quân sự, (26) tr.68-71 [7] Nguyễn Bá Tường (2008), “Thuật toán để rút trích luật từ hệ thông tin đầy đủ dựa mô hình phủ tập thô”, Tạp chí Công nghệ thông tin & truyền thông 3(19) tr.119-123 [8] Vũ Đức Thi “Một số vấn đề tính toán liên quan đến sở liệu khai phá liệu” Tạp chí Khoa học Công nghệ 50(6) (2012) 679-703 ... đối tượng tập thuộc tính không đổi + Tập đối tượng thay đổi tập thuộc tính tập giá trị thuộc tính không đổi 4 + Tập thuộc tính thay đổi tập đối tượng tập giá trị thuộc tính không đổi Trong trường... dựng định để sinh luật Trong khuôn khổ luận văn, xin trình bày thuật toán khai phá luật định bảng liệu động theo hướng tiếp cận gia tăng trường hợp thay đổi bảng liệu có giá trị thuộc tính thay đổi. .. mối quan hệ độ đo luật định Đây vấn đề cần nắm bắt trình bày kết chương sau luận văn 20 CHƯƠNG 2: KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ LIỆU CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI 2.1 Giới thiệu

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

Từ khóa liên quan

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

Tài liệu liên quan