5. Phƣơng pháp nghiên cứu
3.2.2. Thực nghiệm 2
Ở thực nghiệm 2, tôi sẽ thực nghiệm thuật toán trên máy tính Core 2 Duo E8400 3.00GHz, hệ điều hành Ubuntu 14.04, Hadoop 2.7.3, R 3.3.3. Bộ dữ liệu thực nghiệm là Buzz in social media Data Set (Twitter) 583.249 điểm và 78 thuộc tính với kích thƣớc 270,13MB. Bộ dữ liệu đƣợc tải về tại UCI Machine Learning Repository http://archive.ics.uci.edu/ml/index.php.
72
Đánh giá tốc độ
Để đánh giá tốc độ của thuật toán, tôi tiến hành thực nghiệm so sánh thuật toán Kmeans trên Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con dữ liệu lần lƣợt là 2*k tâm, 3*k tâm, 4*k tâm, 5*k tâm, trên 5 máy (1MasterNode và 4 NameNode) với bộ dữ liệu: Twitter.
Bảng 3.6. Thời gian chạy của Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con với bộ dữ liệu Twitter
K 2*ktam 3*ktam 4*ktam 5*ktam 5 6 7 8 9 10 78,841s 82,146s 85,475s 85,744s 87,503s 88,524s 85,197s 86,022s 86,287s 88,723s 89,074s 92,647s 81,897s 83,911s 84,599s 86,057s 90,364s 91,429s 83,515s 87,354s 87,769s 87,859s 89,545s 90,277s
Hình 3.6. Biểu đồ tốc độ của Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con với bộ dữ liệu Twitter
Qua thực nghiệm ở trên với bộ dữ liệu Twitter, ta có thể thấy thời gian thực hiện thuật toán Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con dữ liệu lần lƣợt: 2*k tâm, 3*k tâm, 4*k tâm, 5*k thì lƣợng
73
thời gian sẽ tăng dần theo khi ta tăng số lƣợng mẫu đại diện mỗi tập con, cho dù sự thay đổi không qua lớn
Đánh giá chất lƣợng
Để đánh giá chất lƣợng của thuật toán, tôi tiến hành thực nghiệm so sánh thuật toán Kmeans trên Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con dữ liệu lần lƣợt là 2*k tâm, 3*k tâm, 4*k tâm, 5*k tâm, trên 5 máy (1MasterNode và 4 NameNode) với bộ dữ liệu: Twitter.
Bảng 3.7. Chỉ số chất lƣợng phân cụm của Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con với bộ dữ liệu Twitter
K 2*ktam 3*ktam 4*ktam 5*ktam 5 6 7 8 9 10 0,6098392 0.8799377 0,9366521 0,891491 0,937796 1,039523 0,6190088 0,8823779 0,9373436 0,8872345 0,9354825 1,035517 0,6278463 0,8761086 0,9359596 0,8860482 0,916741 1,017023 0,6251682 0,8589957 0,8196449 0,8556716 0,9349708 1,058182
Hình 3.7. Biểu đồ chất lƣợng phân cụm Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con với bộ dữ liệu Twitter
74
Qua thực nghiệm ở trên với bộ dữ liệu Twitter, ta có thể thấy chỉ số DBI thuật toán Kmeans Hadoop MapReduce khi tăng số lƣợng mẫu đại diện cho mỗi tập con dữ liệu lần lƣợt: 2*k tâm, 3*k tâm, 4*k tâm, 5*k thì chỉ số DBI này sẽ giảm dần theo khi ta tăng số lƣợng mẫu đại diện mỗi tập con, mặc dù sự thay đổi này rất nhỏ.
Ở thực nghiệm 2 ta có thể thấy đƣợc khi tăng số lƣợng mẫu đại diện cho mỗi tập con dữ liệu lần lƣợt: 2*k tâm, 3*k tâm, 4*k tâm, 5*k thì chất lƣợng phân cụm sẽ tốt dần theo nhƣng lƣợng thời gian thực thi cũng sẽ tăng theo.
75
KẾT LUẬN
Mô hình lập trình MapReduce ra đời mở ra một hƣớng đi mới để cải tiến các thuật toán làm việc với tập dữ liệu lớn. Đặc biệt là các thuật toán tìm kiếm và khai phá dữ liệu, những lĩnh vực hiện nay đặt ra yêu cầu khắt khe về tốc độ xử lý với đầu vào rất lớn. R là một công cụ, một ngôn ngữ lập trình độc đáo, năm 2011 Revolution Analytics đã phát triển tập các gói thƣ viện giúp R có khả năng tƣơng tác với Hadoop. Để có một đánh giá về khả năng của R khi tích hợp với MapReduce, tôi đã quyết định chọn đề tài “Kết hợp R và Hadoop trong Khai phá dữ liệu”. Đến hiện nay, luận văn đã đạt đƣợc một số kết quả cụ thể và hƣớng phát triển nhƣ sau:
Về kết quả đạt đƣợc:
- Trình bày khái quát về quá trình khám phá tri thức, khai phá dữ liệu và một trong những hƣớng chính đƣợc tập trung nghiên cứu trong khai phá dữ liệu. Thuật toán kinh điển trong phân cụm và kết quả một số nghiên cứu trong vài năm trở lại đây.
- Giới thiệu về R, ƣu nhƣợc điểm, các khái niệm cơ bản về R, cách thức khai phá dữ liệu trong R.
- Giới thiệu về dƣ liệu lớn, các khái niệm cơ bản về dữ liệu lớn và hạn chế R trong dữ liệu lớn.
- Giới thiệu về MapReduce, cách thức hoạt động, ƣu nhƣợc điểm của mô hình cũng nhƣ Hadoop một Framework mã nguồn mở là nền tảng của MapReduce.
- Giới thiệu về cách kết hợp Hadoop vào R, cài đặt thuật toán Kmeans cổ điển và Kmeans cải tiến áp dụng mô hình lập trình MapReduce trên R.
- Sử dụng các bộ dữ liệu phân cụm sẵn có để thực nghiệm và đánh giá các thuật toán phân cụm đƣợc trình bày trong luận văn.
76
Về hƣớng phát triển:
- Trong luận văn chỉ mới sử dụng các bộ dữ liệu có sẵn để thực nghiệm và đánh giá các thuật toán. Trong tƣơng lai, tôi sẽ nghiên cứu tận dụng khả năng xử lý dữ liệu của R để thực nghiệm trên các bộ dữ liệu thực tế.
- Nghiên cứu và đƣa ra đánh giá về ƣu nhƣợc điểm của việc kết hợp mô hình lập trình MapReduce với R so với kết hợp mô hình lập trình MapReduce với các ngôn ngữ khác.
- Tìm hiểu, nghiên cứu và cải tiến các thuật toán của phân cụm, phân lớp, khai phá luật kết hợp trong khai phá dữ liệu áp dụng mô hình lập trình MapReduce.
- Chuẩn hóa và hoàn thiện các cài đặt, xây dựng gói thƣ viện Kmeans và Kmeans áp dụng mô hình lập trình MapReduce đăng lên trang web chính thức của R để mọi ngƣời đóng góp ý kiến, xây dựng và sử dụng chúng.
77
DANH MỤC TÀI LIỆU THAM KHẢO
[1] Lê Thị Việt Hoa (2008), “Khai phá dữ liệu và thuật toán khai phá luật kết hợp song song” Luận văn thạc sĩ, Trƣờng Đại học Thái Nguyên. [2] Vũ Lan Phƣơng (2006), “Nghiên cứu và cài đặt một số giải thuật phân
cụm, phân lớp”, Khoa Công nghệ thông tin, Đại học Bách Khoa Hà Nội. [3] Nguyễn Văn Tuấn (2006), “Phân tích dữ liệu và tạo biểu đồ bằng R”,
Trƣờng Đại học Quy Nhơn, NXB Khoa học kỹ thuật
[4] Nguyễn Thị Tuyết, Trần Hoàng Việt, Trần Thiên Thành, (12/2017), “Một cải tiến thuật toán -means song song sử dụng phương pháp lấy mẫu”, Kỷ yếu Hội thảo quốc gia Công nghệ thông tin amp; ứng dụng trong các lĩnh vực lần thứ 6, trang 196-203.
[5] Tổng hợp theo Kỷ yếu Hội thảo khoa học, (07/10/2015), “Thống kê Nhà nước với Dữ liệu lớn”, Trung tâm Thông tin Khoa học thống kê, Viện Khoa học thống kê.
[6] Agrawal R. and Srikant R (1994), “Fast algorithm for mining associantion rules in large databases”, VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases, Pages 487-499. [7] Bogdan Oancea, Raluca Mariana Dragoescu, (2014), “Integrating R and
Hadoop for Big Data Analysis”, Nicolae Titulescu University of Bucharest, The Bucharest University of Economic Studies
[8] Crawley M.J, (2005), “Statistics: An Introduction using R”, Wiley.
[9] G. Piatetsky, Kdnuggets polls, “Primary programming language for Analytics Data Mining”. Available at http://www.kdnuggets.com/polls/index.html.
[10] Garry Turkington, Gabriele Modena, (2015), Boo : “Learning Hadoop 2”, Published by Packt Publishing Ltd., pp. 8-16.
78
[11] Ihaka R. and Gentleman R, (1996): “R: A language for data analysis and graphics”, Journal of Computational and Graphical Statistics, 5(3): 299- 314.
[12] Information on See5/C5.0, (2011), “RuleQuest Research Data Mining Tools”, Available at: http://www.rulequest.com/see5-info.html
[13] Jiawei Han, Micheline Kamber (2006), “Data Mining: Concepts and Techniques”, Second Edition, Morgan Kaufmann Publishers.
[14] J. A. Hartigan and M. A. Wong, (1979), “A K-means clustering algorithm”, Applied Statistics, Vol. 28, pp. 100-108.
[15] Jeffrey Dean and Sanjay Ghemawat, (2004), Mapreduce: “Simlified Data Processing on Large Clusters”, OSDI 2004
[16] L. Breiman, J.H. Friedman, R. Olshen and C.J. Stone, (1984),
“Classification and Regression Trees”, Wadsworth International Group, Belmont, California.
[17] Maindonald J. and Braun J., (2003), “Data Analysis and Graphics Using R”, Cambridge University Press.
[18] Qiankun Zhao, Sourav S. Bhowmick, “Association Rule Mining: A Survey”
[19] 12.Revolution Analytics (2011), Leveraging R in Hadoop Environments. [20] Spector P., (2004): “An Introduction to R”, Statistical Computing
Facility, University of California, Berkeley.
[21] 13.Tom White (2015), “Hadoop The Definitive Guide, 4th Edition”, O’Reilly.
[22] T. Mitchell, Vol. 42 (1999), “Machine Learning and Data Mining”, Communications of the ACM, No. 11, pp. 30-36.
79
[23] U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth and R. Uthurusamy, (1996), “Advances in Knowledge Discovery and Data Mining”, AAAI Press, Menlo Park, CA.
[24] Venables W.N. and Smith D.M., (2002): “An Introduction to R”, Network Theory.
[25] Yanchang Zhao, (2012). “R and Data Mining: Examples and Case Studies”. Academic Press, Elsevier, ISBN: 978-0-123-96963-7.
[26] Yanchang Zhao, (2015). “Introduction to Datamining with R and Data import/export in R”. R and Datamining workshop for the Master of Business analytics course, Deakin University, Melbourne.
[27] https://github.com/andrie/RHadoop-tutorial/ [28] https://github.com/RevolutionAnalytics/RHadoop