Khai pha d liu data mining (1)

46 183 1
Khai pha d liu   data mining (1)

Đ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

Báo Cáo Môn Khai Phá Dữ Liệu Đề tài: Nghiên cứu lớp toán luật kết hợp lãnh vực khai phá liệu Nghiên cứu sở lý thuyết họ giải thuật Apriori Viết chương trình Demo GVHD: Trương Quang Hải Nhóm thực hiện: - Phạm Nhật Trí 51004200 - Nguyễn Bình Long 51004190 - Phạm Nguyễn Đức Dương 50900483 Mục lục Trang Giới thiệu Chương Tổng Quan Về Khai Phá Dữ Liệu 1.1 Khai phá liệu .4 1.1.1 Khái niệm 1.1.2 Các bước trình khai phá 1.1.3 Ứng dụng khai phá liệu 1.2 Tiền xử lý liệu .6 1.2.1 Dữ liệu .6 1.2.2 Làm liệu (data cleaning) .8 1.2.3 Tích hợp liệu (data integration) 1.2.4 Biến đổi liệu (data transformation) 10 1.2.5 Thu giảm liệu (data reduction) 11 1.3 Phương pháp Dự báo .11 1.3.1 Giới thiệu Dự báo 11 1.3.2 Tổng quan Hồi qui 12 1.3.3 Hồi qui tuyến tính 12 1.3.4 Hồi qui phi tuyến .13 1.4 Phương pháp Phân loai 14 1.4.1 Giới thiệu Phân loại 14 1.4.2 Phân loại liệu với định .14 1.4.3 Phân loại liệu với mạng Bayesian 17 1.4.4 Phân loại liệu với mạng Neural 17 1.5 Phương pháp Gom cụm 18 1.5.1 Giới thiệu Gom cụm 18 1.5.2 Phương pháp phân cấp 19 1.5.3 Phương pháp phân hoạch .20 1.6 Phương pháp khai phá luật kết hợp .21 1.6.1 Giới thiệu luật kết hợp .21 1.6.2 Phát luật kết hợp 22 1.6.3 Các chiến lược sinh tập thường xuyên 25 1.6.4 Giải thuật FP-Growth 25 Chương Ứng dụng khai phá liệu 27 2.1 Hỗ trợ định nhập kho siêu thị 27 2.1.1 Giới thiệu toán 27 2.1.2 Đánh giá thầy sau giới thiệu toán .28 2.2.Tiếp thị chéo 28 2.2.1.Giới thiệu toán 28 Chương Giải thuật Apriori 29 3.1 Giải thuật Apriori 29 3.2 Đánh giá giải thuật Apriori 33 3.3 Các cải tiến giải thuật Apriori 34 Chương Demo giải thuật Apriori 34 4.1 Hiện thực giải thuật Apriori 34 4.2 Hướng dẫn sữ dụng demo 38 4.2.1.Cài đặt môi trường 38 4.2.2 Ứng dụng 39 Chương Đánh giá tổng kết 44 5.1 Ưu điểm 44 5.2 Nhược điểm 44 Tài liệu tham khảo 45 Giới thiệu Bài báo cáo soạn để tổng hợp lại vấn đề mà nhóm chúng em tìm hiểu trình báo cáo hàng tuần Về phần cấu trúc nhóm chúng em tái cấu trúc lại nội dung báo cáo, chúng em không soạn dựa theo nội dung báo cáo hàng tuần mà trình bày dựa theo nội dung dạng khối thống để vừa giúp chúng em ôn lại kiến thức cách có hệ thống, bên cạnh giúp q trình theo dõi nội dung dễ dàng Báo cáo giới thiệu khâu tiền xử lý để làm liệu trước tiến hành khai phá, sau bốn giải thuật học chương trình giới thiệu, tiếp đến giới thiệu số ứng dụng mà khai phá liệu áp dụng thực tế, tiếp đến giới thiệu giải thuật Apriori cải tiến nó, cuối giới thiệu Demo giải thuật Apriori Trong trình soạn giới hạn thời gian lực nên dù cố gắng khơng tránh khỏi sai sót, mong thầy thơng cảm Chương Tổng Quan Về Khai Phá Dữ Liệu Trong chương này, trình bày khái niệm khai phá liệu, bước trình khám phá ứng dụng Tiếp theo thao tác với liệu - Tiền xử lý liệu Sau phương pháp khai phá liệu thuật giải chúng 1.1 Khai phá liệu 1.1.1 Khái niệm Khai phá liệu (data mining) hay Khám phá tri thức từ liệu (knowledge discovery from data) việc trích rút mẫu tri thức quan trọng (không tầm thường, ẩn, chưa biết đến hữu ích) thừ lượng liệu (rất) lớn Các tên gọi khác: - Khám phá tri thức sở liệu (Knowledge discovery in databases KDD) - Trích rút tri thức (knowledge extraction) - Phân tích mẫu/dữ liệu (data/pattern analysis) -… 1.1.2 Các bước trình khai phá Quá trình thực qua bước: 1- Tìm hiểu lĩnh vực toán (ứng dụng): Các mục đích tốn, tri thức cụ thể lĩnh vực 2- Tạo nên (thu thập) tập liệu phù hợp 3- Làm tiền xử lý liệu 4- Giảm kích thức liệu, chuyển đổi liệu: Xác định thuộc tính quan trọng, giảm số chiều (số thuộc tính), biểu diễn bất biến 5- Lựa chọn chức khai phá liệu: Phân loại, gom cụm, dự báo, sinh luật kết hợp 6- Lựa chọn/ Phát triển (các) giải thuật khai phá liệu phù hợp 7- Tiến hành khai phá liệu 8- Đánh giá mẫu thu biểu diễn tri thức: Hiển thị hóa, chuyển đổi, bỏ mẫu dư thừa,… 9- Sữ dụng tri thức khai phá Quá trình khám phá tri thức theo cách nhìn giới nghiên cứu hệ thống liệu kho liệu trình khám phá tri thức Hình 1.1.2_Quá trình khai phá tri thức Chuẩn bị liệu (data preparation), bao gồm trình làm liệu (data cleaning), tích hợp liệu (data integration), chọn liệu (data selection), biến đổi liệu (data transformation) Khai thác liệu (data mining): xác định nhiệm vụ khai thác liệu lựa chọn kỹ thuật khai thác liệu Kết cho ta nguồn tri thức thô Đánh giá (evaluation): dựa số tiêu chí tiến hành kiểm tra lọc nguồn tri thức thu Triển khai (deployment) Quá trình khai thác tri thức khơng q trình từ bước đến bước cuối mà q trình lặp có quay trở lại bước qua 1.1.3 Ứng dụng khai phá liệu Kinh tế - ứng dụng kinh doanh, tài chính, tiếp thị bán hàng, bảo hiểm, thương mại, ngân hàng, … Đưa báo cáo giàu thơng tin; phân tích rủi ro trước đưa chiến lược kinh doanh, sản xuất; phân loại khách hàng từ phân định thị trường, thị phần; … Khoa học: Thiên văn học – dự đoán đường thiên thể, hành tinh, …; Công nghệ sinh học – tìm gen mới, giống mới, …; … Web: cơng cụ tìm kiếm 1.2 Tiền xử lý liệu Quá trình tiền xử lý liệu, phải nắm dạng liệu, thuộc tính, mơ tả liệu thao tác Sau tiếp hành giai đoạn chính: làm sạch, tích hợp, biến đổi, thu giảm liệu 1.2.1 Dữ liệu a) Tập liệu - Một tập liệu (dataset) tập hợp đối tượng (object) thuộc tính chúng - Mỗi thuộc tính (attribute) mô tả đặc điểm đối tượng ‰ Ví dụ: Các thuộc tính Refund, Marital Status , Taxable Income, Cheat Hình 1.2.1_Ví dụ dataset b) Các kiểu tập liệu - Bản ghi (record): Các ghi cở sở liệu quan hệ Ma trận liệu Biểu diễn văn Hay liệu giao dịch.„ - Đồ thị (graph): World wide web Mạng thông tin, mạng xã hội - Dữ liệu có trật tự: Dữ liệu khơng gian (ví dụ: đồ) Dữ liệu thời gian (ví dụ: time-series data) Dữ liệu chuỗi (ví dụ: chuỗi giao dịch) c) Các kiểu giá trị thuộc tính: - Kiểu định danh/chuỗi (norminal): khơng có thứ tự Ví dụ: Các thuộc tính : Name, Profession, … - Kiểu nhị phân (binary): trường hợp đăc biệt kiểu định danh Tập giá trị gồm có giá trị (Y/N, 0/1, T/F) - Kiểu có thứ tự (ordinal): Integer, Real, … -lấy giá trị từ tập có thứ tự giá trị Ví dụ: Các thuộc tính lấy giá trị số : Age, Height ,… Hay lấy tập xác định, thuộc tính Income lấy giá trị từ tập {low, medium, high} Kiểu thuộc tính rời rạc (discrete-valued attributes): tập giá trị tập hữu hạn Bao gồm thuộc tính có kiểu giá trị số ngun, nhị phân Kiểu thuộc tính liên tục (continuous-valued attributes):Các giá trị làsố thực d) Các đặc tính mơ tả liệu: - Giúp hiểu rõ liệu có được: chiều hướng chính/trung tâm, biến thiên, phân bố - Sự phân bố liệu (data dispersion): + Giá trị cực tiểu/cực đại (min/max) + Giá trị xuất nhiều (mode) + Giá trị trung bình (mean) + Giá trị trung vị (median) + Sự biến thiên (variance) độ lệch chuẩn (standard deviation) + Các ngoại lai (outliers) 1.2.2 Làm liệu (data cleaning) Đối với liệu thu thập được, cần xác định vấn đề ảnh hưởng cho khơng Bởi vì, liệu khơng (có chứa lỗi, nhiễu, khơng đầy đủ, có mâu thuẫn) tri thức khám phá bị ảnh hưởng không đáng tin cậy, dẫn đến định khơng xác Do đó, cần gán giá trị thuộc tính thiếu; sửa chữa liệu nhiễu/lỗi; xác định loại bỏ ngoại lai (outliers); giải mâu thuẫn liệu a) Các vấn đề liệu Trên thực liệu thu chứa nhiễu, lỗi, khơng hồn chỉnh, có mâu thuẫn - Khơng hồn chỉnh (incomplete): Thiếu giá trị thuộc tính thiếu số thuộc tính Ví dụ: salary = - Nhiễu/lỗi (noise/error): Chứa đựng lỗi mang giá trị bất thường Ví dụ: salary = “-525” , giá trị thuộc tính khơng thể số âm - Mâu thuẫn (inconsistent): Chứa đựng mâu thuẫn (khơng thống nhất) Ví dụ: salary = “abc” , không phù hợp với kiểu liệu số thuộc tính salary b) Nguồn gốc/lý liệu khơng - Khơng hồn chỉnh (incomplete): Do giá trị thuộc tính khơng có (not available) thời điểm thu thập Hoặc vấn gây phần cứng, phần mềm, người thu thập liệu - Nhiễu/lỗi (noise/error): Do việc thu thập liệu, hoăc việc nhập liệu, việc truyền liệu - Mâu thuẫn (inconsistent): Do liệu thu thập có nguồn gốc khác Hoặc vi phạm ràng buộc (điều kiện) thuộc tính c) Giải pháp thiếu giá trị thuộc tính - Bỏ qua ghi có thuộc tính thiếu giá trị Thường áp dụng toán phân lớp Hoặc tỷ lệ % giá trị thiếu thuộc tính lớn - Một số người đảm nhiệm việc kiểm tra gán giá trị thuộc tính thiếu, đòi hỏi chi phí cao tẻ nhạt - Gán giá trị tự động máy tính: + Gán giá trị mặc định + Gán giá trị trung bình thuộc tính + Gán giá trị xảy – dựa theo phương pháp xác suất d) Giải pháp liệu chứa nhiễu/lỗi - Phân khoảng (binning): Sắp xếp liệu phân chia thành khoảng (bins) có tần số xuất giá trị Sau đó, khoảng liệu biểu diễn trung bình, trung vị, giới hạn … giá trị khoảng - Hồi quy (regression): Gắn liệu với hàm hồi quy - Phân cụm (clustering): Phát loại bỏ ngoại lai (sau xác định cụm) - Kết hợp máy tính kiểm tra người: Máy tính tự động phát giá trị nghi ngờ Các giá trị người kiểm tra lại 1.2.3 Tích hợp liệu (data integration) Tích hợp liệu trình trộn liệu từ nguồn khác vào kho liệu có sẵn cho q trình khai phá liệu Khi tích hợp cần xác định thực thể từ nhiều nguồn liệu để tránh dư thừa liệu Ví dụ: Bill Clinton ≡ B.Clinton Việc dư thừa liệu thường xuyên xảy ra, tích hợp nhiều nguồn Bởi thuộc tính (hay đối tượng) mang tên khác nguồn (cơ sở liệu) khác Hay liệu suy thuộc tính bảng suy từ thuộc tính bảng khác Hay trùng lắp liệu Các thuộc tính dư thừa bị phát phân tích tương quan chúng Ví dụ: Loại bỏ dựa độ hỗ trợ minsup = Giải thuật Apriori: 1- Sinh tất tập mục thường xuyên mức 1(frequent 1-itemsets) 2- Gán k =1 3- Lặp lại, khơng có thêm tập mục thường xuyên 3.1- Từ tập mục thường xuyên mức k, sinh tập mục mức (k+1) cần xét 3.2- Loại bỏ tập mục mức k+1 chứa tập tập mục không thường xuyên mức k 3.3- Tính độ hỗ trợ tập mục mức k+1, cách duyệt qua tất giao dịch 3.4- Loại bỏ tập mục không thường xuyên mức k+1 3.5- Thu tập mục thường xuyên mức k+1 31 Ví dụ: Với minsup = [1] 4- Với tập mục thường (I) thu được, sinh tất tập (B) không rỗng 5- Với tập B, sinh luật kết hợp: B (I-B) 6- Với luật kết hợp, duyệt qua tất giao dịch Chọn luật có độ tin cậy(c) ≥ minconf Ví dụ: với I= {A1,A2,A5} Các tập I: {A1}, {A2}, {A5}, {A1,A2},{A1,A5},{A2,A5} Có luật kết hợp sau: {A1} => {A2,A5}; {A2} =>{A1,A5}; {A5} =>{A1,A2}; {A1,A2} =>{A5}; {A1,A5} =>{A2}; {A2,A5} => {A1} Với frequent itemsets I ={B,C,E}, min_conf =80% Ta có luật kết hợp là:{B,C} =>{E}; {C,E} =>{B} 32 3.2 Đánh giá giải thuật Apriori Các yếu tố ảnh hưởng: - Lựa chọn giá trị ngưỡng minsup: Giá trị minsup thấp sinh nhiều tập mục thường xuyên Điều làm tăng số lượng tập mục phải xét - Số lượng mục sở liệu (các giao dịch): Cần thêm nhớ để lưu giá trị độ hỗ trợ với mục Nếu số lượng mục(tập mục mức 1) thường xuyên tăng lên chi phí chi phí I/O (duyệt giao dịch) tăng - Kích thước sở liệu (các giao dịch): Giải thuật phải duyệt sở liệu nhiều lần, chi phí tính tốn Apriori tăng lên số lượng giao dịch tăng lên - Kích thước trung bình giao dịch: Khi kích thước (số lượng mục) trung bình giao dịch tăng lên, độ dài tối đa tập mục thường xuyên tăng So sánh giải thuật Apriori giải thuật FP-Growth Biểu đồ: Độ hỗ trợ - Thời gian chạy 33 Biểu đồ: Số lượng giao dịch - Thời gian chạy 3.3 Các cải tiến giải thuật Apriori Kỹ thuật dựa bảng băm (hash-based technique): Một k-itemset ứng với hashing bucket count nhỏ minimum support threshold không frequent itemset Giảm giao dịch (transaction reduction): Một giao dịch không chứa frequent k-itemset khơng cần kiểm tra lần sau (cho k+1-itemset) Phân hoạch (partitioning): Một itemset phải frequent phân hoạch frequent tồn tập liệu Lấy mẫu (sampling): Khai phá tập liệu cho trước với trị support threshold nhỏ cần phương pháp để xác định tính tồn diện (completeness) Đếm itemset động (dynamic itemset couting): Chỉ thêm itemset dự tuyển tất tập chúng dự đoán frequent Chương Demo giải thuật Apriori 4.1 Hiện thực giải thuật Apriori Hiện thực giải thuật Apriori cải tiến dựa cấu trúc liệu bảng băm giảm giao dịch Tất liệu truy xuất trực tiếp từ database 34 a) Ngôn ngữ công cụ sử dụng Database sử dụng Mysql Ngôn ngữ sử dụng : Java Kết nối database: sử dụng thư viện mysql-connector-java-5.1.14-bin.jar Giao diện: sử dụng thư viện Swing b) Giải Thích Code Chương trình viết với class chính, sau mơ tả cho class: 1-Class “node”: chứa thông tin key, count, next dùng để lưu thông tin item tập item 2-Class “pushData”: class có hàm: getInput với tham số đầu vào username, password database, file dùng để import vào database 3-Class “getHash”: Đây class chính, chứa hàm con, thực thi giải thuật apriori cải tiến - Function getNameData: + Input: Namedb: tên database cần lấy danh sách database User password database + Ouput: Trả danh sách database có sever - Function getInput: + Input: Data: tên database cần lấy data Username password database + Output: Trả mảng node item count item sau quét toàn database 35 - Function calculateInit: + Input: C: mảng node key count key Minsub: độ hỗ trợ mà người dùng nhập + Output: Trả danh sách node có độ hỗ trợ lớn minSub - Function genrateTableHash: + Input: L: danh sách node mà node với key item Count: thứ tự tập của L k+1 sinh từ tập Ck Vì key item => count = 2; + Output: Trả bảng băm với key tập thường xuyên item ngăn cách dấu “,”, vd ( 123,987) Và node chứa key, count key đó, khởi tạo - Function GenrateTableHash_2 + Input: L: danh sách node mà node với key gồm nhiều item Count: thứ tự tập của L k+1 sinh từ tập Ck Vì key gồm nhiều item => count > 2; + Output: Trả bảng băm với key tập thường xuyên item ngăn cách dấu “,”, vd ( 123,987) Và node chứa key, count key đó, khởi tạo - Function CompareData: + Input: hasTable: bảng băm với key thường xuyên, value node Count: thứ tự tập L 36 + Output: Trả danh sách node từ bảng băm, sau quét qua database - Function GenrateListPartitions: + Input: L: danh sách node, với node tập thường xuyên + Output: Trả danh sách danh sách, chứa luật sinh ra, chưa so sánh với độ hỗ trợ - Function calculateRule: + Input: L: danh sách danh sách, chứa luật chưa so sánh với độ hỗ trợ MinCon: độ hỗ trợ tối thiểu luật + Output: Trả danh sách sanh sách, với danh sách luật thỏa mãn độ hỗ trợ tối thiểu 4-Class “AppAprioriImprove”: class chứa giao diện đồ họa, để thao tác với người dùng, gồm kiện: - jButton4ActionPerformed: + Input: username password database người dùng + Output: Nếu kết nối thành công, danh sách database có server combobox name Data Kết nối lỗi, thông báo, yêu cầu người dùng nhập lại - jButton2ActionPerformed: + Input: 37 Username password database getFile: tên file cần import vào database NameData: tên database cần import vào + Output: Import liệu vào database thành công , xuất thông báo import to database successful - jButton5ActionPerformed : tương tự kiện jButton4ActionPerformed - jButton6ActionPerformed: + Input: Username password người dùng nameData: cần khai phá Min Support Min Confidence người dùng nhập vào + Output: Xuất tập thường xuyên thỏa độ MinSup, luật thỏa MinCon 4.2 Hướng dẫn sữ dụng demo 4.2.1.Cài đặt mơi trường Cài đặt jdk java, download từ : http://www.oracle.com/technetwork/java/javase/downloads/index.html Cài đặt MySQL, giới thiệu dung Wamp Server, download từ : http://www.wampserver.com/en/ Sử dụng thư viện kết nối database MySQL: mysql-connector-java-5.1.14bin.jar Sử dụng thư viện tổ hợp tập từ danh sách : combinatoricslib2.0.jar 38 4.2.2 Ứng dụng a) Import Data từ File liệu Khởi chạy file AppAprioriImprove.jar, thị giao diện: Hình 4.2.2_1 Chọn Tab “import Data” , nhập user name password Database Nếu User name password sai, báo lỗi connect to database, băt người dùng nhập lại Hình 4.2.2_2 39 Nhập Username Password, danh sách database Hình 4.2.2_3 Chọn File, sau nhấn Import, import file vào database, với bảng “Transaction”, Có File Log Hình 4.2.2_4 40 Export log file “E:\logPushToData.txt” Đây đường dẫn cố định, máy ổ đĩa E:\, bị lỗi, xin vui long restart lại App b) Chạy Giải Thuật Apriori cải tiến, với Database vừa import Chọn Tab Apriori Improve Nhập User name password tương tự import data Chọn Data để chạy Giải thuật, lưu ý Data phải chứa bảng “Transaction” Hình 4.2.2_5 Nhập Min Support kiểu số nguyên lớn 0, Min Confidence kiểu số thực với < MinCon < Nếu nhập sai, chương trình báo lỗi, bắt bạn phải nhập lại 41 Hình 4.2.2_6 Hình 4.2.2_7 42 Sau nhập input, chọn Start Chương trình chạy xuất kết Hình 4.2.2_8 Nếu muốn Export kết quả, chọn “Export Result”, chương trình mặt định lưu file kết vào “E:\Result_GenRule.txt” 43 Chương Đánh giá tổng kết 5.1 Ưu điểm Hiểu thực thành công giải thuật Apriori Ứng dụng thực phần cải tiến giải thuật cấu trúc liệu bảng băm thực giảm số giao dịch, làm giảm thời gian chạy giải thuật Đồng thời để tăng tốc độ chạy lưu toàn liệu vào database Mọi truy xuất điều thực trực tiếp từ database Ứng dụng có giao diện trực quan, dễ sử dụng 5.2 Nhược điểm Chưa tìm cách kiểm tra tính đắn luật kết hợp, kết ứng dụng Chưa thực việc loại bỏ luật kết hợp khơng có tính khả dụng thực tế Ứng dụng chưa thực trạng thái xử lý liệu dạng trạng thái trực quan cho người sử dụng 44 Tài liệu tham khảo - Tập slide giảng môn Data Mining , khoa Khoa học & Máy tính, trường Đh Bách Khoa TP Hồ Chí Minh - Tập slide giảng môn Khai phá Dữ liệu, Nguyễn Nhật Quang, trường Đh Bách Khoa Hà Nội - Ebook: Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, Third Edition, Morgan Kaufmann Publishers - [1]: http://bis.net.vn/forums/t/389.aspx - http://en.wikipedia.org/wiki/Apriori_algorithm 45

Ngày đăng: 22/12/2019, 13:12

Tài liệu cùng người dùng

Tài liệu liên quan