nghiên cứu khai phá luật kết hợp mở

73 501 1
nghiên cứu khai phá luật kết hợp mở

Đ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

LỜI CẢM ƠN Em xin chân thành cảm ơn Khoa Công nghệ thông tin - Đại học Thái Nguyên tạo điều kiện cho em thực đồ án Trong suốt thời gian học tập rèn luyện, em quý thầy cô tận tình dạy bảo Lời trước tiên em xin gửi đến tất thầy cô Khoa Công nghệ thông tin - Đại học Thái Nguyên lòng biết ơn sâu sắc thầy cô dành cho em suốt thời gian qua Và gửi lòng cảm ơn sâu sắc đến bạn bè, người thân ủng hộ giúp đỡ động viên năm học vừa qua Và hết em xin chân thành cảm ơn thầy giáo Th.S Vũ Vinh Quang, người tận tình hướng dẫn giúp đỡ cho em nhiều mặt kiến thức ủng hộ, động viên mặt tinh thần Mặc dù cố gắng nhiều, lĩnh vực nghiên cứu mới, khả thời gian có hạn nên đồ án nhiều thiếu sót Em mong đóng góp ý kiến thầy cô bạn Em xin chân thành cảm ơn! Sinh viên : Nguyễn Bình Minh MỤC LỤC LỜI CẢM ƠN MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU .5 1.1 Khai phá liệu 1.1.1 Mục tiêu khai phá liệu .5 1.1.2 Định nghĩa khai phá liệu 1.1.3 Các bước khám phá tri thức (KDD) 1.2 Hướng tiếp cận kỹ thuật áp dụng khai phá liệu 1.2.1 Hướng tiếp cận kỹ thuật khai phá liệu 1.2.2 Các dạng liệu khai phá 10 1.3 Ứng dụng khai phá liệu 11 1.3.1 Ứng dụng khai phá liệu 11 1.3.2Phân loại hệ thống khai phá liệu .11 1.4 Những vấn đề trọng khai phá liệu 12 CHƯƠNG : LUẬT KẾT HỢP 13 2.1 Ý nghĩa luật kết hợp 13 2.2 Phát biểu toán khai phá luật kết hợp 15 2.3 Những hướng tiếp cận khai phá luật kết hợp 17 CHƯƠNG 3: KHAI PHÁ LUẬT KẾT HỢP MỜ 20 3.1 Luật kết hợp có thuộc tính số 20 3.1.1 Luật kết hợp có thuộc tính số 20 3.1.2 Các phương pháp rời rạc hóa 22 3.2 Luật kết hợp mờ .25 3.2.1 Rời rạc hóa thuộc tính dựa vào tập mờ .25 3.2.2 Luật kết hợp mờ 28 3.2.3 Thuật toán khai phá luật kết hợp mờ 33 3.2.4 Chuyển luật kết hợp mờ luật kết hợp với thuộc tính số 40 CHƯƠNG IV: ĐÁNH GIÁ THUẬT TOÁN VÀ .41 CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 41 4.1 Đánh giá thuật toán 41 4.2 Chương trình thử nghiệm 47 KẾT LUẬN 50 Hướng nghiên cứu tương lai: 51 PHỤ LỤC MÃ NGUỒN CHƯƠNG TRÌNH .51 } 71 TÀI LIỆU THAM KHẢO 71 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN .72 LỜI MỞ ĐẦU Ngày đại công nghiệp phát triển, thường hay nghe nói đến thuật ngữ người bị “chìm ngập” biển liệu Mặt khác tất liệu dạng chuỗi xâu kí tự (các dạng văn bản), dạng số,… Nếu dạng thô chúng ý nghĩa mà có ý nghĩa chúng gửi tới chương trình lưu trữ liệu phải xử lí Từ thúc đẩy người có động nghiên cứu đối tượng liệu để tìm hiểu chúng Thông qua việc khai phá liệu phát tri thức Từ giúp nhận tri thức tích hợp thông tin, bao gồm kiện, sở lập luận mối quan hệ đối tượng giúp lĩnh hội tri thức, khám phá học tập từ tri thức thu Hơn thập kỷ trở lại đây, khai phá liệu trở thành hướng nghiên cứu lĩnh vực khoa học máy tính công nghệ tri thức Trong trình phát triển với hàng loạt nghiên cứu, đề xuất thử nghiệm ứng dụng thành công vào đời sống chứng tỏ khai phá liệu lĩnh vực nghiên cứu ổn định, có tảng lý thuyết vững xem “sớm nở, tối tàn” số nhà tin học trước nghi ngờ Khai phá liệu bao hàm nhiều hướng tiếp cận Các kỹ thuật áp dụng lĩnh vực phần lớn thừa kế từ lĩnh vực sở liệu, học máy (machine learning), trí tuệ nhân tạo (artificial intellgence), lý thuyết thông tin (information theory), xác suất thống kê (probality & statistics), tính toán hiệu cao (high performance computing) Các toán chủ yếu khai phá liệu phân lớp/dự đoán (classification/prediction), phân cụm (clustering), khai phá luật kết hợp (association rules mining), khai phá chuỗi (sequence mining), v.v Lĩnh vực điểm hội tụ giao thoa nhiều lĩnh vực khác Khai phá liệu ứng dụng thành công thương mại, tài thị trường chứng khoán, sinh học, y học, giáo dục, viễn thông v.v Khai phá luật kết hợp nội dung quan trọng khai phá liệu khởi xướng từ năm 1993 Ý thức lĩnh vực nghiên cứu có nhiều triển vọng, em chọn đề tài “Nghiên cứu thuật toán khai phá luật kết hợp mờ” cho đồ án tốt nghiệp Đồ án thực dựa số nghiên cứu lĩnh vực khai phá luật kết hợp số tác giả nước giới năm gần CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá liệu 1.1.1 Mục tiêu khai phá liệu Hơn hai thập niên trở lại đây, lượng thông tin lưu trữ thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v…) không ngừng tăng lên Sự tích lũy liệu xảy với tốc độ bùng nổ Người ta ước đoán rằng, lượng thông tin toàn cầu tăng gấp đôi sau khoảng hai năm theo số lượng kích cỡ CSDL tăng lên cách nhanh chóng Hình - Lượng liệu tích lũy tăng mạnh theo thời gian Trong lĩnh vực kinh doanh, nhà quản lý thực “ngập” liệu, lại cảm thấy “đói” tri thức thông tin hữu ích Lượng liệu khổng lồ thực nguồn “tài nguyên” giá trị thông tin yếu tố then chốt hoạt động thương mại thông tin giúp người điều hành quản lý có nhìn sâu sắc, xác, khách quan vào tiến trình kinh doanh trước định Khai phá liệu – khai thác thông tin tiềm ẩn mang tính dự đoán từ CSDL lớn – hướng tiếp cận với khả giúp đơn vị, tổ chức trọng vào thông tin có nhiều ý nghĩa từ tập hợp liệu lớn (databases, data warehouses, data repositories) mang tính lịch sử Những công cụ khai phá liệu dự đoán xu hướng tương lai cho phép tổ chức, doanh nghiệp định kịp thời định hướng tri thức mà khai phá liệu đem lại Sự phân tích liệu cách tự động mang tính dự báo khai phá liệu có ưu hẳn so với phân tích thông thường dựa kiện khứ hệ hỗ trợ định (Decision support system – DSSs) truyền thống trước Công cụ khai phá liệu trả lời câu hỏi lĩnh vực kinh doanh mà trước xem tốn nhiều thời gian để xử lý Với tất ưu trên, khai phá liệu chứng tỏ tính hữu dụng môi trường kinh doanh đầy tính cạnh tranh ngày Giờ đây, khai phá liệu trở thành hướng nghiên cứu lĩnh vực khoa học máy tính công nghệ tri thức Phạm vi ứng dụng ban đầu khai phá liệu lĩnh vực thương mại (bán lẻ) tài (thị trường chứng khoán) Nhưng ngày nay, khai phá liệu ứng dụng rộng rãi lĩnh vực khác tin – sinh (bio – informatics), điều trị y học (medical (telecommunication), giáo dục (education), v.v 1.1.2 Định nghĩa khai phá liệu treatment), viễn thông Với nội dung trình bày trên, hiểu cách sơ lược khai phá liệu trình tìm kiếm thông tin (tri thức) hữu ích, tiềm ẩn mang tính dự báo tập liệu lớn Như vậy, nên gọi trình khám phá tri thức (KDD) thay khai phá liệu Tuy nhiên số nhà khoa học đồng ý với hai thuật ngữ tương đương thay cho nhau, họ lý giải rằng, mục đích trình khám phá tri thức thông tin tri thức có ích, đối tượng mà phải xử lý nhiều suốt trình lại liệu Mặt khác, chia bước trình khám phá tri thức, nhiều nhà khoa học khác lại cho rằng, khai phá liệu bước trình KDD Như vậy, xét mức không thật chi tiết hai thuật ngữ xem đồng nghĩa, xét cụ thể khai phá liệu lại bước trình KDD Do phát triển nhanh, giao thoa nhiều lĩnh vực nên tồn số định nghĩa khai phá liệu, định nghĩa định nghĩa mang tính mô tả Xin trích vài định nghĩa nguyên tiếng Anh nhằm chuyển tải y nguyên ý tác giả tránh sai sót chủ quan: - Định nghĩa William J Frawley, Gregory Piatetsky-Shapiro, Christopher J Matheus (1991): “Knowledge discovery in database, also known Data mining, is the non-trivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data.” - Định nghĩa Marcel Holshemier Arno Siebes (1994): “Data Mining is the search for relationships and global patterns that exist in large database but are ‘hidden’ among the vast amount of data, such as a relationship between patient data and their medical diagnosis These relationships represent valuable khowledge about the database and the objects in the database and, if the database is a faithful mirror, of the real world registered by the database.” 1.1.3 Các bước khám phá tri thức (KDD) Người ta thường chia trình khám phá tri thức thành bước sau: - Trích chọn liệu (data selection): bước trích chọn tập liệu cần khai phá từ tập liệu lớn (databases, data warehouses, data repositories) ban đầu theo số tiêu chí định nhằm phục vụ mục đích khai phá tri thức - Tiền xử lý liệu (data preprocessing): bước làm liệu (xử lý với liệu không đầy đủ, liệu nhiễu, liệu không quán, v.v ), rút gọn liệu (sử dụng hàm nhóm tính tổng, phương pháp thu gọn liệu, sử dụng histograms, lấy mẫu, v.v ), rời rạc hóa liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, v.v ) Sau bước này, liệu quán, đầy đủ, rút gọn, rời rạc hóa - Biến đổi liệu (data transformation): bước chuẩn hóa làm mịn liệu để đưa dạng thuận lợi nhằm phục vụ cho kỹ thuật khai phá bước sau - Khai phá liệu (data mining): bước áp dụng kỹ thuật khai phá (phần nhiều kỹ thuật machine learning) để khai phá, trích chọn mẫu (patterns) thông tin, mối liên hệ (relationships) đặc biệt liệu Đây xem bước quan trọng tốn nhiều thời gian toàn trình KDD - Biểu diễn đánh giá tri thức (knowledge representation & evaluation): mẫu thông tin mối liên hệ liệu khai phá bước chuyển dạng biểu diễn dạng gần gũi với người sử dụng đồ thị, cây, bảng biểu, luật, v.v Đồng thời bước đánh giá tri thức khám phá the tiêu chí định Hình – Các bước trình khám phá tri thức (KDD) 1.2 Hướng tiếp cận kỹ thuật áp dụng khai phá liệu 1.2.1 Hướng tiếp cận kỹ thuật khai phá liệu Các hướng tiếp cận khai phá liệu phân chia theo chức hay lớp toán khác Sau số hướng tiếp cận - Phân lớp dự đoán (classification and prediction): xếp đối tượng vào lớp biết trước Ví dụ: phân lớp vùng địa lý theo liệu thời tiết Hướng tiếp cận thường sử dụng số kỹ thuật machine learning định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Phân lớp gọi học có giám sát (học có thầy – supervised learning) - Luật kết hợp (association rules): dạng luật biểu diễn tri thức dạng đơn giản Ví dụ: “khách hàng độ tuổi 20-22 mua thiệp thường mua thêm đĩa nhạc” Luật kết hợp ứng dụng nhiều lĩnh vực kinh doanh, y học, tin – sinh, tài thị trường chứng khoán, v.v - Khai phá chuỗi theo thời gian (sequential/temporal patterns): tương tự khai phá luật kết hợp có thêm tính thứ tự tính thời gian Hướng tiếp cận ứng dụng nhiều lĩnh vực tài thị trường chứng khoán có tính dự báo cao - Phân cụm (clustering/segmentation): xếp đối tượng theo cụm (số lượng tên cụm chưa biết trước) Phân cụm gọi học không giám sát (học không thầy – unsupervised learning) - Mô tả khái niệm (concept description and summarization): thiên mô tả, tổng hợp tóm tắt khái niệm 1.2.2 Các dạng liệu khai phá Do khai phá liệu ứng dụng rộng rãi nên có nhiều kiểu liệu khác chấp nhận khai phá liệu Sau số kiểu liệu điển hình - CSDL quan hệ (relational database): sở liệu tác nghiệp tổ chức theo mô hình liệu quan hệ Hầu hết hệ quản trị CSDL hỗ trợ dạng CSDL Oracle, IBM DB2, MS SQL Server, MS Access, v.v - CSDL đa chiều (multidimensional structures, data warehouses, data mart): kho liệu tập hợp, chọn lọc từ nhiều nguồn liệu khác Dạng liệu có mang tính lịch sử (có thuộc tính thời gian) chủ yếu phục vụ cho trình phân tích khai phá tri thức nhằm hỗ trợ trình định - CSDL dạng giao dịch (transactional database): dạng CSDL tác nghiệp, ghi thường giao dịch Dạng liệu phổ biến lĩnh vực thương mại ngân hàng 10 { MyMessageBox.ContactTechSupport("VALID REFERENCE EXPECTED"); } return; DataType = ptrItem.DataType; m_lstFuzzySet.Items.Clear(); int nFS = ptrItem.FuzzySets.Count; for (int i = 0; i < nFS; i++) { CFuzzySet ptrFS = (CFuzzySet)ptrItem.FuzzySets[i]; m_lstFuzzySet.Items.Add(ptrFS.Name); } if (ptrItem.CurrentFS != null) { int index = m_lstFuzzySet.Items.IndexOf(ptrItem.CurrentFS.Name); } if (index >= 0) { m_lstFuzzySet.SelectedIndex = index; } OnList_FuzzySet(); } private void OnList_FuzzySet() { int idx = m_lstFuzzySet.SelectedIndex; if (idx < 0) { m_lstCtrlFSRange.Items.Clear(); return; } string fSName; // get the selected fuzzy set name fSName = m_lstFuzzySet.SelectedItem.ToString(); int dash = fSName.IndexOf('_'); // get the corresponding item name of this fuzzy set string itemName = fSName.Substring(0, dash); // lookup the item via its name CItem ptrItem = (CItem)m_mapItemName2Item.Lookup(itemName); // lookup the fuzzy set via its name CFuzzySet ptrFS = (CFuzzySet)ptrItem.MapFSName2FS.Lookup(fSName); ptrItem.CurrentFS = ptrFS; 59 txtThreshold.Text = ptrFS.Threshold.ToString(); // delete all ranges of previous fuzzy set m_lstCtrlFSRange.Items.Clear(); // reading all possible ranges of this fuzzy set int nRanges = ptrFS.FSRanges.Count; ListViewItem listrow = null; for (int i = 0; i < nRanges; i++) { listrow = new ListViewItem(); CFSRange ptrRange = (CFSRange)ptrFS.FSRanges[i]; // range ID string rangeID = ptrRange.RangeID.ToString(); listrow.SubItems[0].Text = rangeID; // start value listrow.SubItems.Add(ptrRange.Start); // end value listrow.SubItems.Add(ptrRange.End); string value; if (ptrRange.IsConst) { value = ptrRange.Value.ToString(); } else { value = ptrRange.Function; } // value (constant or function) listrow.SubItems.Add(value); } m_lstCtrlFSRange.Items.Add(listrow); } private void m_lstItem_SelectedIndexChanged(object sender, EventArgs e) { // TODO: Add your control notification handler code here int idx = m_lstItem.SelectedIndex; string itemName = ""; string description = ""; if (idx >= 0) { itemName = m_lstItem.SelectedItem.ToString(); CItem ptrItem = (CItem)m_mapItemName2Item.Lookup(itemName); if (ptrItem != null) 60 { // show the discription for the corresponding item description = ptrItem.Description; } } } txtDescription.Text = description; private void m_btnAddFuzzySet_Click(object sender, EventArgs e) { int idx = m_lstMinedItem.SelectedIndex; if (idx < 0) { MyMessageBox.ShowError("You must select an item for adding fuzzy set"); return; } string itemName; itemName = m_lstMinedItem.SelectedItem.ToString(); AddFuzzySetDlg addFuzzySetDlg = new AddFuzzySetDlg(itemName + "_"); CItem ptrItem = (CItem)m_mapItemName2Item.Lookup(itemName); // pass this pointer (point to item) to addFuzzySetDlg dialog addFuzzySetDlg.Item = ptrItem; double minValue = double.Parse(ptrItem.ArrValues[0].ToString()); double maxValue = double.Parse(ptrItem.ArrValues[1].ToString()); // convert double values into integers addFuzzySetDlg.MinItemValue = (int)(minValue); addFuzzySetDlg.MaxItemValue = (int)(maxValue); } if (addFuzzySetDlg.ShowDialog() == DialogResult.OK) { OnList_MinedItems(); } private void m_btnRemoveFuzzySet_Click(object sender, EventArgs e) { // TODO: Add your control notification handler code here int idxFS = m_lstFuzzySet.SelectedIndex; // checking whether users specify a fuzzy set for removing if (idxFS < 0) { MyMessageBox.ShowError("You must select a fuzzy set from the fuzzy set list"); return; } string strFSName; 61 // get name of fuzzy set strFSName = m_lstFuzzySet.SelectedItem.ToString(); int idxItem = m_lstMinedItem.SelectedIndex; // checking whether users select an item if (idxItem < 0) { MyMessageBox.ShowError("No item is currently selected"); return; } string strItemName; // get name of the selected item strItemName = m_lstMinedItem.SelectedItem.ToString(); // lookup the item via its name CItem ptrItem = (CItem)m_mapItemName2Item.Lookup(strItemName); // remove this fuzzy set ptrItem.RemoveFuzzySet(strFSName); m_lstFuzzySet.Items.RemoveAt(idxFS); m_lstCtrlFSRange.Items.Clear(); } e) private void m_btnModifyFuzzySet_Click(object sender, EventArgs { AddFuzzySetDlg modifyFuzzySetDlg = new AddFuzzySetDlg(); int idxFS = m_lstFuzzySet.SelectedIndex; if (idxFS < 0) { MyMessageBox.ShowError("You must select a fuzzy set from the fuzzy set list"); return; } string strFSName; strFSName = m_lstFuzzySet.SelectedItem.ToString(); int idxItem = m_lstMinedItem.SelectedIndex; if (idxItem < 0) { MyMessageBox.ShowError("No item is currently selected"); return; } string strItemName; strItemName = m_lstMinedItem.SelectedItem.ToString(); CItem ptrItem = (CItem)m_mapItemName2Item.Lookup(strItemName); CFuzzySet ptrFS = (CFuzzySet)ptrItem.MapFSName2FS.Lookup(strFSName); ; modifyFuzzySetDlg.Item = ptrItem; 62 modifyFuzzySetDlg.FuzzySet = ptrFS; modifyFuzzySetDlg.FuzzySetName = strFSName; double minValue = double.Parse(ptrItem.ArrValues[0].ToString()); double maxValue = double.Parse(ptrItem.ArrValues[1].ToString()); modifyFuzzySetDlg.MinItemValue = (int)(minValue); modifyFuzzySetDlg.MaxItemValue = (int)(maxValue); if (modifyFuzzySetDlg.ShowDialog() == DialogResult.OK) { OnList_MinedItems(); } } private void OnCalculate() { m_lstCtrlMinedData.Items.Clear(); m_lstCtrlMinedData.Clear(); m_mapMinedItemName2Item.RemoveAll(); m_mapMinedItemID2Item.RemoveAll(); string strMinedItemName; CItem ptrItem; int nMinedItems = m_lstMinedItem.Items.Count; if (nMinedItems = m_floatMinSup) { ptrFIS.Supprot = support; m_ptrFISs.AddFreItemSet(ptrFIS); } } else { } } private void Join(int k) { int i, j, card; ArrayList ptrArr; BitSet ptrBs; CFreItemSet ptrFIS; ptrArr = m_ptrFISs.LookupOnItemsetSize(k); if (ptrArr == null) return; 66 card = ptrArr.Count; for (i = 0; i < card - 1; i++) { for (j = i + 1; j < card; j++) { ptrBs = new BitSet(m_intCols); CFreItemSet ptrFISI = (CFreItemSet)ptrArr[i]; CFreItemSet ptrFISJ = (CFreItemSet)ptrArr[j]; int max_i = ptrFISI.BsItemSet.GetMaxElement(); int max_j = ptrFISJ.BsItemSet.GetMaxElement(); if (ptrFISI.BsItemSet.MatchPrefix(ptrFISJ.BsItemSet) && (m_ptrIntItemIDs[max_i] != m_ptrIntItemIDs[max_j])) { ptrBs = ptrFISI.BsItemSet.Op_Union(ptrFISJ.BsItemSet); } ptrFIS = new CFreItemSet(ptrBs); m_ptrFISs.AddFreItemSet(ptrFIS); } } } private void Prune(int k) { if (k 0) { strRule = m_arrFuzzySetNames[temp[0]].ToString(); 70 for (i = 1; i < size; i++) strRule += " AND " + m_arrFuzzySetNames[temp[i]]; } strRule += " => "; bs.Convert2Array(out size, temp); if (size > 0) { strRule += m_arrFuzzySetNames[temp[0]]; for (i = 1; i < size; i++) strRule += " AND " + m_arrFuzzySetNames[temp[i]]; } } return strRule; private static string GetString(float number) { number = (float)Math.Round(number, 2); string result = number.ToString(); int index = result.IndexOf("."); if (index < 0) { result = result + ".00"; } else if (index == (result.Length-2)) { result = result + "0"; } return result; } } } TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt: [1] Đinh Mạnh Tường (2003), Trí tuệ nhân tạo, NXB Đại học Quốc gia Hà Nội [2] Hoàng Văn Kiếm (2004), Giải toán máy tính T3, NXB Giáo dục 71 [3] Phan Đình Diệu (1999), Logic hệ tri thức, NXB Đại học Quốc gia Hà Nội, Hà Nội Tài liệu tiếng Anh: [1] Ian H Witten & Eibe Frank (2005), Data Mining – Practical Machine Learning Tools and Techniques, Department of Computer Science ,University of Waikato [2] Alan Rea (1995), Data Mining – An Introduction, The Parallel Computer Centre, The Queen s University of Belfast [3] Jiawei Han and Micheline Kamber (2002), Data Mining: Concepts and Techniques, University of Illinois, Morgan Kaufmann Publishers [4] Attila Gyenesei (2000) A Fuzzy Approach for Mining Quantitative Association Rules Turku Centre for Computer Science, TUCS Technical Reports, No 336 [5] Heikki Mannila, Hannu Toivonen, and A Inkeri Verkamo (1994), ” Efficient Algorithms for Discovering Association Rules, In KDD-1994: AAAI Workshop on Knowledge Discovery in Databases, pages 181-192, Seattle, Washington NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… 72 ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………… Thái Nguyên, Ngày ….Tháng…Năm 2007 Giáo viên hướng dẫn Th.S Vũ Vinh Quang 73 [...]... xuất, chúng có thể phụ thuộc hoặc độc lập với nền tảng phần cứng Luật kết hợp tiếp cận theo hướng tập thô (mining association rules based on rough set): tìm kiếm luật kết hợp dựa trên lý thuyết tập thô Ngoài ra, còn một số hướng nghiên cứu khác về khai phá luật kết hợp như: khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều (multidimensional... các luật kết hợp sau đây: Luật kết hợp Thỏa mãn minconf ≥ 70%? %   → CW A 100 Có % C 67→  AW Không %  W 80→ AC Có % AC 100   → W Có %   → C AW 100 Có % C 80→  AW Có Bảng 3 - Luật kết hợp sinh từ tập phổ biến ACW 2.3 Những hướng tiếp cận chính trong khai phá luật kết hợp Kể từ khi được R Agrawal đề xuất vào năm 1993, lĩnh vực khai phá luật kết hợp đến nay đã được nghiên cứu và phát... (Relational OLAP), ADO (ActiveX Data Object) for OLAP v.v CHƯƠNG 3: KHAI PHÁ LUẬT KẾT HỢP MỜ 3.1 Luật kết hợp có thuộc tính số 3.1.1 Luật kết hợp có thuộc tính số Khai phá luật kết hợp với thuộc tính số và thuộc tính hạng mục (quantitative and categorical association rule) là một trong những hướng tiếp 20 cận quan trọng trong lĩnh vực khai phá luật kết hợp (đã được đề cập ở mục 2.3) Bảng dữ liệu sau đây minh... tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn, v.v Sau đây là một số hướng chính Luật kết hợp nhị phân (binary association rule hoặc boolean association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục (thuộc tính) chỉ được quan tâm là có... độ do áp dụng được những chiến lược cắt tỉa “tinh xảo” hơn các thuật toán trước đó Khai phá luật kết hợp song song (parallel mining of assocation rules): bên cạnh khai phá luật kết hợp với các giải thuật tuần tự, các nhà tin học cũng tập trung vào nghiên cứu các giải thuật song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày... thuộc tính đã được mờ hóa Luật kết hợp nhiều mức (multi – level association rules): ngoài các dạng luật trên, các nhà nghiên cứu còn đề xuất một hướng nghiên cứu nữa về luật kết hợp là luật kết hợp nhiều mức Với cách tiếp cận này, người ta sẽ tìm kiếm thêm những luật có dạng “Mua máy tính PC => Mua hệ điều hành AND Mua phần mềm tiện ích văn phòng…” thay vì chỉ những luật quá cụ thể như “Mua máy tính... là 100% Hướng tiếp cận được đề xuất nhằm tìm kiếm luật kết hợp dạng nêu trên bằng cách phân khoảng miền giá trị của các thuộc tính số và thuộc tính hạng mục để chuyển tất cả vể thuộc tính nhị phân rồi sau đó áp dụng các thuật toán điển hình trong khai phá luật kết hợp nhị phân trước đây 3.1.2 Các phương pháp rời rạc hóa Các thuật toán khai phá luật kết hợp nhị phân chỉ có thể áp dụng trên những CSDL... minconf nào đó do người dùng xác định: c ≥ minconf Bài toán khai phá luật kết hợp (ở dạng đơn giản nhất) đặt ra như sau: 16 Cho một CSDL D, độ hỗ trợ tối thiểu minsup, độ tin cậy tối thiểu minconf Hãy tìm kiếm tất cả các luật kết hợp có dạng X → Y thỏa mãn độ hỗ trợ s(X ∪ Y) / s(X) ≥ minconf Hầu hết các thuật toán được đề xuất để khai phá luật kết hợp thường chia bài toán này thành hai pha: - Pha 1: Tìm... dạng luật mới: Luật kết hợp mờ Dạng luật này không chỉ khắc phục những điểm yếu của vấn đề phân khoảng mà còn đem lại một dạng luật tự nhiên hơn về mặt ngữ nghĩa, gần gũi hơn với người sử dụng Với dạng luật này, những luật kết hợp dạng “ AND AND => , với độ hỗ trợ 23.53% và độ tin cậy là 80%” sẽ được biểu diễn lại thành luật kết hợp mờ... đó vẫn có thể áp dụng các thuật toán khai phá luật kết hợp nhị phân vào khai phá khai phá luật kết hợp mờ với một chút sửa đổi Ví dụ tính chất “mọi tập con khác rỗng của tập phổ biến cũng là tập phổ biến và mọi tập chứa tập không phổ biến đều là tập không phổ biến” (downward closure property) vẫn còn đúng nếu chúng ta chọn được phép toán T – norm (T - chuẩn) phù hợp Một ưu điểm nữa đối với rời rạc hóa ... kỹ thuật áp dụng khai phá liệu 1.2.1 Hướng tiếp cận kỹ thuật khai phá liệu 1.2.2 Các dạng liệu khai phá 10 1.3 Ứng dụng khai phá liệu 11 1.3.1 Ứng dụng khai phá liệu ... CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU .5 1.1 Khai phá liệu 1.1.1 Mục tiêu khai phá liệu .5 1.1.2 Định nghĩa khai phá liệu 1.1.3... toán khai phá luật kết hợp mờ” cho đồ án tốt nghiệp Đồ án thực dựa số nghiên cứu lĩnh vực khai phá luật kết hợp số tác giả nước giới năm gần CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá

Ngày đăng: 30/12/2015, 18:35

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan