KHAI PHÁ DỮ LIỆU BẰNG CÔNG CỤ R

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp r và hadoop trong khai phá dữ liệu (Trang 28)

5. Phƣơng pháp nghiên cứu

1.2. KHAI PHÁ DỮ LIỆU BẰNG CÔNG CỤ R

1.2.1. Giới thiệu về công cụ R

Năm 1996, hai nhà thống kê học Ross Ihaka và Robert Gentleman thuộc Trƣờng đại học Auckland, New Zealand, phác hoạ một ngôn ngữ cho phân tích thống kê đƣợc đặt tên là R.

R là một phần mềm mã nguồn mở sử dụng cho phân tích thống kê và đồ thị. Về bản chất, R là một ngôn ngữ lập trình đƣợc mở rộng dễ dàng thông qua các gói thƣ viện. Với lợi thế miễn phí, mã nguồn mở và mềm dẻo, R đƣợc đông đảo ngƣời dùng đón nhận và phát triển, hiện nay, R đƣợc hỗ trợ bởi một cộng đồng sử dụng rộng lớn và phát triển trên nhiều lĩnh vực khác nhau trong đó có khai phá dữ liệu [3][29].

Thế mạnh khác của R là hỗ trợ tốt các giao diện truy vấn dữ liệu, hiển thị dữ liệu trực quan, đồ họa, kiểu dữ liệu phong phú, các hàm thống kê, giải thuật học tự động [8][11][14][20][24].

Ngƣời dùng R có thể mở rộng ứng dụng dễ dàng nhờ có rất nhiều gói thƣ viện trên CRAN (Comprehensive R Archive Network), đặt tại nhiều nơi trên thế giới.

21

Trong năm năm liền, từ năm 2011 đến năm 2015, R đƣợc Kdnuggets - trang web đầu ngành về phân tích kinh doanh, Big Data, KPDL và Khoa học dữ liệu (KHDL) đƣợc điều hành bởi chuyên gia đầu ngành về KHDL, Gregory Piatetsky-Shapiro - bầu chọn ở vị trí thứ nhất trong top các công cụ về phân tích, KPDL, KHDL [9].

Ngày nay, R đƣợc sử dụng rộng rãi trong cả trong nghiên cứu và trong công nghiệp.

22

Hình 1.3. Giao diện môi trƣờng làm việc của RStudio Server trên Ubuntu

1.2.2. R trong khai phá dữ liệu

R có sẵn các gói thƣ viện hỗ trợ hầu hết các kỹ thuật trong khai phá dữ liệu [25] [26].

1.2.2.1. Phân lớp với R

Dƣới đây là một số thƣ viện có sẵn trong R để hỗ trợ kỹ thuật phân lớp trong khai phá dữ liệu với R.

Bảng 1.1. Các thƣ viện hỗ trợ phân lớp trong R

Kỹ thuật phân lớp Thƣ viện

Cây quyết định Rừng ngẫu nhiên Học máy có giám sát Mạng nơ ron

Đánh giá hiệu năng

rpart, party randomForest, party e1071, kernlab nnet, neuralnet, RSNNS ROCR 1.2.2.2. Phân cụm với R

23 phân cụm trong khai phá dữ liệu với R.

Bảng 1.2. Các hàm, thƣ viện hỗ trợ phân cụm trong R

Kỹ thuật phân cụm Hàm Thƣ viện

k-means k-medoids Phân cụm di truyền DBSCAN BIRCH Thẩm định phân cụm kmeans(), kmeansruns() pam(), pamk()

hclust(), agnes(), diana()

fpc birch

clv, clValid, NbClust

1.2.2.3. Khai phá luật kết hợp với R

Dƣới đây là một số hàm và thƣ viện có sẵn trong R để hỗ trợ kỹ thuật khai phá luật kết hợp trong khai phá dữ liệu với R.

Bảng 1.3. Các hàm, thƣ viện hỗ trợ khai phá luật kết hợp trong R

Kỹ thuật khai phá luật kết hợp Hàm Thƣ viện

Luật kết hợp Mẫu trình tự

Trực quan hóa kết hợp

apriori(), eclat() Arules

arulesSequence arulesViz

1.2.2.4. Khai phá văn bản với R

Dƣới đây là một số thƣ viện có sẵn trong R để hỗ trợ kỹ thuật khai phá văn bản trong khai phá dữ liệu với R.

Bảng 1.4. Các thƣ viện hỗ trợ khai phá văn bản trong R

Kỹ thuật khai phá văn bản Thƣ viện

Khai phá văn bản Mô hình chủ đề Word cloud Xử lý dữ liệu Twitter Tm topicmodels, lda wordcloud twitteR

24

1.2.2.5. Phân tích chuỗi thời gian với R

Dƣới đây là một số hàm và thƣ viện có sẵn trong R để hỗ trợ kỹ thuật phân tích chuỗi thời gian trong khai phá dữ liệu với R.

Bảng 1.5. Các hàm, thư viện hỗ trợ phân tích chuỗi thời gian trong R

Kỹ thuật phân tích chuỗi thời gian Hàm Thƣ viện

Phân rã chuỗi thời gian Dự báo chuỗi thời gian Phân cụm chuỗi thời gian

DTW (Dynamic Time Warping)

decomp(), decompose(), arima(), stl()

forecast TSclust Dtw

1.2.2.6. Phân tích mạng xã hội với R

Dƣới đây là một số hàm và thƣ viện có sẵn trong R để hỗ trợ kỹ thuật phân tích mạng xã hội trong khai phá dữ liệu với R.

Bảng 1.6. Các hàm, thƣ viện hỗ trợ phân tích mạng xã hội trong R

Kỹ thuật phân tích mạng xã hội Hàm Thƣ viện Centrality measures Phân cụm Cliques Community detection

degree(), betweenness(), closeness(), transitivity()

clusters(), no.clusters()

cliques(), largest.cliques(), maximal.cliques(), clique.number() fastgreedy.community(), spinglass.community() igraph, sna, RNeo4j 1.2.2.7. R và Big data

Dƣới đây là một số hàm có sẵn trong R để hỗ trợ xử lý BigData trong R.

Bảng 1.7. Các thƣ viện hỗ trợ xử lý BigData trong R

Kỹ thuật xử lý Big Data Hàm

Hadoop Spark H2O MongoDB

RHadoop, RHIPE, rmr2, rhdfs, rhbase SparkR

h2o

25

1.3. DỮ LIỆU LỚN

1.3.1. Khái niệm Dữ liệu lớn

Theo Wikipedia: Dữ liệu lớn (Big Data) là một thuật ngữ chỉ tập hợp dữ liệu lớn hoặc phức tạp mà các phƣơng pháp truyền thống không đủ các ứng dụng để xử lý dữ liệu này.

Theo Garnier: Dữ liệu lớn (Big Data) là những nguồn thông tin có đặc điểm chung khối lƣợng lớn, tốc độ nhanh và dữ liệu định dạng dƣới nhiều hình thức khác nhau, do đó muốn khai thác đƣợc đòi hỏi phải có hình thức xử lý mới để đƣa ra quyết định.

Dữ liệu lớn chủ yếu hình thành từ 6 nguồn:

Dữ liệu hành chính: sinh ra từ dữ liệu của các tổ chức, có thể là chính phủ hoặc phi chính phủ. Ví dụ: hồ sơ y tế điện tử ở bệnh viện, hồ sơ bảo hiểm, ngân hàng,…; Dữ liệu từ hoạt động thƣơng mại (phát sinh từ hoạt động giao dịch giữa hai cá thể). Ví dụ: giao dịch giữa các thẻ tín dụng, giao dịch trên mạng, bao gồm cả từ các thiết bị di động,…; Dữ liệu từ các thiết bị cảm biến nhƣ thiết bị chụp hình ảnh, vệ tinh, cảm biến đƣờng, cảm biến khi hậu,…; Dữ liệu từ các thiết bị theo dõi. Ví dụ: dữ liệu từ các điện thoại di động, GPS,…; Dữ liệu về các hành vi. Ví dụ: tìm kiếm trực tuyến (về một sản phẩm dịch vụ hay thông tin khác) hay đọc các trang mạng trực tuyến,…; Dữ liệu từ các thông tin về ý kiến, quan điểm của các cá nhân, tổ chức trên các phƣơng tiện truyền thông; Phƣơng pháp khai thác và quản lý dữ liệu lớn hiện nay đƣợc thiết kế phù hợp dựa theo các nguồn hình thành dữ liệu lớn. Mỗi nguồn dữ liệu lớn khác nhau sẽ có phƣơng pháp khai thác và quản lý dữ liệu lớn khác nhau. Tuy nhiên, hiện nay phần lớn các tổ chức trên thế giới đều dùng Hadoop ecosystem là giải pháp tối ƣu để khai thác và quản lý dữ liệu lớn.

26

1.3.2. Đặc trƣng của Dữ liệu lớn

Dữ liệu lớn có 5 đặc trƣng cơ bản nhƣ sau (mô hình 5Vs về dữ liệu lớn do Gartner xây dựng) [5]:

Hình 1.4. Đặc trƣng 5Vs của Dữ liệu lớn

Khối lượng dữ liệu (Volume): Đây là đặc điểm tiêu biểu nhất của dữ liệu lớn, khối lƣợng dữ liệu rất lớn. Kích cỡ của Dữ liệu lớn đang từng ngày tăng lên, và tính đến năm 2012 thì nó có thể nằm trong khoảng vài chục terabyte cho đến nhiều petabyte (1 petabyte = 1024 terabyte) chỉ cho một tập hợp dữ liệu. Dữ liệu truyền thống chúng ta có thể lƣu trữ trên các thiết bị đĩa mềm, đĩa cứng. Nhƣng với dữ liệu lớn sẽ sử dụng công nghệ “đám mây” mới có khả năng lƣu trữ đƣợc dữ liệu lớn.

Tốc độ (Velocity): Tốc độ có thể hiểu theo 2 khía cạnh: (a) Khối lƣợng dữ liệu gia tăng rất nhanh (mỗi giây có tới 72.9 triệu các yêu cầu truy cập tìm kiếm trên web bán hàng của Amazon); (b) Xử lý dữ liệu nhanh ở mức thời gian thực (real-time), có nghĩa dữ liệu đƣợc xử lý ngay tức thời ngay sau khi chúng phát sinh (tính đến bằng mili giây). Các ứng dụng phổ biến trên lĩnh vực Internet, Tài chính, Ngân hàng, Hàng không, Quân sự, Y tế – Sức khỏe nhƣ hiện nay phần lớn dữ liệu lớn đƣợc xử lý thời gian thực. Công nghệ xử lý dữ liệu lớn ngày một

27

tiên tiến cho phép chúng ta xử lý tức thì trƣớc khi chúng đƣợc lƣu trữ vào cơ sở dữ liệu.

Đa dạng (Variety): Đối với dữ liệu truyền thống chúng ta hay nói đến dữ liệu có cấu trúc, thì ngày nay hơn 80% dữ liệu đƣợc sinh ra là phi cấu trúc (tài liệu, blog, hình ảnh, vi deo, bài hát, dữ liệu từ thiết bị cảm biến vật lý, thiết bị chăm sóc sức khỏe…). Dữ liệu lớn cho phép liên kết và phân tích nhiều dạng dữ liệu khác nhau. Ví dụ, với các comments/post của một nhóm ngƣời dùng nào đó trên Facebook với thông tin video đƣợc chia sẻ từ Youtube và Twitter.

Độ tin cậy/chính xác (Veracity): Một trong những tính chất phức tạp nhất của Dữ liệu lớn là độ tin cậy/chính xác của dữ liệu. Với xu hƣớng phƣơng tiện truyền thông xã hội (Social Media) và mạng xã hội (Social Network) ngày nay và sự gia tăng mạnh mẽ tính tƣơng tác và chia sẻ của ngƣời dùng mobile làm cho bức tranh xác định về độ tin cậy và chính xác của dữ liệu ngày một khó khăn hơn. Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu đang là tính chất quan trọng của Dữ liệu lớn.

Giá trị (Value): Giá trị là đặc điểm quan trọng nhất của dữ liệu lớn, vì khi bắt đầu triển khai xây dựng dữ liệu lớn thì việc đầu tiên chúng ta cần phải làm đó là xác định đƣợc giá trị của thông tin mang lại nhƣ thế nào, khi đó chúng ta mới có quyết định nên triển khai dữ liệu lớn hay không. Nếu chúng ta có dữ liệu lớn mà chỉ nhận đƣợc 1% lợi ích từ nó, thì không nên đầu tƣ dữ liệu lớn. Kết quả dự báo chính xác thể hiện rõ nét nhất về giá trị của dữ liệu lớn mang lại. Ví dụ, từ khối dữ liệu phát sinh trong quá trình khám, chữa bệnh sẽ giúp dự báo về sức khỏe đƣợc chính xác hơn, sẽ giảm đƣợc chi phí điều trị và các chi phí liên quan đến y tế.

28

1.3.3. Sự khác biệt giữa dữ liệu lớn và dữ liệu truyền thống

Dữ liệu lớn khác với dữ liệu truyền thống (ví dụ, kho dữ liệu - Data Warehouse) ở 4 điểm [5]: Dữ liệu đa dạng hơn, lƣu trữ dữ liệu lớn hơn, truy vấn nhanh hơn, độ chính xác cao hơn.

Dữ liệu đa dạng hơn: Khi khai thác dữ liệu truyền thống (thƣờng là dữ liệu có cấu trúc), chúng ta thƣờng phải trả lời các câu hỏi: Dữ liệu lấy ra kiểu gì? định dạng dữ liệu nhƣ thế nào? Đối với dữ liệu lớn, không phải trả lời các câu hỏi trên. Hay nói khác, khi khai thác, phân tích dữ liệu lớn chúng ta không cần quan tâm đến kiểu dữ liệu và định dạng của chúng; điều quan tâm là giá trị mà dữ liệu mang lại có đáp ứng đƣợc cho công việc hiện tại và tƣơng lai hay không.

Lưu trữ dữ liệu lớn: Lƣu trữ dữ liệu truyền thống vô cùng phức tạp và luôn đặt ra câu hỏi lƣu thế nào: dung lƣợng kho lƣu trữ bao nhiêu là đủ? gắn kèm với câu hỏi đó thì chi phí đầu tƣ sẽ là rất lớn. Công nghệ lƣu trữ dữ liệu lớn hiện nay đã phần nào có thể giải quyết đƣợc vấn đề trên nhờ những công nghệ lƣu trữ đám mây, phân phối lƣu trữ dữ liệu phân tán và có thể kết hợp các dữ liệu phân tán lại với nhau một cách chính xác và xử lý nhanh.

Truy vấn dữ liệu nhanh hơn: dữ liệu lớn đƣợc cập nhật liên tục, trong khi đó kho dữ liệu truyền thống thì lâu lâu mới đƣợc cập nhật và trong tình trạng không theo dõi thƣờng xuyên, gây ra tình trạng lỗi cấu trúc truy vấn dẫn đến không tìm kiếm đƣợc thông tin đáp ứng theo yêu cầu.

Độ chính xác cao hơn: dữ liệu lớn khi đƣa vào sử dụng thƣờng đƣợc kiểm định lại dữ liệu với những điều kiện chặt chẽ, số lƣợng thông tin đƣợc kiểm tra thông thƣờng rất lớn, và đảm bảo về nguồn lấy dữ liệu không có sự tác động của con ngƣời vào thay đổi số liệu thu thập.

29

1.3.4. Ứng dụng của dữ liệu lớn trong các lĩnh vực

Dữ liệu lớn đã đƣợc ứng dụng trong nhiều lĩnh vực nhƣ: hoạt động chính trị, giao thông, y tế, thể thao, tài chính, thƣơng mại, thống kê... dƣới đây là một số ví dụ về ứng dụng dữ liệu lớn [5].

1.3.4.1. Chính trị

Cựu tổng thống Mỹ Obama đã xây dựng cho mình một đội ngũ nhân viên chuyên đi thu thập tất cả thông tin về ngƣời dân ở các khu vực, sau đó phân tích và chỉ ra một số thông tin quan trọng về ngƣời dân Mỹ nhƣ: Thích đọc sách gì, thích mua loại thuốc gì, thích sử dụng phƣơng tiện gì… Thậm chí còn biết đƣợc cả thông tin về ngƣời đó đã bỏ phiếu tín nhiệm ai ở lần bầu cử trƣớc. Trên cơ sở những thông tin này, Obama đã đƣa ra kế hoạch vận động phù hợp, giúp ông tái đắc cử Tổng thống lần 2 của nƣớc Mỹ.

1.3.4.2. Giao thông

Sử dụng số liệu CDR (Call Detail Record) trong quá khứ để ƣớc lƣợng các dòng giao thông trong thành phố vào các giờ cao điểm, từ đó có những kế hoạch phân luồng giao thông chi tiết, hợp lý giúp giảm thiểu kẹt xe. Ngoài ra còn đƣa ra thông tin cho ngƣời tham gia giao thông đƣợc biết nếu muốn đi từ nơi này đến nơi khác thì nên đi vào giờ nào để tránh kẹt xe, hoặc đi đƣờng nào là ngắn nhất v.v... Ngoài ra dữ liệu lớn còn giúp phân tích định vị ngƣời dùng … thiết bị di động, ghi nhận chi tiết cuộc gọi trong thời gian thực; và giảm thiểu tình trạng ùn tắc giao thông.

1.3.4.3. Y tế

Trong y học các bác sĩ dựa vào số liệu trong các bệnh án để đƣa ra dự đoán về nguy cơ mắc bệnh. Đồng thời cũng đƣa ra đƣợc xu hƣớng lây lan của

30

bệnh. Ví dụ, ứng dụng Google Flu Trend là một trong những ứng dụng thành công của Google ứng dụng này dựa trên từ khóa tìm kiếm ở một khu vực nào đó, sau đó bộ máy phân tích của Google sẽ phân tích và đối chiếu kết quả tìm kiếm đó, sau cùng là đƣa ra dự báo về xu hƣớng dịch cúm tại khu vực đó. Qua đó cho biết tình hình cúm tại khu vực đó sẽ diễn ra nhƣ thế nào để đƣa ra các giải pháp phòng tránh. Những kết quả mà Google Flu Trend đƣa ra, hoàn toàn phù hợp với báo cáo của Tổ chức Y tế Thế giới WHO về tình hình bệnh cúm tại các khu vực đó.

1.3.4.4. Thể thao

Phân tích mô hình hệ thống cấu trúc sơ đồ chiến thuật của đội tuyển Đức (hình bên) đã đƣa ra những điểm bất hợp lý trong cấu trúc của đội tuyển Đức, từ đó giúp cho đội tuyển Đức khắc phục đƣợc điểm yếu và đã dành đƣợc World cup 2014.

1.3.4.5. Tài chính

Từ những dữ liệu chính xác, kịp thời thu thập đƣợc thông qua các giao dịch của khách hàng, tiến hành phân tích, xếp hạng và quản lý các rủi ro trong đầu tƣ tài chính, tín dụng.

1.3.4.6. Thương mại

Trong thƣơng mại dữ liệu lớn giúp cho chúng ta thực hiện đƣợc một số công việc sau: Phân khúc thị trƣờng và khách hàng; phân tích hành vi khách hàng tại cửa hàng; tiếp thị trên nền tảng định vị; phân tích tiếp thị chéo kênh, tiếp thị đa kênh; quản lý các chiến dịch tiếp thị và khách hàng thân thiết; So sánh giá; Phân tích và quản lý chuỗi cung ứng; Phân tích hành vi, thói quen ngƣời tiêu dùng.

31

1.3.4.7. Thống kê

Một nghiên cứu thu thập thông tin qua các phƣơng tiện truyền thông ở Hà Lan đã thống kê đƣợc nội dung các tin nhắn của ngƣời dân Hà Lan, trong đó có đến 50% số tin nhắn vô nghĩa. Số liệu này cho thấy kinh phí đã chi ra không đem lại lợi ích cho ngƣời dân cũng nhƣ xã hội Hà Lan.

1.3.5. Những thách thức trong dữ liệu lớn

Tài chính: Nhiều đơn vị, tổ chức không đo lƣờng đƣợc vấn đề sẽ phát sinh trong quá trình triển khai thực hiện, dự toán kinh phí chƣa chính xác, do vậy dự án không thực hiện đƣợc. Để triển khai đƣợc thành công, yếu tố tài chính có ý nghĩa rất quan trọng, một số tập đoàn thƣơng mại lớn có tiềm lực tài chính vững chắc đã xây dựng thuận lợi hệ thống dữ liệu Dữ liệu lớn nhƣ IBM, website

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp r và hadoop trong khai phá dữ liệu (Trang 28)

Tải bản đầy đủ (PDF)

(87 trang)