Phân tích thiết kế hệ thống

Một phần của tài liệu Phương pháp phân cụm dữ liệu không gian và ứng dụng trong việc xác định vị trí tối ưu đặt máy ATM (Trang 72)

Hệ thống phải đảm bảo cung cấp các chức năng tối thiểu của một hệ thông tin địa lý như:

- Duyệt bản đồ - Phóng to - Thu nhỏ - Trượt bản đồ

- Xem thông tin bản đồ

Ngoài ra, phục vụ yêu cầu của bài toán đã đề ra, hệ thống cần có thêm các chức năng: - Phân cụm dữ liệu

- Chồng phủ bản đồ - Lưu kết quả chồng phủ

Trên cơ sở phân tích các chức năng của hệ thống như trên, chúng ta xây dựng được biểu đồ Use case thể hiện các chức năng chính của hệ thống như sau:

Biểu đồ ca sử dụng

Them lop ban do

Phan cum

Chong phu ban do

Phong to ban do

Thu nho ban do

Duyet ban do

Truot ban do Luu ban do

Nguoi su dung Dong lop ban do

Biểu đồ hoạt động của một số thuật toán phân cụm đã cài đặt K-means

Khoi tao ngau nhien K tam cum

Gan nhan cum cho tung phan tu

Tinh lai tam cum

DBSCAN

Gan nhan cum cho P

Q= lan can i cua P

chua gan nhan cho Q

Mo rong cum tu Q Q la CORE

duyet het lan can

Gan nhan cum cho Q

Nhan cum =0

P = phan tu i

Nhan cum ++

Mo rong cum tu P

duyet het cac phan tu chua gan nhan (adsbygoogle = window.adsbygoogle || []).push({});

DBRS

alpha=Xac suat tim thay cum moi =1

alphaMax =0.01

Chon ngau nhien phan tu Q

Seeds = cac phan tu lan can cua Q

Q la NOISE

C= cum i

Gop C voi Seeds

Tao cum moi tu Seeds

Tinh lai alpha So lan can > nguong

danh sach cum khong rong

C giao voi Seeds

Duyet het danh sach cum

Seeds khong thay doi

4.2.2. Cài đặt chương trình

Chương trình thử nghiệm được cài đặt bằng ngôn ngữ C#, trong đó có sử dụng thư viện mã nguồn mở SharpMap do tác giả Morten Nielsen (www.iter.dk) và cộng đồng mã nguồn mở phát triển để hỗ trợ hiển thị bản đồ.

Một số chức năng chính đã được cài đặt trong chương trình:

- Duyệt bản đồ: hiển thị bản đồ, phóng to, thu nhỏ, trượt bản đồ - Phân cụm dữ liệu bản đồ

- Chồng phủ bản đồ - Lưu bản đồ

Học viên đã tiến hành cài đặt thử nghiệm 2 thuật toán phân cụm dựa trên mật độ là thuật toán DBSCAN và DBRS, ngoài ra cũng cài đặt thêm thuật toán phân cụm dựa trên phân hoạch K-means để so sánh và đánh giá.

Một số hình ảnh của chương trình

Hình 37: Hình ảnh chồng phủ (vùng màu vàng) của các cụm “Ngân hàng” (màu xanh) và “Siêu thị” (màu đỏ).

Hình 38: Kết quả phân cụm DBRS đối với dữ liệu thử nghiệm tự tạo

Hình 39: Kết quả phân cụm DBRS đối với dữ liệu thực “Nút mạng đường bộ” của Tỉnh Thừa Thiên- Huế

Hình 40: Kết quả phân cụm và chồng phủ các cụm điểm tiện ích “Siêu thị” và “Khách sạn” trong nội thành Hà Nội. Vùng màu vàng có thể coi là vị trí tối ưu cho việc lắp đặt

4.3. Thử nghiệm và đánh giá các thuật toán phân cụm

Học viên tiến hành thử nghiệm, so sánh và đánh giá 3 thuật toán đã cài đặt trên hệ thống như sau:

Đánh giá tổng quan 3 thuật toán

K-means DBSCAN DBRS

Độ phức tạp O(tKN) O(NlogN) O(NlogN) (adsbygoogle = window.adsbygoogle || []).push({});

Khả năng phát hiện nhiễu kém Tốt Tốt

Khả năng phát hiện cụm có hình dạng bất kỳ

không có có

Khả năng phân cụm theo thuộc tính phi không gian

không không có

Kết quả phân cụm Khác nhau ở mỗi

lần chạy

Giống nhau Khá giống nhau

Bảng 2: So sánh tổng quan các thuật toán K-means, DBSCAN và DBRS

Hình 41: Khả năng phát hiện nhiễu và cụm có hình dạng bất kỳ của K-means (trái) và DBSCAN (phải), đường bao màu xanh là đường biên cụm.

Hình 42: Khả năng phân cụm theo thuộc tính của DBSCAN (trái) và DBRS (phải)

Đánh giá độ phức tạp thuật toán

Thử nghiệm thứ nhất: Thực hiện phân cụm với cùng một tập dữ liệu đầu vào: tệp Cosohatang_KTXH bao gồm 4235 mẫu dữ liệu, thực hiện trên máy tính với CPU 1.6GHz Celeron Mobile đơn lõi, 2GB Ram. Kết quả thu được như sau:

Bảng 3: Kết quả so sánh thời gian thực hiện phân cụm của các thuật toán K-measn, DBSCAN và DBRS với cùng một tập dữ liệu đầu vào

Kết quả thể hiện dưới dạng đồ thị như sau:

Hình 43: Đồ thị so thời gian thực hiện phân cụm của các thuật toán K-measn, DBSCAN và DBRS với cùng một tập dữ liệu đầu vào.

Bảng so sánh thời gian thực hiện phân cụm với cùng một tập dữ liệu đầu vào

(với cùng một tập dữ liệu đầu vào: tệp Cosohatang_KTXH với 4235 mẫu dữ liệu thực hiện trên máy tính với CPU 1.6GHz Celeron Mobile đơn lõi, RAM 2GB)

Thuật toán

Thời gian (ms) Các tham số

phân cụm lần 1 lần 2 lần 3 lần 4 lần 5 lần 6 lần 7 lần 8 lần 9 lần 10 K-means 382 412 356 449 611 266 577 192 311 621 số cụm = 6 DBSCAN 1340 1347 1389 1445 1347 1323 1382 1331 1340 1395 epsilon = 1301.1470, MinPts=4 DBRS 815 727 831 957 909 935 917 856 723 946 epsilon = 1301.1470,, MinPts=4 minPur =0.8 , random sampling, alpha max =0.01, thuộc tính phân cụm: "Name"

Kết quả cho thấy: Với cùng số lượng dữ liệu đầu vào, thời gian thực hiện trung bình của thuật toán K-means thấp nhất, DBSCAN thực hiện lâu nhất. Đồ thị cũng cho thấy sự biến thiên thời gian thực hiện của K-means với mỗi bộ tâm cụm ngẫu nhiên ở mỗi lần chạy.

Thử nghiệm thứ 2: Sử dụng các tập dữ liệu đầu vào khác nhau, với số lượng dữ liệu tăng dần, thực hiện trên máy tính với CPU 1.6GHz Celeron Mobile đơn lõi, RAM

2GB, kết quả thu được như bảng sau:

Bảng 4: Kết quả so sánh thời gian thực hiện phân cụm của các thuật toán K-measn, DBSCAN và DBRS trên các tập dữ liệu khác nhau.

Kết quả thể hiện trên đồ thị như sau:

Hình 44: Đồ thị thời gian thực hiện phân cụm của các thuật toán K-measn, DBSCAN và DBRS trên các tập dữ liệu khác nhau.

Bảng so sánh thời gian thực hiện phân cụm với số lượng mẫu dữ liệu khác nhau

(với các tập dữ liệu đầu vào khác nhau,

thực hiện trên máy tính với CPU 1.6GHz Celeron Mobile đơn lõi, RAM 2GB) (adsbygoogle = window.adsbygoogle || []).push({});

Số mẫu dữ liệu

Thời gian (ms) Các tham

số phân cụm 64 mẫu 97 mẫu 103 mẫu 130 mẫu 189 mẫu 270 mẫu 514 mẫu 767 mẫu 1153

mẫu 2155 mẫu 4235 mẫu

K-means 2 3 5 5 7 12 19 24 65 107 238 số cụm = 6 DBSCAN 8 12 10 14 15 19 35 45 117 717 1298 MinPts=4 DBRS 6 5 5 7 8 6 25 32 93 244 816 MinPts=4, minPur =0.8 , random sampling, alpha max =0.01

Kết quả cho thấy, thời gian thực hiện của thuật toán K-means có dạng đường thẳng, phù hợp với độ phức tạp thuật toán O(tKn); thời gian phân cụm của DBSCAN và DBRS có dạng đường cong lên, phù hợp với độ phức tạp thuật toán O(NlogN). Đồ thị cũng cho thấy thuật toán DBRS có thời gian thực hiện thấp hơn DBSCAN do chỉ duyệt một số hữu hạn điểm ngẫu nhiên trong cơ sở dữ liệu.

CHƢƠNG 5. KẾT LUẬN

Luận văn đã thực hiện được những công việc sau:

- Nghiên cứu tổng quan về Hệ thông tin địa lý và khai phá dữ liệu không gian. - Nghiên cứu tổng quan về phân cụm dữ liệu và phân cụm dữ liệu không gian.

Khảo sát một vài thuật toán sử dụng trong phân cụm dữ liệu không gian.

- Xây dựng chương trình thử nghiệm phân cụm các lớp dữ liệu điểm tiện ích, sử dụng trong bài toán cụ thể tính toán vị trí tối ưu lắp đặt máy ATM trong nội thành Hà Nội.

- Đánh giá các thuật toán phân cụm đã cài đặt trên bộ dữ liệu bản đồ nội thành thành phố Hà Nội.

Tuy nhiên, do bộ dữ liệu sử dụng để đánh giá chưa đủ lớn nên chưa đánh giá hết được hiệu quả và các đặc trưng của từng thuật toán, cũng như tính ổn định của hệ thống thử nghiệm. Trong tương lai, cần phải thử nghiệm và đánh giá trên những bộ dữ liệu lớn hơn.

Những đóng góp chính của luận văn bao gồm:

- Đề xuất một phương pháp khai phá dữ liệu không gian, trong đó kết hợp việc phân cụm các lớp dữ liệu không gian với các phép phân tích và xử lý dữ liệu không gian, hỗ trợ giải quyết lớp bài toán quản lý và lập kế hoạch dựa trên hệ thông tin địa lý.

- Cài đặt, khảo sát, đánh giá các thuật toán phân cụm K-means, DBSCAN, DBRS trên dữ liệu không gian.

- Đề xuất một phương pháp tính toán tự động giá trị tham số Epsilon sử dụng trong các thuật toán phân cụm dựa trên mật độ DBSCAN và DBRS.

Hướng phát triển tiếp theo của luận văn:

- Hướng nghiên cứu của luận văn có thể được mở rộng sang lớp dữ liệu không gian dạng đường và dạng vùng, sử dụng trong khai phá dữ liệu liên quan đến các đối tượng địa lý dạng đường và dạng vùng.

- Một số ràng buộc và trọng số có thể được đưa vào bài toán để có thể khai phá dữ liệu một cách mềm dẻo và linh hoạt trong các điều kiện cụ thể của bài toán. - Vấn đề phân cụm dữ liệu đa chiều có thể được thử nghiệm để so sánh với

phương pháp hiện tại là phân cụm đơn chiều kết hợp với phân tích đa chiều dữ liệu không gian.

- Phương pháp tiếp cận sử dụng phân cụm mờ có thể được thử nghiệm bởi tính tương đối cố hữu của bài toán tối ưu.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[DVD01] Đặng Văn Đức (2001), Hệ thống thông tin địa lý, NXB Khoa học và kỹ thuật, Hà Nội.

Tiếng Anh

[BEKS90] Beckmann N., Kriegel P., Schneider R., Seeger B. (1990), “The R*- tree: An efficient and Robust Access Method for Points and Rectangles”, SIGMOD 90.

[DAVRA05] Davidson, I., & Ravi, S. (2005). “Clustering with constraints: Feasibility issues and the k-means algorithm”. Proc. of SIAM Int. Conf. of Data Mining.

[DAVRA04] Davidson, I., & Ravi, S. (2004). “Towards efficient and improved hierarchical clustering with instance and cluster level constraints”. Department of Computer Science, University at Albany.

[DOBKI85] Dobkin, D. P., & Kirkpatrick, D. G. (1985). “A Linear algorithm for determining the separation of convex polyhedra”, Journal Algorithm, 6, , 381-392. (adsbygoogle = window.adsbygoogle || []).push({});

[EGFRA94] Egenhofer, M. J., & Franzosa, R. (1994). “On the equivalence of topological relations”, International Journal of Geographical Information Systems , 133-152.

[EGMA95] Egenhofer, M. J., & Mark, D. M. (1995). “Modeling conceptual neighborhoods of topological line-region relations”, International Journal of Geographical Information Systems , 555-565.

[EGCFE94] Egenhofer, M. J., Clementini, E., & Felice, P. D. (1994), “Topological relations between regions with holes”, International Journal of Geographical Information Systems , 129-144.

[ESFKS00] Ester, M., Frommelt, A., Kriegel, H.-P., & Sander, J. (2000), “Spatial data mining: database primitives, algorithms and efficient DBMS support”, Data Mining and Knowledge Discovery , 193-216.

[ESKSX96] Ester, M., Kriegel, H.-P., Sander, J., & Xu, X. (1996), “A density-based algorithm for discovering clusters in large spatial databases with noise”, Second Int. Conf. on Knowledge Discovery and Data Mining ,

(pp. 226-231). Portland, Oregon.

[ESKS01] Ester, Hans-Peter Kriegel, Jörg Sander (2001), “Algorithms and Applications for Spatial Data Mining”, Published in Geographic Data Mining and Knowledge Discovery, Research Monographs in GIS, Taylor and Francis.

[FSSU96] M. Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth, and Ramasamy Uthurusamy (1996), Advances in Knowledge Discovery and Data Mining. AAAI Press/ The MIT Press.

[HAKT01] Han, J., Kamber, M., & Tung, A. (2001), “Spatial clustering methods in data mining: A Survey”. In Geographic Data Mining and Knowledge Discovery (pp. 1 - 29). Taylor and Francis.

[HAKT06] Han, J., & Kamber (2006). Data Mining: Concepts and Techniques. San Fransisco, CA: Morgan Kaufmann Publishers.

[HAN95] Hanan S (1995), “Spatial Data Structures”, ACM Press, pp. 361-385 [HK06] Jiawei Han and Micheline Kamber (2006), Data Mining: Concepts and

Techniques. University of Illinois, Morgan Kaufmann Publishers.

[JOSAS09] Joshi, D., Samal, A., & Soh, L-. K. (2009), “A Dissimilarity Function for Clustering Geospatial Polygons”, 17th International Conference on Advances in Geographic Information Systems (ACM SIGSPATIAL GIS 2009), (pp. 384-387). Seattle, WA.

[JOSAS10] Joshi, D., Samal, A., & Soh, L-. K. (2010), “A Dissimilarity Function for Polygons”, Journal of Geographic Systems in Decemeber.

[JOS11] Deepti Joshi (2011), Polygonal Spatial Clustering, Dissertation for the Degree of Doctor of Philosophy, The Graduate College at the University of Nebraska, USA.

[KAHAK99] Karypis G., Han E.-H, Kumar V., CHAMELEON (1999): “A Hierarchical Clustering Algorithm Using Dynamic Modeling”,

Computer 32.

[OCT97] Octavian P.(1997), Data Structures for Spatial Database Systems. [ODC03] Oracle (2003), Oracle Data Mining Concepts 10g Release 1 (10.1),

Oracle Corporation.

[RAJI02] Raymond T. Ng, Jiawei Han, CLARANS (2002): “A Method for Clustering Objects for Spatial Data Mining”, IEEE, 9-10.

[ROTE91] Rote, G. (1991) “Computing the minimum Hausdorff distance between two point sets on a line under translation”. Information Processing

Letters , 123-127.

[SOGHA08] Song Y-C., O’Grady M. J., O’Hare G. M. P. (2008), “Research and Application of Clustering Algorithm for Arbitrary Data Set”, IEEE. [TAPA04] Tao Y., Papadias D. (2004), “Performance Analysis of R*-trees with

Arbitrary Node Extents”, IEEE.

[TOB79] Tobler, W. (1979). “Cellular Geography, Philosophy in Geography”. Dordrecht, Reidel: Gale and Olsson, Eds.

[THISU08] Thirumurugan S., Suresh L. (2008), Statistical Spatial Clustering using Spatial Data mining, IET Conference, pp. 26-29.

[WAYM97] Wang W., Yang J., Muntz R., STING (1997): “A Statistical Information Grid Approach to Spatial Data Mining”.

[WAHA03] Wang, X., & Hamilton, H. J. (2003), “DBRS- A Density-Based Spatial Clustering Method with Random Sampling”, 7th PAKDD, (pp. 563- 575). Seoul, Korea.

Web sites

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Phương pháp phân cụm dữ liệu không gian và ứng dụng trong việc xác định vị trí tối ưu đặt máy ATM (Trang 72)