MỞ ĐẦU. Lý do chọn đề tài. Tổng quan tình hình nghiên cứu đê tài. Mục tiêu và nhiệm vụ nghiên cứu.
Đối tƣợng và phạm vi nghiên cứu. Phƣơng pháp nghiên cứu. KIẾN THỨC TỔNG QUAN. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU.
Giới thiệu chung. Khai phá dữ liệu. Các bƣớc quá trình khám phá tri thức. Các kỹ thuật Khai phá dữ liệu.
Những thách thức trong Khai phá dữ liệu. Ứng dụng của khai phá dữ liệu. KHAI PHÁ DỮ LIỆU BẰNG CÔNG CỤ R. Giới thiệu về công cụ R.
R trong khai phá dữ liệu. DỮ LIỆU LỚN. Khái niệm Dữ liệu lớn. Đặc trƣng của Dữ liệu lớn.
Sự khác biệt giữa dữ liệu lớn và dữ liệu truyền thống. Ứng dụng của dữ liệu lớn trong các lĩnh vực. Những thách thức trong dữ liệu lớn. Hạn chế R trong dữ liệu lớn.
MÔ HÌNH LẬP TRÌNH MAPREDUCE. Hoạt động của MapReduce. Ƣu và nhƣợc điểm của MapReduce. Apache Hadoop Framework.
KẾT LUẬN CHƢƠNG 1. KẾT HỢP R VÀ HADOOP TRONG KHAI PHÁ DỮ LIỆU. TẠI SAO PHẢI KẾT HỢP R VÀ HADOOP. CÁC CÁCH KẾT HỢP R VÀ HADOOP.
KẾT HỢP R VỚI HADOOP BẰNG RMR2. Cài đặt RHadoop. Các gói thƣ viện hỗ trợ mô hình lập trình MapReduce trên R. CÁCH VIẾT CHƢƠNG TRÌNH R SỬ DỤNG RHADOOP.
THỰC THI CHƢƠNG TRÌNH MAPREDUCE TỪ R. MINH HỌA MỘT SỐ CHƢƠNG TRÌNH R THEO MÔ HÌNH MAPREDUCE. KẾT LUẬN CHƢƠNG II. THỰC NGHIỆM VÀ ĐÁNH GIÁ.
THUẬT TOÁN KMEANS ÁP DỤNG HADOOP MAPREDUCE TRÊN R. THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ. 75 DANH MỤC TÀI LIỆU THAM KHẢO. 77 e BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC QUY NHƠN CAO MINH THƢỞNG KẾT HỢP R VÀ HADOOP TRONG KHAI PHÁ DỮ LIỆU Chuyên ngành: Khoa học máy tính Mã số: 8.01 Ngƣời hƣớng dẫn : TS.
Trần Thiên Thành e LỜI CẢM ƠN Trƣớc tiên em xin chân thành cảm ơn Thầy TS.Trần Thiên Thành đã tận tình hƣớng dẫn, chỉ bảo em trong thời gian qua. Em xin bày tỏ lòng biết ơn tới các Thầy Cô giáo trong khoa Công nghệ thông tin nói riêng và Trƣờng Đại học Quy Nhơn nói chung đã dạy bảo, cung cấp những kiến thức quý báu cho em trong suốt quá trình học tập và nghiên cứu tại trƣờng. Em cũng gửi lời cảm ơn tới gia đình, bạn bè, những ngƣời luôn cổ vũ, quan tâm và giúp đỡ em trong suốt thời gian học tập cũng nhƣ làm luận văn. Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu sót nhất định.
Em rất mong nhận đƣợc những sự góp ý quý báu của Thầy Cô và các bạn. e LỜI CAM ĐOAN Tôi xin cam đoan kết quả trong luận văn là sản phẩm của riêng cá nhân tôi. Trong toàn bộ nội dung của luận văn, những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình. Quy nhơn, ngày 30 tháng 7 năm 2019 Ngƣời cam đoan Cao Minh Thƣởng e DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Số thứ Từ viết Tên đầy đủ Ý nghĩa tự tắt 1 KPDL Khai phá dữ liệu 2 CSDL Cơ sở dữ liệu 3 KDD Knowlegde Discovery in Database Khai phá tri thức Hệ thống tệp phân 4 HDFS Hadoop Distributed File System tán Hadoop 5 KHDL Khoa học dữ liệu Phân tích chi tiết 6 CDR Call Detail Record cuộc gọi Tổ chức y tế thế 7 WHO World Health Organization giới Phƣơng thức kết 8 ORCH Oracle R Connector for Hadoop hợp R và Hadoop e DANH MỤC CÁC BẢNG, BIỂU Bảng 1. Các thƣ viện hỗ trợ phân lớp trong R. Các hàm, thƣ viện hỗ trợ phân cụm trong R.
Các hàm, thƣ viện hỗ trợ khai phá luật kết hợp trong R. Các thƣ viện hỗ trợ khai phá văn bản trong R. Các hàm, thư viện hỗ trợ phân tích chuỗi thời gian trong R. Các hàm, thƣ viện hỗ trợ phân tích mạng xã hội trong R.
Các thƣ viện hỗ trợ xử lý Big Data trong R. Các gói thƣ viện tƣơng tác giữa R và Hadoop. Các thao tác cơ bản của thƣ viện rhdfs. Các tham số hàm MapReduce của thƣ viện rmr2.
Các tham số hàm keyval của thƣ viện rmr2. Các tham số hàm to.dfs và from.dfs của thƣ viện rmr2. Các tham số hàm to.map và to.reduce của thƣ viện rmr2. Thời gian chạy Kmeans và Kmeans Hadoop MapReduce trên 3 máy và 5 máy với bộ dữ liệu Twitter.
Thời gian chạy của Kmeans và Kmeans Hadoop MapReduce trên 3 máy và 5 máy với bộ dữ liệu Train. Thời gian chạy của Kmeans và Kmeans Hadoop MapReduce trên 3 máy và 5 máy với bộ dữ liệu Phones_gyroscope. Chỉ số chất lƣợng phân cụm của Kmeans và Kmeans Hadoop MapReduce với bộ dữ liệu Twitter. 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.
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. 73 e DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ Hình 1. Các bƣớc của quá trình khám khá tri thức [13]. Giao diện môi trƣờng làm việc của R trên Ubuntu.
Giao diện môi trƣờng làm việc của RStudio Server trên Ubuntu. Đặc trƣng 5Vs của Dữ liệu lớn. Quá trình thực thi MapReduce [15]. Thành phần Hadoop 1: HDFS và MapReduce [10].
Thành phần Hadoop 2 [10]. Mô tả về cách chia khối trong HDFS. Cách thức hoạt động của HDFS. Cách thức hoạt động của MapRedcue trên Hadoop.
Hadoop và các công cụ phân tích dữ liệu. Định dạng dữ liệu CEnetBig. Quá trình thực hiện phân cụm Kmeans trên Hadoop Reduce. Sơ đồ thể hiện thuật toật xác định k tâm trên Hadoop Mapreduce 64 Hình 3.
Biểu đồ tốc độ của Kmeans và Kmeans Hadoop MapReduce trên 3 máy và 5 máy với bộ dữ liệu Twitter. Biểu đồ tốc độ của Kmeans và Kmeans Hadoop MapReduce trên 5 máy với bộ dữ liệu Train. Biểu đồ chất lƣợng phân cụm của Kmeans và Kmeans HM với bộ dữ liệu Twitter. 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.
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. LÝ DO CHỌN ĐỀ TÀI Ngày nay lƣợng dữ liệu ngày càng nhiều và trở thành thách thức trong khai phá dữ liệu. Khai phá dữ liệu mang lại nhiều lợi ích về kinh tế, xã hội và đặt biệt là đƣợc các doanh nghiệp ứng dụng để mang lại hiệu quả trong kinh doanh. Dữ liệu ngày càng lớn đặt ra những thách thức đối với các hệ quản trị cơ sở dữ liệu trong việc lƣu trữ, xử lý và phân tích dữ liệu.
R là một công cụ mã nguồn mở đƣợc dùng phổ biến hiện nay trong việc phân tích và xử lý dữ liệu. Tuy nhiên công cụ R gặp nhiều khó khăn khi xử lý những dữ liệu lớn. Hadoop là nền tảng mã nguồn mở đƣợc xây dựng để tổ chức lƣu trữ và xử lý dữ liệu lớn. Trong Hadoop bao gồm HDFS (Hadoop Distributed File System) dùng để quản lý file phân tán, MapReduce dùng để lập trình và xử lý song song trên dữ liệu phân tán, cơ sở dữ liệu Hbase dùng để lƣu trữ đƣợc dữ liệu lớn trên hệ thống phân tán HDFS,… Với mong muốn tăng cƣờng khả năng phân tích và xử lý dữ liệu trên R nên tôi chọn đề tài “Kết hợp R với Hadoop trong Khai phá dữ liệu”.
TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU ĐÊ TÀI Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lƣợng dữ liệu đã đƣợc các cơ quan thu thấp và lƣu trữ ngày một tích lũy nhiều lên. Họ lƣu trữ các dữ liệu này vì cho rằng trong 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ì hoặc có thể làm gì với chúng nhƣng họ vẫn e 2 tiếp tục thu thập lƣợng dữ liệu này với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua, sau này có lúc cần đến nó. Mặt khác, trong môi trƣờng cạnh tranh, ngƣời ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lƣợng dữ liệu khổng lồ đã có.
Với những lý do nhƣ 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 cần phải thay thế một kỹ thuật mới đó là Khai phá dữ liệu (Data Mining - KPDL). Khai phá dữ liệu đã và đang đƣợc nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nƣớc trên thế giới, tại Việt Nam kỹ thuật này cũng đang đƣợc nghiên cứu và đƣa vào ứng dụng trong nhiều lĩnh vực từ kinh doanh đến tài chính, nghiên cứu khoa học,. Khai phá dữ liệu, giúp ngƣời sử dụng thu đƣợc những tri thức hữu ích từ những cơ sở dữ liệu (Database - CSDL) hoặc các nguồn dữ liệu khổng lồ khác. Rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kỹ thuật khai phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và đã thu đƣợc những lợi ích to lớn.
Năm 1996, hai nhà thống kê học Ross Ihaka và Robert Gentlan phác họa một ngôn ngữ cho phân tích thống kê đƣợc đặt tên là R. Theo [3] “Về bản chất, R là ngôn ngữ lập trình, sử dụng cho nhiều mục đích, từ tính toán đơn giản, toán học giải trí (recreational mathematics), tính toán ma trận (matrix), đến các phân tích thống kê phức tạp”. Việc hƣớng đến mã nguồn mở, miễn phí R nhanh chóng phát triển vƣợt qua các phần mềm thống kê xuất hiện trƣớc nó. Hadoop là một framework mã nguồn mở do Apache phát triển để lƣu trữ, thao tác dữ liệu lớn sử dụng mô hình lập trình MapReduce.