Nghiên cứu một số thuật toán phân cụm, phân lớp dữ liệu và ứng dụng

76 235 0
Nghiên cứu một số thuật toán phân cụm, phân lớp dữ liệu và ứng dụng

Đ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

LỜI CẢM ƠN Em xin chân thành cảm ơn Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên tạo điều kiện cho em thực luận văn Em xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Nguyễn Văn Núi, Bộ môn công nghệ phần mềm - Trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên trực tiếp hướng dẫn em trình thực luận văn Em xin gửi lời cảm ơn tới thầy, có ý kiến đóng góp bổ ích tạo điều kiện tốt cho em suốt thời gian thực luận văn Xin cảm ơn bạn học đồng khóa thường xun động viên, giúp đỡ tơi trình học tập Cuối cùng, em xin gửi lời cảm ơn đến gia đình đồng nghiệp ủng hộ động viên dành cho em suốt trình học tập thực luận văn Thái Nguyên, tháng 05 năm 2019 Học viên Nguyễn Minh Tâm LỜI CAM ĐOAN Em xin cam đoan nội dung đồ án tốt nghiệp với tên đề tài “ Nghiên cứu số thuật toán phân cụm, phân lớp liệu ứng dụng” không chép nội dung từ luận văn khác, hay sản phẩm tương tự mà em làm Sản phẩm luận văn thân em tìm hiểu xây dựng nên Nếu có sai em xin chịu hình thức kỷ luật Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên Thái Nguyên, tháng 05 năm 2019 Học viên Nguyễn Minh Tâm MỤC LỤC LỜI CẢM ƠN .1 LỜI CAM ĐOAN .2 MỞ ĐẦU CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung 1.2 Các bước khai phá liệu 10 1.3 Các kỹ thuật áp dụng khai phá liệu 12 1.4 Ứng dụng khai phá liệu 14 1.5 Những thách thức khai phá liệu 15 CHƯƠNG PHÂN CỤM DỮ LIỆU VÀ MỘT SỐ THUẬT TOÁN CƠ BẢN 17 2.1 Định nghĩa phân cụm liệu 17 2.2 Mục tiêu phân cụm liệu 18 2.3 Bài toán phân cụm liệu 20 2.4 Một số kiểu liệu 20 2.5 Một số kỹ thuật phân cụm liệu 23 2.5.1 Phương pháp phân cụm liệu dựa phân cụm phân cấp 23 2.5.2 Phương pháp phân cụm liệu dựa mật độ 25 2.5.3 Phương pháp phân cụm phân hoạch 29 2.6 Kết luận 33 CHƯƠNG PHÂN LỚP DỮ LIỆU VÀ MỘT SỐ THUẬT TOÁN CƠ BẢN 34 3.1 Định nghĩa phân lớp liệu 34 3.2 Các vấn đề quan tâm phân lớp liệu 34 3.2.1 Quá trình phân lớp liệu: 34 3.2.2 So sánh phương pháp phân lớp 36 3.3 Phân lớp định 36 3.3.1 Khái niệm định 36 3.3.2 Ưu, nhược điểm định 39 3.3.3 Một số thuật toán định 40 3.4 Phân lớp Bayesian 48 3.5 Phân lớp dựa kết hợp 51 3.5.1 Các khái niệm quan trọng luật kết hợp 51 3.5.2 Một số thuật toán luật kết hợp 52 3.6 Độ xác classifier 57 3.7 Kết luận 59 CHƯƠNG MỘT SỐ KẾT QUẢ THỬ NGHIỆM .60 4.1 Giới thiệu công cụ phân cụm, phân lớp liệu Weka 60 4.2 Ứng dụng phân cụm liệu để phân nhóm khách hàng 62 4.3 Ứng dụng phân lớp liệu để phân lớp 68 4.3.1 Phân lớp liệu với thuật toán Apriori 68 4.3.2 Phân lớp liệu với thuật toán Naive Bayes 71 KẾT LUẬN 75 TÀI LIỆU THAM KHẢO 76 Tiếng Việt: 76 Tiếng Anh: 76 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Các bước khai phá liệu 10 Hình 2.1 Mơ vấn đề phân cụm liệu 17 Hinh 2.2 Cụm liệu khám phá giải thuật DBSCAN 26 Hinh 2.3 Thứ tự phân cụm đối tượng theo OPTICS 29 Hinh Phân cụm dựa phương pháp k-means 31 Hình Giao diện phần mềm 61 Hình 4.2 Thơng tin liệu file bank-k.arff hiển thị Weka 63 Hình 4.3 Lưu đồ thuật toán K-Means 64 Hình 4.4 Bảng tham số sử dụng cho thuật tốn K-Means: Hình (a) K=3; Hình (b): K=5 65 Hình 4.5 Kết phân cụm với thuật toán K-Means (K=3) 66 Hình 4.6 Kết phân cụm với thuật tốn K-Means (K=5) 67 Hình 4.7 Giao diện Weka chọn thuật toán Apriori 68 Hình 4.8 Giao diện Weka thiết lập tham số cho thuật tốn Apriori 69 Hình 4.9 Kết sinh luật thuật toán Apriori 70 Hình 4.10 Giao diện Weka lựa chọn thuật toán Naive Bayes 71 Hình 4.11 Kết sinh luật thuật tốn Naive Bayes 72 Hình 4.12 Giao diện Weka lựa chọn thuật toán C4.5 73 Hình 4.13 Kết sinh luật thuật tốn C4.5 74 DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt Viết đầy đủ PLDL Phân lớp liệu CSDL Cơ sở liệu KPDL Khai phá liệu AGNES Agglomerative Nesting BIRCH Blanced Iterative Reducing and Clustering using Hỉeachies CF Clustering Feature Ghi Thuật toán tích đống lồng Đặc trưng phân cụm Density Based Spatial Clustering of Application with Noise Ordering Point to Identify the Clustering Structure DBSCAN OPTICS PAM Partitioning Around Medoids 10 ID3 Interative Decision 11 NBC Native Bayes Classification Phân lớp liệu Naive Bayes 12 FP Frequent Pattern Mẫu thường xuyên MỞ ĐẦU Trong thời gian gần đây, phát triển mạnh mẽ công nghệ thông tin, thương mại điện tử vào nhiều lĩnh vực đời sống, kinh tế xã hội sinh lượng liệu lưu trữ khổng lồ Sự bùng nổ dẫn tới nhu cầu cấp thiết cần có kỹ thuật cơng cụ để tự động chuyển đổi liệu thành tri thức có ích mà phương pháp quản trị khai thác sở liệu truyền thống khơng đáp ứng Trong khuynh hướng kỹ thuật có kỹ thuật phát tri thức khai phá liệu (KDD – Knowledge Discovery and Data Mining) Nhưng để khai phá liệu cách hiệu xác, ta cần có mơ hình tốn học, giải thuật đáp ứng điều Vì vậy, luận văn có trình bày số vấn đề phân cụm, phân lớp liệu kỹ thuật để khai phá liệu lại sử dụng rộng rãi đem lại hiệu cao Bố cục lu vă Nội dung luận văn chia thành chương sau: Chương Tổng quan: Chương giới thiệu cách tổng quát trình phát tri thức nói chung khai phá liệu nói riêng Đặc biệt, chương trình liệt kê số điểm ứng dụng thách thức khai phá liệu phát tri thức Chương Phân cụm liệu số thuật toán bản: Chương trình bày nội dung liên quan đến phân cụm liệu Một số thuật tốn phân cụm liệu trình bày chi tiết chương Chương Phân lớp liệu số thuật toán bản: Chương trình bày nội dung liên quan đến phân lớp liệu ứng dụng Một số thuật toán phân lớp liệu bao gồm: ID3, C.4.5, Naive Bayes, Apriori, … trình bày chi tiết chương Chương Một số kết thử nghiệm: Chương trình bày phân tích số kết thử nghiệm thuật toán phân cụm, phân lớp liệu Kết phân tích chủ yếu triển khai thực dựa phần mềm Weka (Waikato Environment for Knowledge Analysis) - phần mềm học máy trường Đại học Waikato, New Zealand phát triển Java Weka phần mềm tự phát hành theo Giấy phép Công cộng GNU, sử dụng rộng rãi cộng đồng người làm lĩnh vực khai phá liệu phát tri thức CHƯƠNG TỔNG QUAN 1.1 Gi i thi u chung Sự phát triển khoa học công nghệ việc ứng dụng công nghệ thông tin hầu hết lĩnh vực nhiều năm qua đồng nghĩa với lượng liệu thu thập lưu trữ ngày lớn Các hệ quản trị sở liệu truyền thống khai thác lượng thông tin nhỏ khơng đáp ứng đầy đủ u cầu, thách thức Do phương pháp quản trị khai thác sở liệu truyền thống ngày không đáp ứng thực tế làm phát triển khuynh hướng kỹ thuật kỹ thuật phát tri thức khai phá liệu Tôi xin giới thiệu cách tổng quan phát tri thức khai phá liệu số kỹ thuật để khai phá liệu để phát tri thức số ứng dụng thực tế nhằm hỗ trợ cho tiến trình định Khai phá liệu (Data Mining) hay hiểu phát tri thức (Knowledge Discovery) có nhiều khái niệm khác q trình tự động trích xuất thơng tin có giá trị (thơng tin dự đốn Predictive Information) ẩn chứa lượng liệu lớn thực tế Nó bao hàm loạt kỹ thuật nhằm phát thơng tin có giá trị tiềm ẩn tập liệu lớn (các kho liệu) Về chất, liên quan đến việc phân tích liệu sử dụng kỹ thuật để tìm mẫu hình có tính quy (regularities) tập liệu Khai phá liệu tiến trình sử dụng cơng cụ phân tích liệu khác để khám phá mẫu nhiều góc độ khác nhằm phát mối quan hệ kiện, đối tượng bên sở liệu, kết việc khai phá xác định mẫu hay mơ hình tồn bên trong, chúng nằm ẩn khuất sở liệu Để từ rút trích mẫu, mơ hình hay 10 thông tin tri thức từ sở liệu Để hình dung rõ Data Mining hiểu đơn giản phần q trình trích xuất liệu có giá trị tốt, loại bỏ liệu giá trị xấu nhiều thông tin Internet nguồn liệu có 1.2 C c bư c khai phá li u Qúa trình phát tri thức gồm giai đoạn [1] thể hình sau: Hình 1.1 C c bư c khai phá li u Đầu vào liệu thô lấy từ internet đầu thông tin có giá trị (1) Gom liệu: Tập hợp liệu bước trình khai phá liệu Đây bước khai thác sở liệu, kho liệu chí liệu từ nguồn ứng dụng Web 62 4.2 Ứng dụng phân cụm li u để phân nhóm khách hàng Trong khn khổ luận văn, liệu lấy từ địa website: https://github.com/bluenex/WekaLearningDataset Dữ liệu dùng để phân cụm ví dụ liệu dùng để phân loại khách hàng ngân hàng (file liệu bank-k.aff), gồm có 11 thuộc tính 600 khách hàng cấu trúc phân bố liệu bank-k.arff Bảng 4.1 Bảng thông tin cấu trúc file li u bank-k.arff STT Thu c Kiểu tính li u age sex Giá trị Mô tả Nominal 0_34,35_51,52_max Tuổi khách hàng Nominal FEMALE,MALE Giới tính INER_CITY,TOWN, region Nominal income Nominal married children Nominal NO, YES Tình trạng hôn nhân Nominal 0,1,2,3 Số car Nominal NO, YES Có xe khơng? save_act Nominal NO, YES Nominal NO, YES mortgage Nominal NO, YES current_a ct RURAL, SUBURBAN 0_24386,24387_43758, 43759_max Khu vực cư trú Thu nhập KH có tài khoản tiết kiệm khơng (saving account) Hiện có tài khoản khơng? Có vay chấp khơng? KH có kế hoạch trả nợ pep Nominal NO, YES khơng (Personal Equity Plan) 63 Hình 4.2 Thông tin li u file bank-k.arff hiển thị Weka Phần triển khai kỹ thuật phân cụm dựa thuật toán Kmeans phần mềm Weka K-means thuật toán sử dụng phổ biến kỹ thuật phân cụm, thuật toán với ý tưởng tìm cách nhóm đối tượng cho vào K cụm (K số cụm xác định trước, K nguyên dương), phương thức phân cụm nhóm liệu thực dựa khoảng cách Euclidean nhỏ đối tượng đến phần tử trung tâm cụm Thuật toán K-means bao gồm bước sau:  B1: Chọn K tâm (centroid) cho K cụm (cluster), việc chọn giá trị K ngẫu nhiên theo kinh nghiệm  B2: Tính khoảng cách đối tượng đến K tâm (dùng khoảng cách Euclidean)  B3: Nhóm đối tượng vào nhóm gần  B4: Cập nhật lại tâm cho nhóm 64  B5: Lặp lại bước khơng thay đổi trọng tâm cụm Bắt đầu Số cụm K sai Trọng tâm Khơng có Tính khoảng cách đối Kết thúc đối tượng tượng đến tâm Nhóm đối tượng vào cụm Hình 4.3 Lưu đồ thu t toán K-Means Ở em dùng thuật toán K-means để phân nhóm khách hàng vào K nhóm (trong lần mô thử K= K=5) dựa vào tương tự (similar) 11 thuộc tính bảng liệu, cách tính khoảng cách dùng khoảng cách Euclidean 65 Hình 4.4 Bảng tham số sử dụng cho thu t tốn K-Means: Hình (a) K=3; Hình (b): K=5 Kết thu phân cụm thuật tốn K-means sau: V i K=3 66 Hình 4.5 Kết phân cụm v i thu t toán K-Means (K=3) Như hiển thị Hình 4.5, thuật tốn phân liệu khách thành cụm: cụm chứa 287 ghi, tương đương 47,83%; cụm chứa 177 ghi, tương đương 29,50%; cụm chứa 136 ghi, tương đương 22,67% V i K=5 67 Hình 4.6 Kết phân cụm v i thu t toán K-Means (K=5) Giống thuật toán khác, K-means có hạn chế định: - Số nhóm K phải xác định trước - Việc khởi tạo phần tử trung tâm nhóm ban đầu ảnh hưởng đến phân chia đối tượng vào nhóm trường hợp liệu không lớn - Điều kiện khởi tạo có ảnh hưởng lớn đến kết Điều kiện khởi tạo khác cho kết phân vùng nhóm khác - Khơng xác định rõ ràng vùng nhóm, đối tượng, đưa vào nhóm nhóm khác dung lượng liệu thay đổi - Không xác định mức độ ảnh hưởng thuộc tính đến trình tạo nhóm 68 4.3 Ứng dụng phân l p li u để phân l p Trong lĩnh vực khai phá liệu, mục đích luật kết hợp tìm mối kết hợp hay tương quan đối tượng khối lượng lớn liệu Ứng dụng luật kết hợp phổ biến nhiều lĩnh vực kinh doanh Market Basket Analysis 4.3.1 Phân lớp liệu với thuật toán Apriori Thuật toán Apriori dùng để phát luật kết hợp dạng khẳng định (Positive Rule X=Y) nhị phân (Binary Association) phát luật kết hợp dạng phủ định (Negative Association Rule) chẳng hạn kết hợp dạng “Khách hàng mua mặt hàng X thường không mua mặt hàng Y” Vẫn sử dụng liệu bank-k.aff sau em sử dụng thuật toán Apriori để phát luật kết hợp phần mềm Weka Chọn tab Association chọn thuật tốn Apriori Hình 4.7 Giao di n Weka chọn thu t toán Apriori Thiết lập tham số (numRules, support, confidence,…) 69 Hình 4.8 Giao di n Weka thiết l p tham số cho thu t toán Apriori Giải thích tham số thuật tốn Apriori LowerBoundMinSupport: Cận minimum support MetricType: Có loại metricType Confidence, Lift, Leverage, Conviction Minium metric score: Chỉ quan tâm đến luật có metric score cao giá trị NumRuler: Số luật muốn tìm (Các luật xếp theo thứ tự giảm dần metric score) 70 Hình 4.9 Kết sinh lu t thu t tốn Apriori Như thể Hình 4.9, 10 luật tốt sinh thuật tốn Apriori liệu Thơng qua thuật tốn, ta dự đốn biết độ tin cậy khách hàng tham gia vào hệ thống ngân hàng Ví dụ: Luật số cho biết thu nhập (income) lớn 43759 khách hàng có tài khoản tiết kiệm (save_act = YES) với độ tin cậy Luật số cho biết tuổi (age) lớn 52 thu nhập lớn 43759 khách hàng có tài khoản tiết kiệm với độ tin cậy Hạn chế thuật toán Apriori - Số lượng lớn tập phổ biến tạo làm gia tăng phức tạp không gian - Để xác định độ Support tập ứng viên, thuật tốn ln ln phải quét lại toàn sở liệu Do tiêu tốn nhiều thời gian số k-iteams tăng 71 - Khi số lần duyệt sở liệu nhiều làm gia tăng phức tạp thời gian sở liệu gia tăng Do hạn chế đó, điều cần thiết phải đưa số thay đổi thuật toán Apriori 4.3.2 Phân lớp liệu với thuật toán Naive Bayes Tiếp tục sử dụng liệu bank-k.aff, sau em sử dụng thuật toán Naive Bayes để phân lớp dự đoán khả trả nợ khách hàng (pep=Yes: Có kế hoạch trả nợ; pep=NO: Chưa có kế hoạch trả nợ) Đầu tiên, tiến hành chọn thuật toán phân lớp liệu Naive Bayes theo hình bên dưới: Hình 4.10 Giao di n Weka lựa chọn thu t toán Naive Bayes 72 Tiếp theo, tiến hành xây dựng mơ hình phân lớp đánh giá chéo 10fold với thuật toán Naive Bayes để dự đoán, ta thu kết hình dưới: Hình 4.11 Kết sinh lu t thu t toán Naive Bayes Như kết thể Hình 4.11 mơ hình đạt độ xác 70,3% Thơng qua mơ hình này, ta xây dựng mơ hình phân lớp liệu khách hàng để dự đốn cho một/hoặc nhóm đối tượng khách hàng tình trạng/kế hoạch trả nợ, với tỷ lệ xác 70,3% Đây coi sở quan trọng, có độ tin cậy chấp nhận để giúp cho ngân hàng xây dựng kế hoạch triển khai cung cấp/giải dịch vụ ngân hàng khách hàng 73 4.3.3 Phân lớp liệu với thuật toán C4.5 Vẫn sử dụng liệu bank-k.arff, sau em sử dụng thuật toán C4.5 để phân lớp dự đoán khả trả nợ khách hàng (pep=Yes: Có kế hoạch trả nợ; pep=NO: Chưa có kế hoạch trả nợ), thuật toán C4.5 gọi thuật toán j48 WEKA C4.5 thuật toán sử dụng để tạo định phát triển Ross Quinlan C4.5 phần mở rộng thuật tốn ID3 trước Quinlan Các định tạo C4.5 sử dụng để phân loại lý này, C4.5 thường gọi phân loại thống kê Nó trở nên phổ biến sau xếp hạng 10 thuật toán hàng đầu khai thác liệu Đầu tiên, tiến hành chọn thuật tốn phân lớp liệu C4.5 theo hình bên dưới: Hình 4.12 Giao di n Weka lựa chọn thu t toán C4.5 Tiếp theo, tiến hành xây dựng mơ hình phân lớp đánh giá chéo 10fold với thuật toán C4.5 để dự đoán, ta thu kết hình dưới: 74 Hình 4.13 Kết sinh lu t thu t toán C4.5 Như thể Hình 4.13, mơ hình đạt độ xác 85% Có thể thấy thấy liệu bank-k.arff thuật toán C4.5 cho hiệu tốt so với thuật toán Naive Bayes 75 KẾT LUẬN Sau thời gian làm việc, nghiên cứu hướng dẫn tận tình thầy giáo TS Nguyễn Văn Núi, tơi đạt kết sau đây: Trình bày đầy đủ chi tiết vấn đề liên quan đến khai phá liệu phát tri thức; thuật toán phân cụm, phân lớp liệu ứng dụng Giới thiệu trình bày cơng cụ phần mềm Weka (Waikato Environment for Knowledge Analysis) - phần mềm học máy Đại học Waikato, New Zealand phát triển Java, ứng dụng phân lớp, phân cụm liệu Cài đặt, cấu hình phần mềm Weka tiến hành phân cụm, phân lớp liệu thực phân cụm, phân lớp liệu khách hàng bank-k.arff Hư g h t triể u vă : Trong thời gian tới, tiếp tục nghiên cứu sâu vấn đề phân cụm, phân lớp liệu, đặc biệt nghiên cứu tìm hiểu sâu việc ứng dụng phần mềm Weka để tiến hành phân tích liệu ứng dụng lĩnh vực cụ thể phân lớp, dự đoán liệu khách hàng Tiến hành nghiên cứu thu thập liệu thực tế với số lượng lớn hơn, tiến hành cài đặt module mã lệnh để tự động hóa q trình khai phá liệu, phát tri thức 76 TÀI LIỆU THAM KHẢO Tiếng Vi t: [1] Lê Văn Phùng, Quách Xuân Trưởng (2012), Khai phá liệu, NXB Thông tin truyền thông Tiếng Anh: [2] Anil K Jain, Richard C Dubes (1988), “Algorithms for clustering data”, Published by Prentice Hall, Lebanon, Indiana, U.S.A [3] Leonard Kaufman, Peter J Rousseeuw (1990), “Finding Groups in Data An Introduction to Cluster Analysis”, Publisher by Wiley-Interscience [4] J.Ross Quinlan (1993), “Programs for machine learning”, Morgan Kaufmann Publishers Inc San Francisco, CA, USA [5] Rakesh Agrawal (1993),“Mining Association Rules Between Sets of Items in Large Databases”, Publishers IBM Almaden Research Center 650 Harry Road, San Jose ... cụm liệu Một số thuật toán phân cụm liệu trình bày chi tiết chương Chương Phân lớp liệu số thuật tốn bản: Chương trình bày nội dung liên quan đến phân lớp liệu ứng dụng Một số thuật toán phân lớp. .. 4.2 Ứng dụng phân cụm liệu để phân nhóm khách hàng 62 4.3 Ứng dụng phân lớp liệu để phân lớp 68 4.3.1 Phân lớp liệu với thuật toán Apriori 68 4.3.2 Phân lớp liệu với thuật toán. .. phá liệu 10 1.3 Các kỹ thuật áp dụng khai phá liệu 12 1.4 Ứng dụng khai phá liệu 14 1.5 Những thách thức khai phá liệu 15 CHƯƠNG PHÂN CỤM DỮ LIỆU VÀ MỘT SỐ THUẬT TOÁN

Ngày đăng: 03/10/2019, 19:55

Từ khóa liên quan

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

Tài liệu liên quan