Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị

79 357 0
Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị

Đ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

MỞ ĐẦU Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và ứng dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì lượng dữ liệu được các cơ quan thu thập và lưu trữ ngày một nhiều lên. Người ta lưu trữ những dữ liệu này vì cho rằng nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì và có thể làm gì với những dữ liệu này, nhưng họ vẫn tiếp tục thu thập và lưu trữ vì hi vọng những dữ liệu này sẽ cung cấp cho họ những thông tin quý giá một cách nhanh chóng để đưa ra những quyết định kịp thời vào một lúc nào đó. Chính vì 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ật phát hiện tri thức và khai phá dữ liệu. Một trong những công cụ khai phá tri thức hiệu quả hiện nay là sử dụng cây quyết định để tìm ra các luật phân lớp. Thông thường phân loại cây quyết định được sử dụng để phân loại dữ liệu có thuộc tính đơn trị. Tuy nhiên, trong thực tế có rất nhiều vấn đề phân lớp cần phải giải quyết với các dữ liệu đa giá trị. Dữ liệu đa giá trị có nghĩa là một bản ghi có thể có nhiều giá trị cho một thuộc tính chứ không phải là giá trị duy nhất. Ví dụ, nếu chúng ta có một dữ liệu du lịch bao gồm giới tính là nữ và thu nhập $750, theo phương pháp phân loại truyền thống thì chỉ dự đoán cô ấy có thể tham gia tour du lịch C1, nhưng phân lớp mới có thể dự đoán cô ấy có khả năng tham gia tour du lịch C1, C2 hoặc C3. Hầu hết các phân loại không có khả năng xử lý dữ liệu với thuộc tính đa trị. Vì vậy, đó là lý do tôi chọn đề tài luận văn là: “Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị” để xây dựng cây quyết định cho dữ liệu đa trị. MMC (Multi-valued and Multi-labeled Classifier) và MMDT (Multi-valued and Multi-labeled Decision Tree) khác với phân loại cây quyết định truyền thống trong một số chức năng chính bao gồm phát triển một cây quyết định, lựa chọn thuộc tính, gán nhãn cho một nút lá và thực hiện dự đoán cho một dữ liệu mới. MMC chủ yếu dựa trên độ đo giống nhau giữa nhiều nhãn; MMDT chủ yếu dựa trên cả độ đo giống nhau và tỉ lệ đo giống nhau giữa nhiều nhãn. Những năm gần đây việc xây dựng cây quyết định cho bảng dữ liệu đa trị được nhiều nhà khoa học quan tâm nghiên cứu. Nhiều nhà khoa học trên thế giới đã nghiên cứu ra các thuật toán để giải quyết vấn đề dữ liệu đa trị; chẳng hạn như: Ba nhà khoa học là Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou đã nghiên cứu thuật toán MMC [1], hai nhà khoa học là Shihchieh Chou, Chang-Ling Hsu đã nghiên cứu thuật toán MMDT [2] nhằm cải thiện thuật toán MMC và một nhóm nhà khoa học gồm (Hong Li, Rui Zhao, Jianer Chen and Yao Xiang) nghiên cứu thuật toán SSC (Similarity of Same and Consistent) [3], ngoài ra còn có các thuật toán ADMT [4], SSC_SP1, SSC_SP2,… Đề tài nghiên cứu của luận văn nhằm góp phần giải quyết thuộc tính đa trị và thuộc tính số. Mục đích nghiên cứu của luận văn nhằm tìm hiểu những vấn đề sau:  Tìm hiểu bảng quyết định đa trị.  Tìm hiểu hai thuật toán MMC và MMDT.  Cài đặt hai thuật toán. Để hoàn thành luận văn này, tác giả phải phân tích và tổng hợp tài liệu từ các bài báo khoa học trong và ngoài nước; Nghiên cứu lý thuyết, phân tích, khái quát, từ đó rút ra những vấn đề cần giải quyết của đề tài luận văn. Cấu trúc luận văn bao gồm phần mở đầu, ba chương nội dung chính, phần kết luận và tài liệu tham khảo. Chương 1. Tổng quan về phân lớp dữ liệu dựa trên cây quyết định. Trong chương này, trình bày tổng quan về phân lớp dữ liệu, ứng dụng phân lớp dữ liệu dựa trên cây quyết định, mô tả thuật toán xây dựng cây quyết định đơn trị dựa vào phương pháp Hunt làm tư tưởng chủ đạo. Chương 2. Thuật toán MMC và MMDT. Trong chương này, trình bày tổng quan về bảng dữ liệu đa trị, cây quyết định đa trị, cách dự đoán một dữ liệu đa trị mới, các

B GIO DC V O TO I HC HU TRNG I HC KHOA HC HUNH TH HNG NHN Tìm hiểu thuật toán MMC MMDT bảng định đa trị CHUYấN NGNH: KHOA HC MY TNH M S: 60.48.01.01 LUN VN THC S KHOA HC MY TNH Hu, 2015 MC LC Li cam oan Li cm n Mc lc Danh mc cỏc bng Danh mc cỏc hỡnh M U Chng PHN LP D LIU DA TRấN CY QUYT NH 1.1 Tng quan v phõn lp d liu 1.2 Cõy quyt nh 1.3 Mt s thut toỏn xõy dng cõy quyt nh n tr 14 1.4 Tiu kt chng 20 Chng THUT TON MMC V MMDT 21 2.1 Tng quan v bng quyt nh a tr 21 2.1.1 nh ngha d liu a tr 21 2.1.2 Cõy quyt nh a tr 22 2.1.3 Phõn lp vi d liu a tr 24 2.1.4 Mt s ký hiu s dng MMC v MMDT 24 2.2 Thut toỏn MMC (Multi-valued and Multi-labeled Classifier) 26 2.2.1 Trng s tng t gia cỏc nhón 26 2.2.2 Mt s tớnh cht ca trng s tng t 27 2.2.3 Thut toỏn MMC 28 2.2.4 Xỏc nh nỳt v cỏc nhỏnh (Gii quyt bc n bc 6) 30 2.2.5 Xỏc nh nỳt lỏ (bc 10) 34 2.3 Thut toỏn MMDT (Multi-valued and Multi-labeled Decision Tree) 36 2.3.1 tng t nhón (Label similarity) 36 2.3.2 T l nhón (Label Ratio) 37 2.3.3 Thut toỏn MMDT 40 2.3.4 Hm next_attribute ca MMDT 41 2.3.5 Hm weighted-labelRatio 42 2.4 Tiu kt chng 45 Chng CI T V Mễ PHNG NG DNG 46 3.1 Gii thiu 46 3.2 Bi toỏn h tr mua mỏy tớnh 46 3.2.1 Phỏt biu 46 3.2.2 Ci t 48 3.3 Bi toỏn h tr chn Tour du lch 53 3.3.1 Phỏt biu 53 3.3.2 Ci t 55 3.4 Tiu kt chng 59 KT LUN V HNG PHT TRIN 60 TI LIU THAM KHO 61 DANH MC CC T VIT TT MMC Multi-valued and Multi-labeled Classifier MMDT Multi-valued and Multi-labeled Decision Tree DANH MC CC BNG S hiu Tờn bng bng Trang 1.1 Mó gi ca thut toỏn phõn lp d liu da trờn cõy quyt nh 14 2.1 Tp d liu hun luyn a tr 21 2.2 Mt s lut t cõy quyt nh Hỡnh 23 2.3 Bng tng t gia hai nhón bt k 27 2.4 Thut toỏn MMC 29 2.5 Hm phõn chia khong cho thuc tớnh s 30 2.6 Hm chn thuc tớnh phõn nhỏnh 32 2.7 Bng tng t da trờn s xut hin ca A, B, C 37 2.8 Bng tham chiu da trờn s xut hin ca nhón A, B, C 39 2.9 Thut toỏn MMDT 40 2.10 Hm chn thuc tớnh tt nht ca thut toỏn MMDT 42 3.1 D liu khỏch hng mua mỏy tớnh 47 3.2 D liu khỏch hng i du lch 54 DANH MC CC HèNH S hiu Tờn hỡnh v Trang hỡnh v 1.1 Quỏ trỡnh phõn lp d liu(a) Bc xõy dng mụ hỡnh phõn lp 1.2 Quỏ trỡnh phõn lp d liu(b1)c lng chớnh xỏc ca mụ hỡnh 1.3 Quỏ trỡnh phõn lp d liu (b2) Phõn lp d liu mi 1.4 c lng chớnh xỏc ca mụ hỡnh phõn lp vi pp holdout 1.5 Vớ d v cõy quyt nh 10 1.6 S xõy dng cõy quyt nh theo phng phỏp ng b 17 1.7 S xõy dng cõy quyt nh theo phng phỏp phõn hoch 19 1.8 S xõy dng cõy quyt nh theo phng phỏp lai 20 2.1 Cõy quyt nh a tr 22 3.1 D liu chn mua mỏy tớnh 48 3.2 tng t ca MMC 49 3.3 T l tng t ca MMDT 50 3.4 Cõy quyt nh h tr mua mỏy tớnh 51 3.5 Cỏc lut h tr mua mỏy tớnh 52 3.6 D oỏn mt d liu mi 52 3.7 D liu chn tour du lch 55 3.8 tng t ca MMC 56 3.9 T l tng t ca MMDT 57 3.10 Cõy quyt nh h tr chn tour du lch 58 3.11 Cỏc lut h tr chn tour du lch 58 3.12 D oỏn d liu mi 29 M U Trong nhiu nm qua, cựng vi s phỏt trin ca cụng ngh thụng tin v ng dng ca cụng ngh thụng tin nhiu lnh vc ca i sng xó hi, thỡ lng d liu c cỏc c quan thu thp v lu tr ngy mt nhiu lờn Ngi ta lu tr nhng d liu ny vỡ cho rng nú n cha nhng giỏ tr nht nh no ú Tuy nhiờn theo thng kờ thỡ ch cú mt lng nh ca nhng d liu ny (khong t 5% n 10%) l luụn c phõn tớch, s cũn li h khụng bit s phi lm gỡ v cú th lm gỡ vi nhng d liu ny, nhng h tip tc thu thp v lu tr vỡ hi vng nhng d liu ny s cung cp cho h nhng thụng tin quý giỏ mt cỏch nhanh chúng a nhng quyt nh kp thi vo mt lỳc no ú Chớnh vỡ vy, cỏc phng phỏp qun tr v khai thỏc c s d liu truyn thng ngy cng khụng ỏp ng c thc t ó lm phỏt trin mt khuynh hng k thut mi ú l k thut phỏt hin tri thc v khai phỏ d liu Mt nhng cụng c khai phỏ tri thc hiu qu hin l s dng cõy quyt nh tỡm cỏc lut phõn lp Thụng thng phõn loi cõy quyt nh c s dng phõn loi d liu cú thuc tớnh n tr Tuy nhiờn, thc t cú rt nhiu phõn lp cn phi gii quyt vi cỏc d liu a giỏ tr D liu a giỏ tr cú ngha l mt bn ghi cú th cú nhiu giỏ tr cho mt thuc tớnh ch khụng phi l giỏ tr nht Vớ d, nu chỳng ta cú mt d liu du lch bao gm gii tớnh l n v thu nhp $750, theo phng phỏp phõn loi truyn thng thỡ ch d oỏn cụ y cú th tham gia tour du lch C1, nhng phõn lp mi cú th d oỏn cụ y cú kh nng tham gia tour du lch C1, C2 hoc C3 Hu ht cỏc phõn loi khụng cú kh nng x lý d liu vi thuc tớnh a tr Vỡ vy, ú l lý tụi chn ti lun l: Tỡm hiu cỏc thut toỏn MMC v MMDT trờn bng quyt nh a tr xõy dng cõy quyt nh cho d liu a tr MMC (Multi-valued and Multi-labeled Classifier) v MMDT (Multi-valued and Multi-labeled Decision Tree) khỏc vi phõn loi cõy quyt nh truyn thng mt s chc nng chớnh bao gm phỏt trin mt cõy quyt nh, la chn thuc tớnh, gỏn nhón cho mt nỳt lỏ v thc hin d oỏn cho mt d liu mi MMC ch yu da trờn o ging gia nhiu nhón; MMDT ch yu da trờn c o ging v t l o ging gia nhiu nhón Nhng nm gn õy vic xõy dng cõy quyt nh cho bng d liu a tr c nhiu nh khoa hc quan tõm nghiờn cu Nhiu nh khoa hc trờn th gii ó nghiờn cu cỏc thut toỏn gii quyt d liu a tr; chng hn nh: Ba nh khoa hc l Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou ó nghiờn cu thut toỏn MMC [1], hai nh khoa hc l Shihchieh Chou, Chang-Ling Hsu ó nghiờn cu thut toỏn MMDT [2] nhm ci thin thut toỏn MMC v mt nhúm nh khoa hc gm (Hong Li, Rui Zhao, Jianer Chen and Yao Xiang) nghiờn cu thut toỏn SSC (Similarity of Same and Consistent) [3], ngoi cũn cú cỏc thut toỏn ADMT [4], SSC_SP1, SSC_SP2, ti nghiờn cu ca lun nhm gúp phn gii quyt thuc tớnh a tr v thuc tớnh s Mc ớch nghiờn cu ca lun nhm tỡm hiu nhng sau: Tỡm hiu bng quyt nh a tr Tỡm hiu hai thut toỏn MMC v MMDT Ci t hai thut toỏn hon thnh lun ny, tỏc gi phi phõn tớch v tng hp ti liu t cỏc bi bỏo khoa hc v ngoi nc; Nghiờn cu lý thuyt, phõn tớch, khỏi quỏt, t ú rỳt nhng cn gii quyt ca ti lun Cu trỳc lun bao gm phn m u, ba chng ni dung chớnh, phn kt lun v ti liu tham kho Chng Tng quan v phõn lp d liu da trờn cõy quyt nh Trong chng ny, trỡnh by tng quan v phõn lp d liu, ng dng phõn lp d liu da trờn cõy quyt nh, mụ t thut toỏn xõy dng cõy quyt nh n tr da vo phng phỏp Hunt lm t tng ch o Chng Thut toỏn MMC v MMDT Trong chng ny, trỡnh by tng quan v bng d liu a tr, cõy quyt nh a tr, cỏch d oỏn mt d liu a tr mi, cỏc lut c to t cõy quyt nh a tr Chng Chng trỡnh ci t Trong chng ny, tỏc gi ci t c hm chn thuc tớnh tt nht phõn nhỏnh l hm weighted-similarity ca MMC v hm similarity-ratio ca MMDT Phn kt lun nờu nhng kt qu ó t c v hng phỏt trin ca ti Vỡ thi gian cú hn v bn thõn bc u tỡm hiu v lnh vc ny nờn khụng th trỏnh nhng sai sút, kớnh mong s giỳp v gúp ý ca quý thy cụ v cỏc bn Chng PHN LP D LIU DA TRấN CY QUYT NH 1.1 Tng quan v phõn lp d liu 1.1.1 Phõn lp d liu Ngy phõn lp d liu l mt nhng hng nghiờn cu chớnh ca khai phỏ d liu Thc t t nhu cu l t mt c s d liu vi nhiu thụng tin n ngi cú th trớch rỳt cỏc quyt nh nghip v thụng minh Phõn lp v d oỏn l hai dng ca phõn tớch d liu nhm trớch rỳt mt mụ hỡnh mụ t cỏc lp d liu quan trng hay d oỏn xu hng d liu tng lai Phõn lp d oỏn giỏ tr ca nhng nhón xỏc nh hay nhng giỏ tr ri rc, cú ngha l phõn lp thao tỏc vi nhng i tng d liu m cú b giỏ tr l bit trc Trong ú, d oỏn li xõy dng mụ hỡnh vi cỏc hm nhn giỏ tr liờn tc Vớ d mụ hỡnh phõn lp d bỏo thi tit cú th cho bit thi tit ngy mai l ma, hay nng da vo nhng thụng s v m, sc giú, nhit , ca ngy hụm v cỏc ngy trc ú Hay nh cỏc lut v xu hng mua hng ca khỏch hng siờu th, cỏc nhõn viờn kinh doanh cú th nhng quyt sỏch ỳng n v lng mt hng cng nh chng loi by bỏn Mt mụ hỡnh d oỏn cú th d oỏn c lng tin tiờu dựng ca cỏc khỏch hng tim nng da trờn nhng thụng tin v thu nhp v ngh nghip ca khỏch hng Trong nhng nm qua, phõn lp d liu ó thu hỳt s quan tõm cỏc nh nghiờn cu nhiu lnh vc khỏc nh hc mỏy, h chuyờn gia, thng kờ Cụng ngh ny cng ng dng nhiu lnh vc khỏc nh: thng mi, nh bng, maketing, nghiờn cu th trng, bo him, y t, giỏo dc Phn ln cỏc thut toỏn i trc u s dng c ch d liu c trỳ b nh, thng thao tỏc vi lng d liu nh Mt s thut toỏn i sau ny ó s dng k thut c trỳ trờn a ci thin ỏng k kh nng m rng ca thut toỏn vi nhng d liu ln lờn ti hng t bn ghi Quỏ trỡnh phõn lp d liu gm hai bc [8]: 3.3.2.6 D oỏn d liu mi D oỏn d liu vi ThuNhap = 770, GioiTinh = N Hỡnh 3.12 D oỏn mt d liu mi 3.4 Tiu kt chng Chng ny ó ci t c cỏc hm tớnh toỏn MMC v MMDT Ngoi vớ d c th cng c mụ phng minh cho thut toỏn MMC v MMDT v vic a cỏc lut phõn lp KT LUN V HNG PHT TRIN Trong thi gian lm lun vn, tỏc gi ó hon thin lun vi cỏc mc tiờu t ban u C th lun ó t c nhng kt qu sau: Trỡnh by cỏc kin thc v phõn lp d liu, ng dng phõn lp d liu da trờn cõy quyt nh, thut toỏn tng quỏt xõy dng cõy quyt nh Trỡnh by hai thut toỏn xõy dng cõy quyt nh a tr l MMC (Multi-valued and Multi-labeled Classifier) v MMDT (Multi-valued and Multi-labeled Decision Tree), hm xỏc nh thuc tớnh tt nht phõn nhỏnh trc, hm x lý thuc tớnh kiu s, hm xỏc nh nỳt lỏ, cựng mt s vớ d minh cho cỏc hm ny Ci t bng C# hai thut toỏn MMC v MMDT trờn d liu thc t Mt s lun phi tip tc nghiờn cu, tỡm hiu: Tỡm d liu hun luyn cú nhiu bn ghi hn mụ hỡnh cõy quyt nh cú tin cy cao hn v hot ng hiu qu hn Tỡm hiu nhu cu thc t tip tc phỏt trin, tr thnh phn mm khai phỏ d liu ng dng cỏc lnh vc nh du lch, y khoa, TI LIU THAM KHO Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou (2003): Constructing a multivalued and multi-labeled decision tree, Expert Systems with Applications 25 199 209 Shihchieh Chou, Chang-Ling Hsu: MMDT (2003): A multi-valued and multilabeled Decision Tree classifier for data mining, Expert Systems with Applications xx (xxxx) 114 Hong Li, Rui Zhao, Jianer Chen , and Yao Xiang (2006): Research on Multi-valued and Multi-labeled Decision Trees, ADMA 2006, LNAI 4093, pp 247254, 2006 Weiguo Yi, Mingyu Lu, Zhi Liu (2011): Multi-valued attribute and multi-labeled data decision tree algorithm, Int J Mach Learn & Cyber (2011) 2:6774 Yen-Liang Chen, Hsiao-Wei Hu (2009), Kwei Tang: Constructing a decision tree from data with hierarchical class labels, Expert Systems with Applications 36 4838 4847 Tapio Elomaa, Juho Rousu (1999): General and Efficient Multisplitting of Numerical Attributes, Machine Learning, 36, 201244 Zhibo CHEN, Surong LAN, Hui HAN (2014), Jianxin WANG: Multi-valued Attribute and Single-sampled Data Decision Tree Algorithm for Entity Identication, Journal of Computational Information Systems 29272935 The Morgan Kaufmann Series in Data Management Systems, Jim Gray: Datamining- Concepts and Techniques, Chapter 7- Classification and Prediction Series Editor Morgan Kaufmann Publishers, August 2000 Ho Tu Bao, Chapter 3: Data mining with Decision Tree http://www.netnam.vn/unescocourse/knowlegde/knowlegd.htm 10 Anurag Srivastava, Eui- Hong Han, Vipin Kumar, Vieet Singh Parallel (1999): Formulations of Decision-Tree Classification Algorithm Kluwer Academic Publisher 11 Agrawal, R., Ghosh, S., Imielinski, T., Iyer, B., & Swami, A (1992): An interval classifier for database mining applications Proceedings of the 18th international conference on very large databases(pp 560573) 12 Mehta, M., Agrawal, R., & Rissanen, J (1996) SLIQ: A fast scalable classifier for data mining Proceedings of the fifth international conference on extending database technology 13 Quinlan, J R (1993).C4.5: Programs for machine learning San Mateo, CA: Morgan Kaufmann 14 Quinlan, J R (1986): Induction of decision trees 15 Shafer, J C., Agrawal, R., & Mehta, M (1996) SPRINT: A scalable parallel classifier for data mining Proceedings of the 22nd international conference on very large databases(pp 544555) 63 PH LC Hm chia khong cho thuc tớnh s public static List partitionNumberList(List trainData, int k) { List distinctList = new List(); List sortList = new List(trainData); sortList.Sort((x, y) => x.Income.CompareTo(y.Income)); int minValue = sortList[0].Income; int maxValue = sortList[sortList.Count - 1].Income; int delta = (maxValue - minValue) / k; for (int index = 0; index < k; index++) { int left = index * delta + minValue; int right = left + delta - 1; if (index == k - 1) right = maxValue; distinctList.Add(string.Format("{0}-{1}", left, right)); } return distinctList; } Thut toỏn tớnh tng t cho MMC Tớnh same (Li,Lj) // -public static List intersectSet(List List set2) { List intersectList = new List(); for (int i = 0; i < set1.Count; i++) { set1, if (set2.Contains(set1[i])) intersectList.Add(set1[i]); } return intersectList; } // -public static int countSame(List set1, List set2) { return intersectSet(set1, set2).Count; } // - Tớnh different (Li,Lj) public static int countDifferent(List set1, List set2) { List diffList = new List(set1); for (int i = 0; i < set2.Count; i++) { if (diffList.Contains(set2[i])) diffList.Remove(set2[i]); else diffList.Add(set2[i]); } return diffList.Count; } // Tớnh cardinality (Li,Lj) public static int countCardinality(List set1, List set2) { List cardinalityList = new List(set1); for (int i = 0; i < set2.Count; i++) { if (!cardinalityList.Contains(set2[i])) cardinalityList.Add(set2[i]); } return cardinalityList.Count; } // - Tớnh similarity(Li,Lj) public static float getSimilarity(List set1, List set2) { return ((float)countSame(set1, set2) / countCardinality(set1, set2) (float)countDifferent(set1, set2) / countCardinality(set1, set2) + 1) / 2; } // - Tớnh setsimilarity public static float getSetSimilarity(List multiLabeledSet) { if (multiLabeledSet == null) return 0; else if (multiLabeledSet.Count == 0) return 0; else if (multiLabeledSet.Count == 1) return 1; float setSimilarity = 0; int m = multiLabeledSet.Count; for (int i = 0; i < m - 1; i++) { for (int j = i + 1; j < m; j++) { setSimilarity += getSimilarity(multiLabeledSet[i], multiLabeledSet[j]); } } return setSimilarity / (m * (m - 1) / 2); } // Tớnh weighted-similarity(AttribItem) public static float getWeightedSimilarity(List atrribSet) { float weightedSimilarity = 0; int totalRow = 0; foreach (AttribItem item in atrribSet) totalRow += item.getCount(); foreach (AttribItem item in atrribSet) { float s = item.getSetSimilarity(); int c = item.getCount(); float w = s * c / totalRow; weightedSimilarity item.getSetSimilarity()*item.getCount()/totalRow; } return weightedSimilarity; } += Thut toỏn tớnh t l tng t cho MMDT public static int getConsistent(List labelSet, List set1, List set2) { int consistent = 0; foreach (string label in labelSet) { // Tng s nhón xut hin c if ((set1.Contains(label)) && (set2.Contains(label))) consistent++; // Tng s nhón khụng xut hin c list if ((!set1.Contains(label)) && (!set2.Contains(label))) consistent++; } return consistent; } // public static int getInConsistent(List set1, List set2) { int inconsistent = 0; // S lng nhón ch xut hin set1 foreach (string label in set1) if (!set2.Contains(label)) inconsistent++; // S lng nhón ch xut hin set2 foreach (string label (!set1.Contains(label)) inconsistent++; in set2) if return inconsistent; } // public static float getLabelSimitary(List labelSet, List set1, List set2) { return ((float)1.0 + (float)getConsistent(labelSet, set1, set2)) / ((float)1.0 + (float)getInConsistent(set1, set2)); } // public static normalizedLabelSimitary(List labelSet, float List set1, List set2, float minScore, float maxScore) { return (getLabelSimitary(labelSet, set1, set2) - minScore) / (maxScore - minScore); } // public static float getMaxLabelRatio(List multiLabeledSet, LabelClass labelClass) { float maxLabelRatio = 0; // Tớnh giỏ tr cho tng nhón foreach (List dataLabel in multiLabeledSet) { float labelRatio = 0; List quantityList = new List(); foreach (List label in labelInData in labelClass.AllLabelSet) // 2^k - { // Tớnh s lng xut hin ca nhón int quantity = 0; foreach (List multiLabeledSet) { string l1 = l2 = DataUtil.convertToCommaString(label); string DataUtil.convertToCommaString(labelInData); if (l1.Equals(l2)) quantity++; } if (quantity == 0) continue; // Tớnh lng t float simitary = DataUtil.normalizedLabelSimitary(labelClass.LabelSet, dataLabel, label, labelClass.MinScore, labelClass.MaxScore); labelRatio += quantity * simitary; } labelRatio = labelRatio / multiLabeledSet.Count; if (labelRatio > maxLabelRatio) maxLabelRatio = labelRatio; } return maxLabelRatio; } // public static string getMaxLabelRatioString(List multiLabeledSet, LabelClass labelClass) { string maxLabel = string.Empty; float maxLabelRatio = 0; // Tớnh giỏ tr cho tng nhón foreach (List dataLabel in multiLabeledSet) { float labelRatio = 0; List quantityList = new List(); foreach (List label in labelClass.AllLabelSet) // 2^k - { // Tớnh s lng xut hin ca nhón int quantity = 0; foreach (List labelInData in multiLabeledSet) { string l1 = l2 = DataUtil.convertToCommaString(label); string DataUtil.convertToCommaString(labelInData); if (l1.Equals(l2)) quantity++; } if (quantity == 0) continue; // Tớnh lng t float simitary = DataUtil.normalizedLabelSimitary(labelClass.LabelSet, dataLabel, label, labelClass.MinScore, labelClass.MaxScore); labelRatio += quantity * simitary; } labelRatio = labelRatio / multiLabeledSet.Count; if (labelRatio > maxLabelRatio) { maxLabelRatio = labelRatio; maxLabel = convertToCommaString(dataLabel); } } return string.Format("R({0}) max = {1}", maxLabel, maxLabelRatio); } // public static float getWeightedMaxLabelRatio(List atrribSet, LabelClass labelClass) { float weightedMaxLabelRatio = 0; // E(Ai, v, D) int totalRow = 0; foreach (AttribItem item in atrribSet) totalRow += item.getCount(); foreach (AttribItem item in atrribSet) { float maxLabelRatio = DataUtil.getMaxLabelRatio(item.MultiLabeledSet, labelClass); weightedMaxLabelRatio += item.getCount() / totalRow; } return weightedMaxLabelRatio; } maxLabelRatio * 59-55,52-48 mau 1-47,53-54,60-72 td [...]... dựa trên cây quyết định, mô tả thuật toán xây dựng cây quyết định đơn trị dựa vào phương pháp Hunt làm tư tưởng chủ đạo Trong chương sau, luận văn sẽ trình bày nội dung lý thuyết xây dựng cây quyết định đa trị của 2 thuật toán MMC và MMDT Chương 2 THUẬT TOÁN MMC VÀ MMDT 2.1 Tổng quan về bảng quyết định đa trị 2.1.1 Định nghĩa dữ liệu đa trị Dữ liệu đa trị có nghĩa là một bản ghi có thể có nhiều giá trị. .. với SPRINT Trong các thuật toán đó SPRINT được coi là sáng tạo đột biến, đáng để chúng ta tìm hiểu và phát triển 1.3.3 Song song hóa thuật toán phân lớp dựa trên cây quyết định tuần tự Song song hóa xu hướng nghiên cứu hiện nay của các thuật toán phân lớp dữ liệu dựa trên cây quyết định Nhu cầu song song hóa các thuật toán tuần tự là một nhu cầu tất yếu của thực tiễn phát triển khi mà các đòi hỏi về... trong các thuật toán phân lớp dữ liệu dựa trên cây quyết định là: 1 Làm cách nào để xác định được thuộc tính tốt nhất để phát triển tại mỗi nút? 2 Lưu trữ dữ liệu như thế nào và làm cách nào để phân chia dữ liệu theo các trường tương ứng? Các thuật toán khác nhau có các cách trả lời khác nhau cho hai câu hỏi trên Điều này làm nên sự khác biệt của từng thuật toán Có 2 loại tiêu chuẩn hay chỉ số để xác định. .. hiện tối đa 1 lần đối với bất kỳ đường đi nào trong cây  Quá trình phát triển cây sẽ tiếp tục cho tới khi thỏa một trong hai điều kiện sau:  Cây quyết định phân loại hoàn toàn các dữ liệu đầu vào  Tất cả các thuộc tính được sử dụng Thuật toán MMC như sau: Bảng 2.4 Thuật toán MMC Dữ liệu vào: D là tập dữ liệu huấn luyện và A là tập thuộc tính Dữ liệu ra: Cây quyết định đa trị T Phương pháp: 1 MMC (Cho... 2.2.3 Thuật toán MMC Thuật toán MMC được thiết kế bởi Chen et al., 2003 [1] để xây dựng một cây quyết định đa trị và đa nhãn Nó tuân theo tiêu chuẩn được thông qua bởi các phương pháp phân loại cổ điển như ID3 [14] (Quinlan, 1986), C4.5 [13] (Quinlan, 1993), IC [11] (Agrawal et al., 1992), SLIQ [12] (Mehta et al., 1996) và SPRINT [15] (Shafer et al., 1996) Ý tưởng của thuật toán MMC  Thực hiện các. .. triển và tương ứng là một phân chia tốt nhất Một vài thuật toán sử dụng tổ hợp các thuộc tính kết hợp với nhau có trọng số để phát triển cây quyết định Quá trình cắt cụt cây cũng “đắt” vì nhiều cây con ứng cử phải được tạo ra và so sánh 1.2.3 Xây dựng cây quyết định Cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp và dự báo Các đối tượng dữ liệu được phân thành các lớp Các giá trị của... lại, đánh dấu chúng là các nút STOP và xác định tập nhãn kết quả của chúng 11 return T Trong thuật toán trên, bước 4-6 và bước 10 là các bước quan trọng nhất Bước 46 xác định nút trong và các nhánh của nó Bước 10 xác định nút lá Trong phần tiếp theo, chúng tôi sẽ làm rõ thêm các bước này 2.2.4 Xác định nút trong và các nhánh (Giải quyết bước 4 đến bước 6) Đối với một nút NON-STOP, MMC chọn thuộc tính... phát triển của MMDT dựa trên MMC, vì vậy, chúng tôi sẽ lần lượt mô tả các thuật toán MMC và MMDT trong các mục tiếp theo 2.2 Thuật toán MMC (Multi-valued and Multi-labeled Classifier) 2.2.1 Trọng số tương tự giữa các nhãn Trước tiên chúng ta xác định những ký hiệu được sử dụng để đo sự giống nhau giữa hai tập nhãn Li và Lj như sau: same(Li, Lj): Số lượng nhãn xuất hiện trong cả hai Li và Lj different(Li,... đó 1.2.2 Đánh giá cây quyết định 1.2.2.1 Sức mạnh của cây quyết định Cây quyết định có 5 sức mạnh chính sau [9]:  Khả năng sinh ra các quy tắc hiểu được Cây quyết định có khả năng sinh ra các quy tắc có thể chuyển đổi được sang dạng tiếng Anh, hoặc các câu lệnh SQL Đây là ưu điểm nổi bật của kỹ thuật này Thậm chí với những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn và phức tạp, việc đi... là một giá trị duy nhất Người ta cũng có thể phân biệt giá trị tại thuộc tính địa chỉ nhãn của thuộc tính quyết định Ở đây chúng ta gọi chung đa trị và đa nhãn là đa trị Bảng 2.1 Tập dữ liệu huấn luyện đa trị ID Tình trạng Thu Giới khách hàng hôn nhân nhập tính Sở thích Chọn tour du lịch P1 Đã kết hôn 100 Nữ Nghệ thuật C1, C2, C3 P2 Độc thân Nam Nghệ thuật C2, C3 P3 Đã kết hôn 370 Nữ Nghệ thuật, Mua ... dựng định đa trị thuật toán MMC MMDT Chương THUẬT TOÁN MMC VÀ MMDT 2.1 Tổng quan bảng định đa trị 2.1.1 Định nghĩa liệu đa trị Dữ liệu đa trị có nghĩa ghi có nhiều giá trị cho thuộc tính giá trị. .. quan bảng liệu đa trị, định đa trị, cách dự đoán liệu đa trị mới, luật tạo từ định đa trị, số khó khăn việc xử lý liệu đa trị phân lớp truyền thống Nội dung chương trình bày hai thuật toán MMC MMDT, ... thuộc tính đa trị Vì vậy, lý chọn đề tài luận văn là: Tìm hiểu thuật toán MMC MMDT bảng định đa trị để xây dựng định cho liệu đa trị MMC (Multi-valued and Multi-labeled Classifier) MMDT (Multi-valued

Ngày đăng: 14/12/2015, 21:34

Từ khóa liên quan

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

Tài liệu liên quan