1. Trang chủ
  2. » Luận Văn - Báo Cáo

KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE

28 785 2

Đ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 28
Dung lượng 865,32 KB

Nội dung

KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE Chương 1: TỔNG QUAN KHAI PHÁ DỮ LIỆU Chương 2: KHAI PHÁ LUÂṬ KẾT HƠP Chương 3: TỔNG QUAN MÔ HÌNH LÂP̣ TRÌNH MAPREDUCE Chương 4: ỨNG DỤNG LUẬT KẾT HỢP TRONG MÔ HÌNH MAPREDUCE

Trang 1

-TRẦN THỊ LỊCH

KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU

PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE

LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI – 2014

Trang 2

-KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN

DỰA TRÊN MÔ HÌNH MAPREDUCE

Chuyên ngành: Khoa học máy tính

Mã số : 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS TRẦN ĐÌNH QUẾ

HÀ NỘI - 2014

Trang 3

MỞ ĐẦU

1 Lý do chọn đề tài

Khai phá dữ liệu (Data Mining ) là một lĩnh vực khoa học liên ngành mới xuất hiện gần đây nhằm đáp ứng nhu cầu phát hiê ̣n ra những tri thức có ích , phục vụ cho công viê ̣c của con người Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống

Trong lĩnh vực khai phá dữ liệu , mục đích của luật kết hợp (Association Rule - AR) là tìm ra các mối kết hợp (Association) hay tương quan (Correlation) giữa các đối tượng trong khối lượng lớn dữ liệu Ứng dụng của luật kết hợp rất phổ biến trong nhiều lĩnh vực, nhất là trong kinh doanh như phân tích hành vi khách hàng , dự đoán nhu cầu của khách hàng

Mô hình MapReduce là một mô hình lập trình

giúp các ứng dụng có thể xử lý nhanh một lượng lớn dữ liê ̣u trên các máy phân tán hoa ̣t đô ̣ng song son g, đô ̣c lâ ̣p với nhau từ đó giúp rút ngắn thời gian xử lý toàn bô ̣ dữ liê ̣u MapReduce có thể chạy trên các phần cứng thông thường (commodity hardware), không đòi hỏi các server chạy MapReduce phải là các máy tính có khả năng tính

Trang 4

toán, lưu trữ và truy xuất mạnh mẽ Do vậy, chi phí triển khai MapReduce sẽ rẻ hơn

MapReduce làm đơn giản hoá các giải thuật tính toán phân tán Với MapReduce, bạn chỉ cần cung cấp hai hàm Map và Reduce cùng với một số thành phần xử lý dữ liệu đầu vào Do vậy, các nhà phát triển ứng dụng phân tán có thể tập trung nhiều hơn cho phần logic của ứng dụng, bỏ qua các chi tiết phức tạp của việc phân tán xử lý

Sự ra đời của MapReduce đã mở ra cho các doanh nghiệp cơ hội xử lý các nguồn dữ liệu đồ sộ với chi phí thấp và thời gian nhanh hơn Với việc áp dụng MapReduce, Amazon có thể xử lý được các file log phát sinh trong quá trình bán hàng trên mạng, phục vụ cho việc

dự đoán xu hướng mua hàng của khách hàng, các sản phẩm đang được mua nhiều… Facebook có thể xử lý được khối lượng hơn 10 tỷ hình ảnh mà họ đang lưu trữ để rút trích các thông tin về kích thước hình ảnh, phát hiện các hình ảnh xấu

Vì những lý do trên mà tôi chọn đề tài “ Khai phá luật kết hợp với dữ liê ̣u phân tán dựa trên mô hình MapReduce” làm đề tài luận văn của mình

2 Mục đích nghiên cứu

 Tìm hiểu kỹ thuật , thuâ ̣t toán khai phá luâ ̣t kết hợp

trong khai phá dữ liê ̣u

Trang 5

 Nghiên cứu mô ̣t mô hình lâ ̣p trình MapReduce trong viê ̣c ứng du ̣ng vào các bài toán xử lý mô ̣t lượng lớn dữ liê ̣u Sử du ̣ng H adoop, mô ̣t thể hiê ̣n của MapReduce, cho việc phân tích dữ liê ̣u

 Áp du ̣ng cấu trúc, tham chiếu các đă ̣c trưng của mô

hình MapReduce vào bài toán phân tích xu hướng khách hàng nhằm rút ra những luật kết hợp

3 Đối tượng và phạm vi nghiên cứu

 Nghiên cứu khái niệm, vai trò, ứng dụng và các kỹ thuật khai phá dữ liệu

 Tìm hiểu, nghiên cứu khai phá dữ liê ̣u với luâ ̣t kết

hơ ̣p và mô ̣t số thuâ ̣t toán

 Tìm hiểu , nghiên cứu mô hình lâ ̣p trình

MapReduce, Hadoop

4 Phương pháp nghiên cứu

 Nghiên cứu, tìm hiểu lý thuyết về các kỹ thuật khai phá dữ liệu

 Tìm hiểu và cài đặt mô hình lập trình MapReduce trên nền Hadoop Sử du ̣ng ngôn ngữ lâ ̣p trình Java tích hợp Framework Hadoop trên môi trư ờng Eclipse

 Nguồn dữ liê ̣u sẽ sử du ̣ng để thử nghiê ̣m là dữ liê ̣u

mua bán lẻ của khách hàng đã được lưu trữ ta ̣i siêu

thị

Trang 6

5 Kết cấu luận văn

Chương 1: TỔNG QUAN KHAI PHÁ DỮ LIỆU

Giới thiê ̣u tổng quan về quá trình khai phá dữ liê ̣u, các phương pháp khai phá dữ liệu , nhiê ̣m vu ̣ chính , quy trình khai phá dữ liệu

Chương 2: KHAI PHÁ LUẬT KẾT HỢP

Trình bày tổng quan về khai phá luật kết hợp và giới thiê ̣u mô ̣t số thuâ ̣t toán khai phá luâ ̣t kết hợp

Chương 3: TỔNG QUAN MÔ HÌNH LẬP TRÌNH MAPREDUCE

Trình bày tổng quan mô hình lập trình MapReduce , các thành phần , cấu trúc của mô hình này Làm quen với môi trường phân tán Hadoop trên mô hình đó

Chương 4: ỨNG DỤNG LUẬT KẾT HỢP TRONG

MÔ HÌNH MAPREDUCE

Tóm tắt lại kết quả đạt được , ưu điểm , nhươ ̣c điểm của thuâ ̣t toán và phương hướng phát triển tiếp theo

Trang 7

CHƯƠNG 1 TỔNG QUAN KHAI PHÁ DỮ LIỆU 1.1 Khai pha ́ dữ liê ̣u là gì?

1.2 Quy tri ̀nh khai phá dữ liê ̣u

6 Ước lượng mẫu

7 Biểu diễn tri thức

1.3 Các phương pháp khai phá dữ liệu

1.3.1 Phát hiện các luật kết hợp

1.3.2 Phân cụm

1.3.3 Phân lớp

1.3.4 Hồi quy

1.3.5 Mô hình phụ thuộc

1.3.6 Phát hiện sự thay đổi và độ lệch

1.4 Các dạng cơ sở dữ liệu có thể khai phá

 CSDL quan hệ (relational databases)

 CSDL dạng giao dịch (transactional databases)

 CSDL mở rộng

Trang 8

1.5 Phân loại các hệ khai phá dữ liệu

 Phân loại dựa trên kiểu dữ liệu được khai phá

 Phân loại dựa trên dạng tri thức được khám phá

 Phân loại dựa trên kỹ thuật được áp dụng

 Phân loại dựa trên lĩnh vực được áp dụng

1.6 Nhƣ ̃ng thách thƣ́c khai phá dƣ̃ liê ̣u

1.7 Các ứng dụng trong khai phá dữ liệu

1.8 Kết luâ ̣n

Trong chương một, luận văn đã trình bày một cách tổng quan nhất về KPDL - cụ thể là định nghĩa về KPDL và những mục đích, ứng dụng, động cơ thúc đẩy các nhà tin học chú trọng vào lĩnh vực nghiên cứu này

Trang 9

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP

2.1 Giơ ́ i thiê ̣u

2.1.1 Các khái niệm cơ bản

Định nghĩa 2.1: Độ hỗ trợ (support) của luật kết hợp X 

Một itemsets mà tần suất xuất hiện của nó >= min_sup goi là frequent itemsets

2.1.2 Khai pha ́ luật kết hợp

2.1.2.1 Phát biểu bài toán:

- Cho một tập mục I = {I1, I2, , Im}

- Một cơ sở dữ liệu giao dịch D (n giao dịch)

- Độ hỗ trợ tối thiểu minsup và độ tin cậy tối thiểu mincof

Trang 10

Tìm tập các luật kết hợp R: X Y sao cho support(XY) >= minsup và confidence(XY) >= mincof

2.1.2.2 Giải quyết bài toán

 Tìm tất cả các tập mục thỏa mãn độ hỗ trợ tối thiểu minsup cho trước, hay tập mục phổ biến

 Tìm tất cả những luật kết hợp từ những tập mục phổ biến thỏa độ tin cậy tối thiểu mincof cho trước 2.1.2.3 Phân loại luật kết hợp

 Luật kết hợp nhị phân

 Luật kết hợp mờ

 Luật kết hợp nhiều mức

2.2 Mô ̣t số thuâ ̣t toán khai phá luâ ̣t kết hơ ̣p

2.2.1 Thuâ ̣t toán khai phá luật kết hợp tuần tự

2.2.2 Thuật toán khai phá luật kết hợp song song

2.2.3 Thuâ ̣t toán khai phá luật kết hợp phân tán

2.3 Ứng dụng của luật kết hợp

Trang 11

 Phân biệt thế nào là độ hỗ trợ, độ tin cậy, Frequent items, ItemSet và đặc biệt là cách tìm ra một frequent items như thế nào?

 Thuật toán Apriori được dùng để phát hiện các luật kết hợp dạng khẳng định nhị phân chứ không thể phát hiện các luật kết hợp ở dạng phủ định

Trang 12

CHƯƠNG 3: TỔNG QUAN MÔ HÌNH LẬP TRÌNH MAPREDUCE

3.1 Giơ ́ i thiê ̣u mô hình tính toán MapReduce

3.1.1 Nguyên nhân va ̀ li ̣ch sử ra đời

Khi khối lượng dữ liệu của một hệ thống gia tăng tới một mức độ nhất định (khoảng hàng ngàn Terabyte chẳng hạn), thì việc hệ thống sẽ phải đối mặt với thách thức làm sao để lưu trữ và phân tích dữ liệu

Sự bùng nổ về dữ liệu đã đặt ra các cơ hội, cơ hội chiếm lĩnh một nguồn thông tin khổng lồ, làm sao để lưu trữ và phân tích nguồn dữ liệu đó nếu chúng ta có đủ khả năng phân tích và xử lý nguồn dữ liệu đó, biến những dữ liệu thô thành những thông tin hữu ích với một mức chi phí hợp lý

3.1.2 MapReduce la ̀ gì?

“MapReduce là mô hình lập trình và thực thi song song các xử lý và phát sinh các tập dữ liệu lớn”

Trang 14

MapReduce sử dụng hai thao tác chính cho việc thực thi công việc ban đầu từ người dùng là hàm map và hàm reduce

Hàm map có input là một cặp (k1, v1) và output là một danh sách các cặp (k2, v2)

map(k1, v1) -> list(k2, v2)

Sau giai đoạn này thì chúng ta có một tập hợp rất nhiều cặp (key, value) thuộc kiểu (k2, v2) gọi là các cặp (key, value) trung gian MR cũng sẽ nhóm các cặp này theo từng key, như vậy các cặp (key, value) trung gian có cùng k2 sẽ nằm cùng một nhóm trung gian

Một cách hình thức, hàm này có thể mô tả như sau

reduce(k2, list (v2))->list(v3) Trong đó k2 là key chung của nhóm trung gian, list(v2) là

tập các values trong nhóm, và list(v3)là một danh sách

các giá trị trả về của reduce thuộc kiểu dữ liệu v3 Do reduce được áp dụng vào nhiều nhóm trung gian độc lập

nhau, chúng lại một lần nữa có thể được chạy song song với nhau

3.1.3 Ưu điểm cu ̉ a MapReduce

3.1.4 Nguyên tắc hoa ̣t động của MapReduce

Trang 15

 Đọc dữ liệu đầu vào

 Thực hiện xử lý các phần dữ liệu vào (xử lý từng phần một ) (Thực hiện hàm Map)

 Trộn và sắp xếp các kết quả thu được từ các máy tính làm sao để được kết quả tiện lợi nhất so với mục đích của quá trình

 Tổng hợp các kết quả trung gian thu được từ các máy tính phân tán (Thực hiện hàm reduce)

 Đưa ra kết quả cuối cùng

Trang 16

3.2 Giơ ́ i thiê ̣u nền tảng tính toán phân tán Hadoop trên mô hình MapReduce

3.2.2 Lịch sử Hadoop

3.2.3 Các thành phần của Hadoop

3.2.4 Ứng dụng của Hadoop

3.3 Hadoop Distributed File System (HDFS)

3.3.1 Giơ ́ i thiê ̣u

3.4 Kết luâ ̣n

Một số ván đề đã tìm hiểu trong chương này:

 MapReduce là mô hình lập trình và thực thi song song các xử lý và phát sinh các tập dữ liệu lớn

 MapReduce là một mô hình được áp dụng trên một

hệ thống các máy tính được kết nối với nhau và cài đặt chương trình MapReduce và thường kèm theo

nó là một hệ thống chia sẻ file phân tán (HDFS)

Trang 17

CHƯƠNG 4: ỨNG DỤNG LUẬT KẾT HỢP TRONG

MÔ HÌNH MAPREDUCE

4.1 Giới thiệu bài toán

Maket Basket Analysis (MBA) là một trong những phương pháp khai phá dữ liệu để phân tích dựa trên một tập dữ liệu với nhau Ý tưởng chính của thuật toán là đi tìm sự kết hợp của các cặp mặt hàng trong cửa hàng…

Trong chương này chúng ta sẽ thực nghiệm mô hình lập trình MapReduce với bài toán Maket Basket Analysis

4.1.1 Thuật toán khai phá luật kết hợp Apriori tuần tự

Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ:

Bài toán 1: Tìm tất cả các tập mục thỏa mãn độ hỗ trợ

tối thiểu minsup cho trước hay tập mục phổ biến

Bài toán 2: Tìm tất cả những luật kết hợp từ những

tập mục phổ biến thỏa độ tin cậy tối thiểu mincof cho trước

Thuật toán như sau:

Trang 18

//(1) Map transaction t in data source to all Map nodes;

C 1 = {size 1 frequent items};

C k+1 = L k join_sort L k ; for each transaction t in data source with C k+1 do

// Đếm số lần xuất hiện C k+1 trong t

// (5) Tìm L k+1 với C k+1 thỏa mãn min_support

L k+1 = {size k+1 frequent items min_support};

end

end

return ∪k Lk;

Hình 4.1 Thuật toán Apriori tuần tự

4.1.2 Thuật toán khai phá luật kết hợp Apriori trên MapReduce

Giai đoạn Mapper:

Trang 19

Step 1: Đọc mỗi giao dịch của dữ liệu

đầu vào và tạo ra một tập các Item (<V1>, <V2>,…, <Vn>) where < Vn>:(vn1,

vn2, vnm)

Step 2: Sắp xếp tất cả các tập <Vn> và tạo ra một tập các dữ liệu đã được sắp xếp là <Un>:

(<U1>, <U2>, …, <Un>) trong đó < Un>: (un1, un2, unm)

Step 3: Vòng lặp While < Un> có phần tử tiếp theo;

//Chú ý:mỗi danh sách Un được xử lý

riêng rẽ

3.1: Vòng lặp For mỗi Item từ un1 tới

unm của < Un> with NUM_OF_PAIRS

3.a: sinh ra một tập dữ liệu <Yn>: (yn1, yn2, ynl);

Ynl: (unx uny) là danh sách của các cặp (un1, un2, unm) where unx uny

3.b: Làm tăng sự xuất hiện của ynl; //Chú ý: (key, value) = (ynl, số lần xuất hiện)

3.2: Kết thúc vòng lặp For

Step 4: Kết thúc vòng lặp While

Tập dữ liệu được tạo ra là đầu vào của giai đoạn Reducer:

(key, <value>) = (ynl, <số lần xuất

hiện>)

Hình 4.2 MBA Algorithm for Mapper

Trang 20

Giai đoạn Reducer

1 Đọc(ynl,<number of occurrences>) data từ nhiều node

2 Add the values for ynl to

have

(ynl, total number of occurrences)

Hình 4.3 MBA Algorithm for Reducer

4.1.3 So sánh thuật toán apriori trên MapReduce và thuật toán Apriori tuần tự

Độ phức tạp của thuật toán Apriori tuần tự là

O(k t n)) với k: kích cỡ của frequent items, t: số giao dịch, n: số Items của giao dịch với t>>k, n>>k

Độ phức tạp của thuật toán Apriori-Map/Reduce là

O(k t n/p) với k: kích thước của frequent items, t: số

transactions, n: số items của transactions, p: số nodes Map và Reduce giả sử rằng kích thước các Node là như nhau Với điều kiện t >> k, n >> k

Lý thuyết này đã chỉ ra rằng độ phức tạp của thuật toán Apriori sử dụng Map/Reduce ít hơn p lần so với thuật toán Apriori tuần tự

Trang 21

4.2 Phương pháp thử nghiệm hai thuật toán

Cài đặt mô hình lập trì nh MapReduce trên nền Hadoop Sử du ̣ng ngôn ngữ lâ ̣p trình Java

Thử nghiệm hai thuật toán Apriori tuần tự và Apriori áp dụng MapReduce trên hai cơ sở dữ liệu giao dịch khác nhau:

 Cơ sở dữ liệu 1: Là dữ liệu về khách hàng ngân hàng gồm 11 thuộc tính và 600 khách hàng

Cơ sở dữ liệu 2: Gồm 1000 giao dịch hàng hóa

4.2.1 Cài đặt thuật toán Apriori sử dụng Map/Reduce

 Đầu vào là file “AssociationsSP.txt” File này là có dạng là cơ sở dữ liệu giao dịch

 Đầu ra là các cặp mặt hàng kết hợp với nhau trong các giao dịch tùy theo sự lựa chọn số item xuất hiện cùng nhau

4.2.2 Cài đặt thuật toán Apriori tuần tự

Trang 22

4.3 Kết quả

4.3.1 Kết quả thực nghiệm dưới dạng bảng

Bảng 4.1 Bảng so sánh thời gian thực hiện hai thuật toán Apriori

Thời gian thực hiện thuật toán

Apriori Tuần tự Apriori với

Hình 4.6 Biểu đồ so sánh giữa hai thuật toán Apriori

Trang 23

Hình 4.7 Biểu đồ biến thiên theo thời gian thực hiện

của hai thuật toán

Một thuật toán khác PALM (Preprocessed Apriori For

Logical Matching Using Map Reduce Algorithm) cũng là

thuật toán cải tiến thuật toán Apriori nhưng áp dụng với

mô hình MapReduce cũng cho kết quả như sau:

Trang 24

Hình 4.8 Kết quả thực nghiệm cho thấy hiệu quả của PALM áp dụng MapReduce

4.4 Đánh giá thực nghiệm

Nhìn vào biểu đồ trên ta thấy:

 Với cùng một cơ sở dữ liệu, cùng số giao dịch thì thuật toán Apriori với MapReduce có thời gian thực hiện thuật toán là tốt nhất

 Khi số lượng giao dịch tăng lên thời gian thực hiện của nó cũng tốt hơn so với Apriori tuần tự

 Theo hình 4.8 ta cũng thấy hiệu quả của thuật toán PALM khác cũng là thuật toán mở rộng từ thuật toán Apriori tổng quát nhưng áp dụng với mô hình MapReduce bởi vì nó làm giảm đi số lượng các

Ngày đăng: 24/10/2014, 15:19

HÌNH ẢNH LIÊN QUAN

Hình 3.1 Mô hình MapReduce của Google. - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 3.1 Mô hình MapReduce của Google (Trang 13)
Hình 3.2 Sơ đồ hoạt động của quá trình Mapreduce - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 3.2 Sơ đồ hoạt động của quá trình Mapreduce (Trang 15)
Hình 4.1 Thuật toán Apriori tuần tự - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.1 Thuật toán Apriori tuần tự (Trang 18)
Hình 4.2 MBA Algorithm for Mapper - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.2 MBA Algorithm for Mapper (Trang 19)
Hình 4.3. MBA Algorithm for Reducer - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.3. MBA Algorithm for Reducer (Trang 20)
Hình 4.6 Biểu đồ so sánh giữa hai thuật toán Apriori - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.6 Biểu đồ so sánh giữa hai thuật toán Apriori (Trang 22)
Bảng 4.1 Bảng so sánh thời gian thực hiện hai thuật  toán Apriori - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Bảng 4.1 Bảng so sánh thời gian thực hiện hai thuật toán Apriori (Trang 22)
Hình 4.7 Biểu đồ biến thiên theo thời gian thực hiện - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.7 Biểu đồ biến thiên theo thời gian thực hiện (Trang 23)
Hình 4.8 Kết quả thực nghiệm cho thấy hiệu quả  của PALM áp dụng MapReduce. - KHAI PHÁ LUẬT KẾT HỢP VỚI DỮ LIỆU PHÂN TÁN DỰA TRÊN MÔ HÌNH MAPREDUCE
Hình 4.8 Kết quả thực nghiệm cho thấy hiệu quả của PALM áp dụng MapReduce (Trang 24)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w