1. Trang chủ
  2. » Thể loại khác

Một số thuật toán phân cụm dữ liệu : Luận văn ThS. Công nghệ thông tin : 1 01 10

103 39 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 1,45 MB

Nội dung

ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI TRẦN THỊ KIM THUYẾN MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU LUẬN VĂN THS CÔNG NGHỆ THÔNG TIN Người hướng dẫn PGSTSKH : BÙI CÔNG CƯỜNG Hà nội: 2007 MỤC LỤC MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU CHƢƠNG TỔNG QUAN 1.1 QUÁ TRÌNH KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU 1.2 KHAI PHÁ DỮ LIỆU 11 1.2.1 KHÁI NIỆM VỀ KHAI PHÁ DỮ LIỆU 11 1.2.2 CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU 12 1.3 PHÂN CỤM DỮ LIỆU 14 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 KHÁI NIỆM VỀ PHÂN CỤM DỮ LIỆU 14 MỘT SỐ VẤN ĐỀ TRONG PHÂN CỤM DỮ LIỆU 16 MỤC TIÊU CỦA PHÂN CỤM 17 CÁC BƢỚC CƠ BẢN TRONG PHÂN CỤM 18 YÊU CẦU CỦA PHÂN CỤM 19 ỨNG DỤNG CỦA PHÂN CỤM 20 CHƢƠNG CÁC KỸ THUẬT PHÂN CỤM 22 2.1 KIỂU DỮ LIỆU 22 2.1.1 PHÂN LOẠI KIỂU DỮ LIỆU DỰA TRÊN KÍCH THƢỚC MIỀN 22 2.1.2 PHÂN LOẠI KIỂU DỮ LIỆU DỰA TRÊN HỆ ĐO 23 2.2 PHÉP ĐO ĐỘ TƢƠNG TỰ VÀ PHÉP ĐO KHOẢNG CÁCH 24 2.2.1 KHÁI NIỆM TƢƠNG TỰ VÀ PHI TƢƠNG TỰ 24 2.2.2 ĐỘ ĐO TƢƠNG TỰ VÀ KHÔNG TƢƠNG TỰ 25 2.2.3 PHÉP ĐO KHOẢNG CÁCH 26 2.3 PHƢƠNG PHÁP PHÂN CỤM DỮ LIỆU 33 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 PHƢƠNG PHÁP PHÂN CỤM PHÂN HOẠCH 33 PHƢƠNG PHÁP PHÂN CỤM PHÂN CẤP 34 PHƢƠNG PHÁP PHÂN CỤM DỰA TRÊN MẬT ĐỘ 36 PHƢƠNG PHÁP PHÂN CỤM DỰA TRÊN LƢỚI 36 PHƢƠNG PHÁP PHÂN CỤM DỰA TRÊN MÔ HÌNH 37 PHƢƠNG PHÁP PHÂN CỤM CÓ DỮ LIỆU RÀNG BUỘC 38 CHƢƠNG MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU 40 3.1 THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH 41 3.1.1 3.1.2 3.1.3 3.1.4 THUẬT TOÁN K-MEANS 41 THUẬT TOÁN PAM 46 THUẬT TOÁN CLARA 51 THUẬT TOÁN CLARANS 53 3.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN CẤP 54 3.2.1 THUẬT TOÁN HERACHICAL 54 3.2.2 THUẬT TOÁN BIRCH 62 3.2.3 THUẬT TOÁN CURE 66 3.3 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ 69 3.3.1 THUẬT TOÁN DBSCAN 70 3.3.2 THUẬT TOÁN OPTICS 76 3.4 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN LƢỚI 77 3.4.1 THUẬT TOÁN STING 78 3.4.2 THUẬT TOÁN CLIQUE 81 CHƢƠNG PHÂN CỤM DỮ LIỆU MỜ 83 4.1 VẤN ĐỀ PHÂN CỤM MỜ 83 4.2 KHÁI NIỆM VỀ TẬP MỜ VÀ PHÂN CỤM MỜ 84 4.2.1 KHÁI NIỆM VỀ TẬP MỜ VÀ BIỂU DIỄN TẬP MỜ 84 4.2.2 KHÁI NIỆM PHÂN CỤM MỜ 85 4.3 THUẬT TOÁN PHÂN CỤM MỜ K-MEANS 86 4.3.1 MÔ TẢ THUÂT TOÁN 88 4.3.2 ĐỘ PHỨC TẠP CỦA THUẬT TOÁN 89 KẾT LUẬN 91 TÀI LIỆU THAM KHẢO 93 PHỤ LỤC 95 DANH MỤC CÁC CHỮ VIẾT TẮT CỤM TỪ CHỮ VIẾT TẮT Balanced Iterative Reducing and Clustering BIRCH using Hierarchies Clustering LARge Applications CLARA A Clustering Algorithm Based On CLARANS Randomized Search CLustering In QUEst CLIQUE Clustering Using REpresentatives CURE Fuzzy C Means FCM Ordering Points To Indentify the OPTICS Clustering Structure Partition Around Medoids PAM STatistical INformation Grid STING DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Quá trình khám phá tri thức Hình 1.2 Các kỹ thuật khai phá liệu Hình 1.3 Quy trình phân cụm Hình 1.4 Các phần tử ngoại lai liệu Hình 2.1 Mối quan hệ tỷ lệ phép đo phân cụm Hình 2.2 Ví dụ phép đo khoảng cách Hình 2.3 Một số loại khoảng cách hai cụm Hình 2.4 Các chiến lƣợc phân cụm phân cấp Hình 2.5 Cấu trúc liệu lƣới Hình 3.1 Xác định ranh giới cụm khởi tạo Hình 3.2 Tính tốn trọng tâm cụm Hình 3.3 Ví dụ thuật tốn K-MEANS với k=2 Hình 3.4 Một số dạng cụm đƣợc khám phá k-means Hình 3.5 Khởi tạo đối tƣợng medoid Hình 3.6 Trƣờng hợp Cjmp khơng âm Hình 3.7 Trƣờng hợp Cjmp âm dƣơng Hình 3.8 Trƣờng hợp Cjmp=0 Hình 3.9 Trƣờng hợp Cjmp ln âm Hình 3.10 Thuật tốn PAM với k=2 Hình 3.11 Cây CF đƣợc dùng thuật tốn BIRCH Hình 3.12 Ý tƣởng thuật tốn phân cụm phân cấp Hình 3.13 Các điểm liệu cụm CURE Hình 3.14 Phân hoạch phân cụm liệu Hình 3.15 Co cụm điểm biểu diễn Hình 3.16 Lân cận với ngƣỡng  điểm P Hình 3.17 Mật độ liên lạc Hình 3.18 Mật độ liên thơng Hình 3.19 Cụm nhiễu Hình 3.20 Một cụm đƣợc khám phá DBSCAN Hình 3.21 Thứ tự phân cụm đối tƣợng OPTICS Hình 3.22 Cấu trúc lƣới phân cụm Hình 3.23 Các mức lƣới khác trình truy vấn Hình 3.24 Quá trình nhận dạng CLIQUE Hình 5.1 Chƣơng trình mơ thuật tốn K-means MỞ ĐẦU Từ vài thập niên trở lại đây, tác động mạnh mẽ tiến công nghệ phần cứng truyền thông, hệ thống liệu phục vụ cho lĩnh vực kinh tế-xã hội phát triển bùng nổ, lƣợng liệu đƣợc tạo ngày lớn Sự phong phú liệu, thông tin với khả kịp thời khai thác chúng mang đến suất chất lƣợng cho công tác quản lý, hoạt động kinh doanh, Các yêu cầu thông tin lĩnh vực hoạt động, đặc biệt lĩnh vực làm định ngày địi hỏi cao, cần có hiểu biết, tri thức để hỗ trợ cho việc định Đến năm 90 nhu cầu khám phá tri thức thực bùng nổ, theo hàng loạt lĩnh vực nghiên cứu tổ chức kho liệu kho thông tin, hệ trợ giúp định, thuật toán nhận dạng mẫu, phân cụm đời Phân cụm liệu trình tìm kiếm phát cụm mẫu liệu tự nhiên sở liệu lớn Các kỹ thuật đƣợc áp dụng phân cụm liệu phần lớn đƣợc kế thừa từ lĩnh vực thống kê, học máy, nhận dạng, lƣợng hố, Có nhiều ứng dụng phân cụm liệu cho việc giải vấn đề lĩnh vực nhƣ tài chính, ngân hàng, y học, xã hội học, nhận dạng ảnh, Nhờ phát triển mạnh mẽ ngành công nghệ thông tin làm cho khả thu thập lƣu trữ liệu hệ thống thông tin tăng cách vũ bão Kho liệu, nguồn tri thức nhân loại trở nên vô tận làm để khai thác đƣợc nguồn tri thức vấn đề nóng bỏng công nghệ thông tin giới Vấn đề Khám phá tri thức Cơ sở liệu (Knowledge Discovery in Databases) đƣợc nhiều nhà khoa học quan tâm nghiên cứu Khai phá liệu bƣớc quan trọng trình khám phá tri thức Khai phá liệu có nhiều hƣớng tiếp cận, kỹ thuật khai phá liệu liên quan đến nhiều ngành khoa học khác nhƣ: Hệ sở liệu, thống kê, học máy, trực quan hoá,…Tuỳ vào cách tiếp cận cụ thể đƣợc sử dụng, khai phá liệu áp dụng số kỹ thuật khác nhƣ mạng nơron, lý thuyết tập mờ, biểu diễn tri thức,… Phân cụm liệu kỹ thuật khai phá liệu phổ biến nhất, nằm nhóm kỹ thuật khai phá liệu mơ tả, có nhiệm vụ mơ tả tính chất đặc tính chung liệu sở liệu có Luận văn tập trung trình bày số vấn đề phân cụm liệu, luận văn gồm bốn chƣơng, phần kết luận phần phụ lục chƣơng trình mơ thuật toán phân cụm liệu Chƣơng 1: Tổng quan phân cụm liệu, bao gồm số vấn đề khám phá tri thức, khai phá liệu tập trung trình bày số khái niệm phân cụm liệu lĩnh vực ứng dụng liên quan Chƣơng 2: Các kỹ thuật phân cụm, có đề cập đến số kiến thức sở tảng cho phân cụm liệu nhƣ kiểu liệu, phép đo khoảng cách đối tƣợng liệu, kỹ thuật tiếp cận phân cụm liệu Chƣơng 3: Các thuật toán phân cụm liệu, tập trung trình bày số thuật toán tiêu biểu phân cụm liệu phân chia theo kỹ thuật tiếp cận nhƣ thuật toán phân cụm phân hoạch, thuật toán phân cụm phân cấp, Chƣơng 4: Trình bày phân cụm mờ kỹ thuật mờ phân cụm liệu, cụ thể thuật toán FCM Kết luận: Tổng kết lại nội dung trình bày kết đạt đƣợc luận văn Qua đề cập đến vấn đề chƣa giải đƣợc đề xuất hƣớng nghiên cứu Phụ lục: Trình bày chƣơng trình mơ thuật tốn phân cụm liệu K-means, thuật toán phân cụm liệu phổ biến CHƢƠNG TỔNG QUAN 1.1 QUÁ TRÌNH KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU Cùng với phát triển vƣợt bậc công nghệ điện tử truyền thông làm cho khả thu thập, lƣu trữ xử lý liệu cho hệ thống tin học khơng ngừng nâng cao Bên cạnh đó, việc tin học hoá nhiều lĩnh vực sống tạo cho kho liệu khổng lồ Quá trình khám phá tri thức Cơ sở liệu (Knowledge Discovery in Databases) vấn đề thời công nghệ thông tin giới Nó đƣợc ứng dụng vào nhiều lớp tốn thực tế khác thu đƣợc nhiều thành to lớn Khám phá tri thức sở liệu trình nhận biết đắn, mới, hữu ích cuối hiểu đƣợc mẫu mơ hình liệu Q trình khám phá tri thức bao gồm bƣớc nhƣ hình 1.1 [7] Tri thức Dữ liệu thơ Trích chọn liệu Đánh giá giải thích Khai phá liệu Tiền xử lý liệu Biến đổi liệu Hình 1.1: Q trình khám phá tri thức - Trích chọn liệu: Là bƣớc trích chọn tập liệu cần đƣợc khai phá từ tập liệu lớn ban đầu theo tiêu chí định Đây bƣớc quan trọng để rút tri thức hữu ích chọn phƣơng pháp khai phá liệu phù hợp với mục đích ứng dụng chất liệu - Tiền xử lý liệu: Là bƣớc làm liệu: lựa chọn liệu nguồn, loại bỏ liệu nhiễu ngoại lai, xử lý giá trị khơng đầy đủ, biến 88 4.3.1 MƠ TẢ THUẬT TOÁN  Đầu vào (input) (1) Tập liệu đầu vào X (2) Giá trị độ mờ q  (1,) (trong thực tiễn nguời ta chọn q=2) (3) Số lƣợng phân cụm K (4) Khoảng cách giới hạn d(mk,xi) = (mk-xi) A-1(mk-xi) mk xi, A ma trận dƣơng xác định (5) Một số xác định  đủ nhỏ ma trận mẫu ||.|| (6) Số lần lặp T (7) Ma trận U kích thƣớc n x K, phần tử dòng thứ i cột thứ k xác định k(xi)  Xử lý Gán t = Khởi tạo ngẫu nhiên K cụm mờ Ut DO Đặt t = t + FOR k = 1,2 …,K Tính tâm cụm mk sử dụng (4.8)   n mk  i 1 n kq ( xi ) xi i 1  kq ( xi ) 89 ENDFOR Cập nhật Ut+1 nhƣ sau: Xác định tập sau Ik = {k|1≤ k ≤K; d(mk,xi)=0} IF Ik =  k ( xi )  K d (mk , xi ) /( q 1) ( )  h 1 d ( mh , xi ) ELSE k(xi) = k{1,…K} - Ik K  k 1 k ( xi )  ENDIF ENDDO UNTIL ||Ut – Ut+1|| >  OR t > T  Đầu (Output) (1) k(xi) i,k – giá trị hàm thuộc xi vào cụm 1-k (2) u = Argmax k(xi), xác định cụm mà xi thuộc vào (cụm có giá trị k(xi) lớn nhất) 4.3.2 ĐỘ PHỨC TẠP CỦA THUẬT TOÁN Trong trƣờng hợp xấu nhất, thời gian thực thuật toán nêu nhƣ sau: - Để xác định khoảng cách điểm tâm cụm đến phần tử, độ phức tạp tính tốn O(nN) - Để thực cho tất cụm, độ phức tạp tính tốn O(nKN) 90 - Với T vịng lặp, độ phức tạp tính tốn O(nKNT) Độ phức tạp thuật toán FCM tƣơng đƣơng với độ phức tạp thuật toán k-means trƣờng hợp số đối tƣợng tập liệu cần phân cụm lớn Tóm lại, thuật tốn phân cụm mờ FCM mở rộng thuật toán k-means nhằm để khám phá cụm chồng lên 91 KẾT LUẬN Các vấn đề đƣợc tìm hiểu luận văn Luận văn tổng hợp nét khai phá liệu sâu trình bày phân cụm liệu, kỹ thuật phổ biến khai phá liệu Trong lĩnh vực phân cụm liệu, có đƣợc số thành định Hiện nay, hệ thống sở liệu ngày phát triển đa dạng, nhu cầu khám phá tri thức sở liệu ngày lớn, việc nghiên cứu mơ hình liệu áp dụng đƣợc phƣơng pháp phân cụm liệu xu tất yếu, vừa có ý nghĩa khoa học nhƣ thực tiễn Chƣơng 1, luận văn trình bày nét tổng quan phân cụm liệu, bao gồm vấn đề nhƣ khám phá tri thức, khai phá liệu phân cụm liệu Trên sở đó, Chƣơng sâu giới thiệu phân cụm liệu giải thích phân cụm liệu lại phƣơng pháp khai phá liệu phổ biến nhất, có nhiều ý nghĩa khoa học thực tiễn Luận văn có tóm lƣợc lại kiến thức tảng phân cụm liệu nhƣ kiểu liệu, phép đo sở tổng hợp lại số phƣơng pháp tiếp cận phân cụm liệu Đây chủ đề trọng tâm nội dung luận văn Trên sở đó, Chƣơng tập trung giới thiệu tổng quát hóa thuật tốn phân cụm liệu, có số thuật tốn tảng phƣơng pháp tiếp cận, số thuật toán mở rộng, cải tiến thuật toán sở để giải đƣợc đa dạng liệu, xử lý vấn đề nhiễu ngoại lai Có chƣơng trình thực nghiệm minh họa cho số thuật toán phổ biến có tính ứng dụng cao Chƣơng trình bày phân cụm liệu mờ Phần Phụ lục trình bày chƣơng trình thực nghiệm mơ thuật tốn Kmeans, thuật toán sở phân cụm liệu 92 Tóm lại, phân cụm liệu lĩnh vực đƣợc quan tâm nghiên cứu nhiều, có phạm vi ứng dụng rộng, liên quan đến nhiều ngành khoa học khác Trong trình làm luận văn, tác giả cố gắng nghiên cứu, sƣu tầm, tập trung trình bày vấn đề cách tổng hợp nhƣng trình độ thời gian có hạn, phạm vi trình bày lĩnh vực nghiên cứu rộng, vậy, luận văn chắn cịn có nhiều hạn chế thiếu sót, nhiều vấn đề để mở cho hƣớng nghiên cứu Tác giả mong nhận đƣợc ý kiến đánh giá, đóng góp, bảo thầy cô giáo bạn bè Hƣớng nghiên cứu Trong thời gian tới, tơi tiếp tục tìm hiểu mơ hình liệu đặc thù, lựa chọn kỹ thuật phân cụm liệu phù hợp nhằm xây dựng đƣợc ứng dụng thực tiễn Hƣớng nghiên cứu cụ thể nhƣ sau: Tập trung nghiên cứu phát triển vấn đề để mở dựa kiến thức sở trình bày Xây dựng phát triển kỹ thuật phân cụm mờ Kết hợp kỹ thuật phân cụm với kỹ thuật khác nhƣ luật kết hợp để giải số ứng dụng thực tế 93 TÀI LIỆU THAM KHẢO Tiếng Việt Bùi Công Cƣờng (2005): “Một số hướng công nghệ tri thức khai phá liệu” Viện toán học, Trƣờng thu “Hệ mờ ứng dụng” lần thứ Bùi Cơng Cƣờng, Nguyễn Dỗn Phƣớc (2001): “Hệ mờ, hệ Nơron ứng dụng”, Nhà xuất KHKT Tiếng Anh K Jain and R C Dubes (1988), Algorithms for Clustering Data, Printice Hall D Fisher (1987), Knowledge acquisition via incremental conceptual clustering, Machine Learning D Gibson, J Kleinberg and P Raghavan (1998), Clustering categorical data: An approach based on dynamic systems, In Proc, VLDB’98 Douglass Cutting, David Karger, Jan Pedersen and John W Tukey (1992), Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections, Proceedings of the 15th Annual International ACM/SIGIR Conference, Copenhagen Ho Tu Bao (2000), Knowledge Discovery And Data Mining, Institute of Information HiTechnology, National Center for Natural Science and Technology O Zamir and O Etzioni (1999), Groupera dynamic clustering interface to web search results, In Proceedings of the Eighth International World Wide Web Conference, Toronto, Canada, M Steinbach, G 94 L Kaufman and P J Rousseeuw (1990), Finding Groups in Data: an Introduction to Cluster Analysis, John Wiley & Sons 10 Spath H (1980): “Clustring Analysis Algorithms”, Ellis Horwood 11 MacQuenn J.B: “Some methods for classification and Analysis of multivariate observations” Processings of the Symposium on Mathematical Statistics and Probability, 5th Beckley, Vol University of California Press 12 M Ester, H.-P Kriegel, J Sander and X Xu (1996), A density-based algorithm for discovering clusters in large spatial databases, KDD'96 13 M R Anderberg (1973), Cluster Analysis for Applications, Academic Press 14 P Arabie, L J Hubert and G De Soete (1996), Clustering and Classification, World Scietific 15 P Michaud (1997), Clustering techniques, Future Generation Computer systems 16 T Zhang, R Ramakrishnan and M Livny (1996), BIRCH : an efficient data clustering method for very large databases, SIGMOD'96 95 PHỤ LỤC CHƢƠNG TRÌNH THỬ NGHIỆM THUẬT TỐN PHÂN CỤM K-MEANS Chƣơng trình mơ thuật tốn K-Means đƣợc viết ngơn ngữ Visual Basic, chạy mơi trƣờng Windows Chƣơng trình mơ việc phân cụm thông qua việc dịch chuyển trọng tâm cụm Mở đầu chƣơng trình yêu cầu nhập số cụm kích chuột để nhập liệu cho cụm Trong trình nhập liệu, điểm liệu vừa nhập vào thuộc cụm dựa theo phép đo khoảng cách điểm với trọng tâm cụm Khi điểm đƣợc sát nhập vào cụm để hình thành cụm trọng tâm cụm thay đổi theo cho phù hợp Giao diện chƣơng trình nhƣ hình 5.1 Hình 5.1 Chƣơng trình mơ thuật tốn K-means 96  Mã nguồn chƣơng trình: Option Explicit ' -' Chương trình mô thuật toán K-MEANS ' Khi ng-ời sử dụng nhập số l-ợng cụm kích chuột để khởi tạo cụm ban ®Çu ' Sau ®ã ng-êi sư dơng kÝch cht ®Ĩ nhập điểm liệu thông qua tọa độ (X,Y) ' Ch-ơng trình tự động xác nhận điểm liệu thuộc cụm ' cách so sánh khoảng cách điểm vừa nhập với trọng tâm cụm ' cụm đ-ợc thành lập thông qua việc di chuyển trọng tâm cụm ' Giải thuật sử dụng thuộc loại học không giám sát mạng nơron ' -' Private Data() Private Centroid() As Single Private totalData As Integer Private numCluster As Integer Private Sub Form_Load() Dim i As Integer Picture1.BackColor = &HFFFFFF Picture1.DrawWidth = 10 Picture1.ScaleMode = lblExplanation.Caption = "Các cụm đ-ợc phân biệt màu sắc trọng tâm cụm!" numCluster = Int(txtNumCluster) ReDim Centroid(1 To 2, To numCluster) 97 For i = To numCluster - If i > Then Load lblCentroid(i) lblCentroid(i).Caption = i + lblCentroid(i).Visible = False Next i End Sub Private Sub cmdReset_Click() Dim i As Integer Picture1.Cls Erase Data totalData = For i = To numCluster - lblCentroid(i).Visible = False Next i txtNumCluster.Enabled = True End Sub Private Sub txtNumCluster_Change() Dim i As Integer For i = To numCluster - Unload lblCentroid(i) Next i numCluster = Int(txtNumCluster) 98 ReDim Centroid(1 To 2, To numCluster) For i = To numCluster - If i > Then Load lblCentroid(i) lblCentroid(i).Caption = i + lblCentroid(i).Visible = False Next i End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim colorCluster As Integer Dim i As Integer txtNumCluster.Enabled = False totalData = totalData + ReDim Preserve Data(0 To 2, To totalData) Data(1, totalData) = X Data(2, totalData) = Y Call kMeanCluster(Data, numCluster) Picture1.Cls For i = To totalData colorCluster = Data(0, i) - If colorCluster = Then colorCluster = 12 X = Data(1, i) 99 Y = Data(2, i) Picture1.PSet (X, Y), QBColor(colorCluster) Next i For i = To min2(numCluster, totalData) lblCentroid(i - 1).Left = Centroid(1, i) lblCentroid(i - 1).Top = Centroid(2, i) lblCentroid(i - 1).Visible = True Next i End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblXYValue.Caption = X & "," & Y End Sub ' -' FUNCTIONS ' + kMeanCluster: ' + dist: Tính toán khoảng cách ' + min2: Trả lại giá trị nhỏ gi÷a hai sè ' -' Sub kMeanCluster(Data() As Variant, numCluster As Integer) Dim i As Integer Dim j As Integer Dim X As Single Dim Y As Single 100 Dim As Single Dim cluster As Integer Dim d As Single Dim sumXY() Dim isStillMoving As Boolean isStillMoving = True If totalData

Ngày đăng: 23/09/2020, 21:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN