Nghiên cứu ứng dụng khai phá dữ liệu trong phân tích số liệu dân cư

26 151 0
Nghiên cứu ứng dụng khai phá dữ liệu trong phân tích số liệu dân cư

Đ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

Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN TẤN PHƯƠNG NGHIÊN CỨU ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG PHÂN TÍCH SỐ LIỆU DÂN CƯ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2011 Footer Page of 126 Header Page of 126 -1- Công trình ñược hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TSKH TRẦN QUỐC CHIẾN Phản biện 1: PGS.TS PHAN HUY KHÁNH Phản biện 2: GS.TS NGUYỄN THANH THUỶ Luận văn ñược bảo vệ Hội ñồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp Đại học Đà Nẵng vào ngày 10 tháng năm 2011 Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng - Trung tâm Học liệu, Đại học Đà Nẵng Footer Page of 126 Header Page of 126 -1- MỞ ĐẦU Lý chọn ñề tài Trong vài thập niên gần ñây, với thay ñổi phát triển không ngừng ngành công nghệ thông tin, luồng thông tin ñược chuyển tải mau lẹ ñến chóng mặt, ước tính khoảng 20 tháng lượng thông tin giới lại tăng gấp ñôi Những người ñịnh tổ chức tài chính, thương mại, khoa học…không muốn bỏ sót thông tin nào, họ thu thập, lưu trữ tất thông tin cho ẩn chứa giá trị ñịnh ñó Hiện lượng liệu mà người thu thập lưu trữ kho liệu lớn, kỹ thuật truyền thống không ñủ khả làm việc với liệu thô, phân tích tay phải tốn nhiều thời gian ñể khám phá thông tin có ích, phần lớn liệu chưa ñược phân tích nhận ñịnh Usama Fayyad:“Hố sâu khả sinh liệu khả sử dụng liệu” Giải pháp giúp phân tích tự ñộng khối lượng liệu lớn ñó kỹ thuật phát tri thức khai phá liệu (KDD Knowledge Discovery and Data Mining) Kỹ thuật phát tri thức khai phá liệu ñã ñang ñược nghiên cứu ứng dụng rộng toàn giới, với kỹ thuật KDD, tác giả muốn nghiên cứu ứng dụng phân tích số liệu dân cư Việt Nam ñể phát tri thức tăng trưởng dân số Vấn ñề tăng trưởng dân số nhanh Việt Nam thập niên gần ñây ñược quan tâm lớn cấp lãnh ñạo, ñiển hình việc phủ Việt Nam ñưa sách kế hoạch hoá gia ñình “Mỗi gia ñình có con” Đã có nhiều biện pháp xử lý gia ñình vi phạm sách kế hoạch hoá gia ñình, qua ñợt thống kê dân số gần ñây vào năm 2009 nhiều gia ñình Footer Page of 126 Header Page of 126 -2- vi phạm sách kế hoạch hoá gia ñình (sinh con) Những gia ñình vi phạm sách có ñặc ñiểm chung nào? Với lượng lớn liệu thu thập ñược qua ñợt thống kê dân số Việt Nam, việc ứng dụng khai phá liệu phân tích số liệu dân cư cần thiết ñể phát ñặc ñiểm chung gia ñình vi phạm sách kế hoạch hoá gia ñình, hỗ trợ lãnh ñạo ban dân số kế hoạch hoá gia ñình cấp ñưa biện pháp phù hợp, ñịnh chọn ñề tài: “Nghiên cứu ứng dụng khai phá liệu phân tích số liệu dân cư” Mục ñích nghiên cứu Mục ñích ñề tài tìm hiểu kỹ thuật khai phá liệu, nghiên cứu ứng dụng kỹ thuật khai phá liệu phân tích số liệu dân cư, nhằm phát ñặc ñiểm chung gia ñình vi phạm sách kế hoạch hóa gia ñình, hỗ trợ cho cấp lãnh ñạo có nhận ñịnh ñể ñưa biện pháp phù hợp Đối tượng phạm vi nghiên cứu - Tìm hiểu lý thuyết phát tri thức khai phá liệu - Quản lí tổ chức lưu trữ sở liệu từ số liệu thống kê dân số tỉnh Quảng Nam - Nghiên cứu số mã nguồn mở áp dụng khai phá liệu - Áp dụng kỹ thuật khai phá liệu sở liệu lưu trữ Phương pháp nghiên cứu - Thu thập số liệu thống kê dân số từ nguồn liệu thống kê dân số tỉnh Quảng Nam - Chọn phương pháp khai phá liệu thích hợp - Lựa chọn công nghệ cài ñặt chương trình Footer Page of 126 Header Page of 126 -3- - Phân tích kiểm ñịnh kết ñạt ñược Ý nghĩa khoa học thực tiễn - Cung cấp cách nhìn tổng quan phát tri thức khai phá liệu - Áp dụng thuật toán khai phá liệu sở liệu thống kê dân số Việt Nam (Dữ liệu thu thập từ nguồn liệu thống kê dân số tỉnh Quảng Nam) - Tìm ñặc ñiểm chung gia ñình vi phạm sách kế hoạch hóa gia ñình hỗ trợ nhà lãnh ñạo có nhận ñịnh cụ thể - Chương trình ñược sử dụng cho lãnh ñạo ban dân số kế hoạch hóa gia ñình cấp Cấu trúc luận văn Chương 1: Giới thiệu khái niệm, tính chất, bước trình khai phá liệu Phương pháp, dạng sở liệu khai phá thách thức trình khai phá liệu Chương 2: Trình bày khái niệm bước trình khai phá liệu luật kết hợp, trình bày thuật toán Apriori Trình bày khái niệm bước trình khai phá liệu ñịnh, trình bày thuật toán C4.5 Chương 3: Xây dựng hệ thống ñịnh phân tích số liệu dân cư Footer Page of 126 Header Page of 126 -4- CHƯƠNG NGHIÊN CỨU TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 GIỚI THIỆU CHUNG VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU Hiện nay, lượng liệu mà người thu thập, lưu trữ kho liệu lớn, kỹ thuật truyền thống không ñủ khả làm việc với liệu thô Vậy làm trích lọc ñược thông tin có ích từ kho liệu lớn Để giải vấn ñề ñó, kỹ thuật khám phá tri thức sở liệu ñã ñời 1.2 QUÁ TRÌNH KHÁM PHÁ TRI THỨC Hình 1.1: Các bước trình khám phá tri thức 1.3 QUÁ TRÌNH KHAI PHÁ DỮ LIỆU Hình 1.2: Quá trình khai phá liệu Footer Page of 126 Header Page of 126 -5- 1.4 CÁC PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU 1.4.1 Theo quan ñiểm học máy 1.4.2 Theo lớp toán cần giải 1.5 CÁC DẠNG CƠ SỞ DỮ LIỆU CÓ THỂ KHAI PHÁ - Cơ sở liệu quan hệ - Cơ sở liệu ña chiều - Cơ sở liệu giao tác - Cơ sở liệu quan hệ - hướng ñối tượng - Dữ liệu không gian thời gian - Cơ sở liệu ña phương tiện … 1.6 MỘT SỐ THÁCH THỨC TRONG KHAI PHÁ DỮ LIỆU - Các sở liệu lớn - Số chiều lớn (số thuộc tính liệu nhiều) - Thay ñổi liệu tri thức - Dữ liệu bị thiếu nhiễu - Quan hệ trường phức tạp - Giao tiếp người sử dụng với tri thức ñã có - Tích hợp với hệ thống khác… 1.7 KẾT LUẬN Quá trình nghiên cứu tổng quan khai phá liệu giúp hiểu ñược bước qui trình khai phá liệu, phương pháp, dạng liệu khai phá vấn ñề cần giải khai phá liệu Footer Page of 126 -6- Header Page of 126 CHƯƠNG KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP VÀ PHÂN LỚP 2.1 KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP 2.1.1 Khái niệm tập phổ biến luật kết hợp Trước ñi vào tìm hiểu kỹ thuật khai thác liệu luật kết hợp, ta có số khái niệm sau: Hạng mục (Item): thuộc tính ñó (i k ) ñối tượng ñang xét sở liệu ( ik : k ∈ {1 m}, với m số thuộc tính ñối tượng) Tập hạng mục (Itemset) I = {i1 , i2 , , im }: tập hợp thuộc tính ñối tượng ñang xét sở liệu Giao dịch (transaction): tập hạng mục ñơn vị tương tác, giao dịch ñược xử lý cách quán mà không phụ thuộc vào giao dịch khác Cơ sở liệu giao dịch D: tập giao dịch mà giao dịch ñược ñánh nhãn với ñịnh danh (cơ sở liệu giao dịch D = {T , T , , T n }, T i ⊆ I ) Một giao dịch T ∈ D hỗ hợ tập X ⊆ I chứa tất mục X Độ hỗ trợ (supp) tập hạng mục X sở liệu giao dịch D tỷ lệ số giao dịch chứa X tổng số giao dịch D Supp( X ) = Tổng số giao dịch ( 2.1) Số lượng giao dịch chứa X Tập hạng mục phổ biến X hay tập phổ biến tập hạng mục có ñộ hỗ trợ thoả mãn ñộ hỗ trợ tối thiểu (minsupp) (minsupp giá trị người dùng xác ñịnh trước) Footer Page of 126 Header Page of 126 -7- Nếu tập mục X có Supp ( X ) ≥ minsupp ta nói X tập mục phổ biến Tập phổ biến tối ñại tập phổ biến không tồn tập bao tập phổ biến Tập phổ biến ñóng tập phổ biến không tồn tập bao có ñộ hỗ trợ Vấn ñề khám phá luật kết hợp ñược phát biểu sau: Cho trước thông số ñộ hỗ trợ θ ñộ tin cậy β Đánh số tất mẫu D có ñộ hỗ trợ ñộ tin cậy lớn hay θ β tương ứng Luật kết hợp cho biết phạm vi mà ñó xuất mục X ñó giao dịch sở liệu giao dịch D kéo theo xuất tập mục Y giao dịch ñó Mỗi luật kết hợp ñược ñặc trưng hai thông số ñộ hỗ trợ ñộ tin cậy (supp, conf) Luật kết hợp X → Y tồn ñộ tin cậy confidence (c/conf) Độ tin cậy conf ñược ñịnh nghĩa khả giao dịch T hỗ trợ X hỗ trợ Y Ta có công thức tính ñộ tin cậy conf sau: Supp ( X ∪ Y ) Conf ( X → Y ) = Supp ( X ) (2.2) Khai phá liệu luật kết hợp phân thành hai toán : Bài toán 1: Tìm tất tập mục mà có ñộ hỗ trợ lớn ñộ hỗ trợ tối thiểu người dùng xác ñịnh Các tập mục thoả mãn ñộ hỗ trợ tối thiểu ñược gọi tập mục phổ biến Bài toán : Dùng tập mục phổ biến ñể sinh luật mong muốn Ý tưởng chung gọi XY X tập mục phổ biến, xác ñịnh luật X → Y với tỷ lệ ñộ tin cậy : Supp ( XY ) ( 2.3) Conf ( X → Y ) = Supp ( X ) Footer Page of 126 -8- Header Page 10 of 126 Nếu conf(X → Y) ≥ minconf luật kết hợp X → Y ñược giữ lại (Luật thoả mãn ñộ hỗ trợ tối thiểu X phổ biến) Các tính chất tập mục phổ biến Tính chất 1: Với Supp X Y ( X ) ≥ Supp tập mục, X ⊆Y : ( Y ) Điều rõ ràng tất giao dịch D hỗ trợ Y hỗ trợ X Tính chất : Một tập chứa tập không phổ biến tập không phổ biến Nếu tập mục X ñộ hỗ trợ tối thiểu D nghĩa Supp ( X ) < minsupp tập Y chứa tập X tập phổ biến Supp (Y ) ≤ Supp ( X ) < minsupp (theo tính chất 1) Tính chất 3: Các tập tập phổ biến tập phổ biến Nếu tập mục Y tập phổ biến D, nghĩa Supp (Y ) ≥ minsupp tập X Y tập phổ biến D Supp ( X ) ≥ Supp (Y ) > minsupp Các tính chất luật kết hợp Tính chất 1: Nếu X → Z Y → Z X ∪ Y → Z chưa xảy chúng phụ thuộc vào ñộ hỗ trợ trường hợp Tính chất 2: Nếu X ∪ Y → Z X → Z Y → Z chưa xảy chúng phụ thuộc vào ñộ tin cậy trường hợp Tính chất 3: Nếu X → Y Y → Z X → Z chưa xảy chúng phụ thuộc vào ñộ tin cậy Tính chất 4: Footer Page 10 of 126 Header Page 12 of 126 - 10 - Giải thuật Apriori Các ký hiệu : Lk : tập tất k-mục phổ biến (tức tập tất k-mục có ñộ hỗ trợ lớn ñộ hỗ trợ tối thiểu ) Mỗi phần tử tập có trường : tập mục (itemset) số mẫu tin hỗ trợ (support-count) Ck : Tập tất k-mục ứng viên, phần tử tập có trường tập mục (itemset) số mẫu tin hỗ trợ (support-count) |D| : Tổng số giao dịch D Count: Biến ñể ñếm tần suất xuất tập mục ñang xét tương ứng, giá trị khởi tạo Nội dung thuật toán Apriori ñược trình bày sau: Input: Tập giao dịch D, ñộ hỗ trợ tối thiểu minsupp Output: L- tập mục phổ biến D Thuật toán: L1={ tập 1-mục phổ biến}// tìm tập phổ biến hạng mục For (lần lượt duyệt mẫu tin từ ñầu ñến cuối tập Lk) Begin Ck+1=apriori-gen(Lk);//sinh tập ứng viên (k+1) hạng mục For (mỗi giao dịch T ∈ D ) //duyệt csdl ñể tính support Begin CT=subset(Ck+1, T); //lấy tập T ứng viên Ck+1 For (mỗi ứng viên c ∈ CT ) c.count++; //tăng ñếm tần suất ñơn vị end; Lk+1 = {c ∈ C k +1 End; Return ∪ k Lk Footer Page 12 of 126 c.count ≥ minsupp} |D| Header Page 13 of 126 - 11 - + Trong giai ñoạn thứ ñếm support cho mục giữ lại mục mà supp lớn minsupp + Trong giai ñoạn thứ k ( k ≥ ), giai ñoạn gồm có pha: Trước hết tất tập Ti tập Lk ñược sử dụng ñể sinh tập ứng viên Ck+1, cách thực hàm Apriori_gen Tiếp theo CSDL D ñược quét ñể tính ñộ hỗ trợ cho ứng viên Ck+1 Thuật toán sinh tập ứng viên hàm Apriori_gen với ñối số Lk cho kết tập hợp tất Lk+1 Thuật toán hàm Apriori_gen Input: tập mục phổ biến Lk có kích thước k-mục Output: tập ứng viên Ck+1 Thuật toán: Function apriori-gen(Lk: tập mục phổ biến có kích thước k) Begin For (mỗi Ti ∈ Lk) For (mỗi Tj ∈ Lk) Begin If (Ti Tj khác hạng mục) then C= Ti ∪ Tj ;// hợp Ti với Tj sinh ứng viên c If subset(c, Lk) then //kiểm tra tập không phổ biến c Lk Remove (c)// xoá ứng viên c Else C k +1 = C k +1 ∪ {c}; // kết tập c vào Ck+1 End; Return Ck+1 End; Footer Page 13 of 126 Header Page 14 of 126 - 12 - 2.2 KHAI PHÁ DỮ LIỆU BẰNG PHÂN LỚP DỮ LIỆU Khái niệm phân lớp 2.2.1 Phân lớp liệu kỹ thuật dựa tập huấn luyện ñể phân lớp liệu • Mục ñích: Gán mẫu vào lớp với ñộ xác cao ñể dự ñoán nhãn phân lớp cho liệu • Đầu vào: Một tập mẫu liệu huấn luyện, với nhãn phân lớp cho mẫu liệu • Đầu ra: Mô hình ñịnh dựa tập huấn luyện nhãn phân lớp 2.2.2 Quá trình phân lớp 2.2.3 Phân lớp phương pháp quy nạp ñịnh 2.2.3.1 Khái niệm ñịnh 2.2.3.2 Tạo ñịnh Tạo ñịnh bao gồm giai ñoạn: Tạo tỉa - Tạo cây: thời ñiểm bắt ñầu tất mẫu huấn luyện ñều gốc, sau ñó phân chia mẫu dựa thuộc tính ñược chọn - Tỉa cây: xác ñịnh xóa nhánh mà có phần tử hỗn loạn phần tử nằm lớp cho trước 2.2.3.3 Sử dụng ñịnh Kiểm tra giá trị thuộc tính nút bắt ñầu từ nút gốc ñịnh suy luật tương ứng * Thuật toán quy nạp ñịnh: Cây ñược xây dựng ñệ quy từ xuống Ở thời ñiểm bắt ñầu, tất mẫu huấn luyện gốc Thuộc tính ñược phân loại theo giá trị Những mẫu huấn luyện ñược phân chia ñệ quy dựa thuộc tính mà chọn lựa Footer Page 14 of 126 Header Page 15 of 126 - 13 - Kiểm tra thuộc tính ñược chọn dựa tảng heuristic ñịnh lượng thống kê 2.2.3.4 Giải thuật qui nạp ñịnh C4.5 Ý tưởng giải thuật C4.5 sau: Đầu vào: Một tập hợp mẫu huấn luyện Mỗi mẫu huấn luyện bao gồm thuộc tính với giá trị phân loại Đầu ra: Cây ñịnh có khả phân loại ñúng ñắn mẫu huấn luyện cho chưa gặp tương lai Giải thuật: Function induce_tree (tập_mẫu_huấn_luyện, tập_thuộc_tính) begin if mẫu tập_mẫu_huấn_luyện ñều nằm lớp then return nút ñược gán nhãn lớp ñó else if tập_thuộc_tính rỗng then return nút ñược gán nhãn tuyển tất lớp tập_mẫu_huấn_luyện else begin chọn thuộc tính P, lấy làm gốc cho tại; //(thuộc tính P có ñộ ño GainRatio lớn ) xóa P khỏi tập_thuộc_tính; với giá trị V P begin tạo nhánh gán nhãn V; Đặt vào phân_vùng V mẫu tập_mẫu_huấn_luyện có giá trị V thuộc tính P; Gọi induce_tree(phân_vùngV, tập_thuộc_tính) //gắn kết vào nhánh V end end end Footer Page 15 of 126 Header Page 16 of 126 2.2.3.5 - 14 - Một số vấn ñề cần giải việc phân lớp liệu * Việc chọn thuộc tính ñể phân chia mẫu? Ta chọn thuộc tính làm nút cây, ñiều có khả xuất nhiều ñịnh khác biểu diễn tập mẫu Thuộc tính ñược chọn thuộc tính cho ñộ ño tốt nhất, có lợi cho trình phân lớp Độ ño ñể ñánh giá chất lượng phân chia ñộ ño ñồng • Information Gain • Information Gain Ratio • Gini Index • X2 – số thống kê bảng ngẫu nhiên • G – thống kê (statistic) * Điều kiện ñể dừng việc phân chia: Tất mẫu huấn luyện thuộc lớp Không thuộc tính lại ñể phân chia tiếp Không mẫu lại * Độ lợi thông tin (Information Gain) ñịnh: Information Gain (Gain): ñại lượng ñược sử dụng ñể lựa chọn thuộc tính có ñộ lợi thông tin lớn ñể phân lớp Độ ño Information Gain ñược tính dựa vào ñộ ño info (I) entropy (E) Info ñộ ño thông tin kỳ vọng ñể phân lớp mẫu tập liệu Giả sử cho P, N hai lớp S tập liệu chứa p phần tử lớp P n phần tử lớp N Khối lượng thông tin cần ñể ñịnh mẫu tùy ý S thuộc lớp P N ñược ñịnh nghĩa sau: p p n n (2.6) I ( p , n) = − log − log p+n p+n p+n p+n Footer Page 16 of 126 - 15 - Header Page 17 of 126 Entropy khái niệm ñể ño tính tập huấn luyện Giả sử sử dụng thuộc tính A ñể phân hoạch tập hợp S thành tập hợp {S1, S2, ,Sv} Nếu Si chứa pi mẫu lớp P ni mẫu N, entropy hay thông tin mong ñợi cần ñể phân lớp ñối tượng tất Si là: E ( A ) = v ∑ i=1 p i + n p + n i I ( p i , n i ) (2.7) Độ lợi thông tin nhận ñược việc phân nhánh thuộc tính A là: Gain ( A ) = I ( p , n ) − E ( A ) ( 2.8) Ta nhận thấy ñộ ño Gain có xu hướng chọn thuộc tính có nhiều giá trị, nhiên thuộc tính có nhiều giá trị lúc cho việc phân lớp tốt nhất, ta cần chuẩn hóa ñộ ño Gain, việc chọn thuộc tính không dựa vào ñộ ño Gain mà phụ thuộc vào ñộ ño GainRation SplitInfo ñộ ño thông tin trung bình thuộc tính, ñể hạn chế xu hướng chọn thuộc tính có nhiều giá trị, thông tin trung bình thuộc tính A ñược tính: SplitInfo(A) = − v ∑ j =1 D j D log ( D j D ) ( 2.9) Việc chọn thuộc tính ñể phân nhánh dựa vào ñộ ño GainRation GainRatio(A) = Gain(A) / SplitInfo(A) ( 2.10) Đây công thức tính ñộ ño GainRatio cho thuộc tính A sở liệu D, sau ñó ta chọn thuộc tính có ñộ ño GainRatio lớn ñể phân lớp theo thuộc tính ñó * Vấn ñề khớp phân lớp * Vấn ñề phân lớp ñịnh sở liệu lớn Footer Page 17 of 126 Header Page 18 of 126 - 16 - 2.3 KẾT LUẬN Hai phương pháp khai phá liệu luật kết hợp phân lớp mà tìm hiểu ñây, phương pháp có thuật toán ñiển hình, chúng tiếp cận khai phá liệu khác nhau, phương pháp có ưu khuyết ñiểm riêng tùy thuộc vào dạng liệu, miền liệu, khối lượng liệu Như ñã phân tích trên, ưu ñiểm khai phá liệu phương pháp phân lớp liệu ñối với khối lượng liệu lớn, mà áp dụng thuật toán C4.5 ñể phân lớp liệu dân cư Thuật toán số 10 thuật toán “nổi tiếng – best known” Data Mining, ñược trao phần thưởng ICDM’06-Hong Kong CHƯƠNG ỨNG DỤNG TRONG PHÂN TÍCH SỐ LIỆU DÂN CƯ 3.1 MÔ TẢ BÀI TOÁN Qua khảo sát thực tế, việc thu thập liệu dân cư toàn quốc ñược thực theo chu kỳ năm có số ñịa phương thực việc khảo sát cập nhật thường xuyên theo tháng, quí, năm nhằm thống kê dân số theo ñộ tuổi, giới tính, trình ñộ văn hóa, mức ñộ tăng trưởng dân số theo vùng nước Đây công việc cần thiết, giúp nhà lãnh ñạo có nhận ñịnh nên hỗ trợ yếu tố hạn chế yếu tố nào, tạo ñiều kiện thuận lợi ổn ñịnh xã hội phát triển ñất nước Với mong muốn ứng dụng khai phá liệu phân tích số liệu dân cư ñể tìm ñối tượng thường hay vi phạm kế hoạch hóa gia ñình, hỗ trợ cho ban lãnh ñạo DS-KHHGĐ cấp tập trung vận ñộng, tuyên truyền giáo dục cho ñối tượng vi phạm kế hoạch hóa gia ñình góp phần thực chiến lược dân số cho giai Footer Page 18 of 126 - 17 - Header Page 19 of 126 ñoạn tới ñạt kết tốt Tác giả ñã thu thập khối lượng lớn thông tin qua tổng ñiều tra dân số, thực phân tích, lưu trữ liệu hệ quản trị CSDL quan hệ SQL Server 2005 sử dụng thuật toán C4.5 khai phá liệu mô hình ñịnh 3.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Xác ñịnh thực thể Mô hình thực thể kết hợp(ERD) Mô hình thực thể kết hợp Chuyển mô hình ERD thành mô hình quan hệ Theo phân tích liệu lưu trữ mối quan hệ bảng sở liệu ñồng thời qua khảo sát thực tế, ta thấy việc có vi phạm hay không vi phạm kế hoạch hóa gia ñình phụ thuộc vào nhiều thuộc tính Footer Page 19 of 126 Header Page 20 of 126 - 18 - khác Như trình ñộ học vấn, khu vực sinh sống, thu nhập, giới tính con… Xét thuộc tính: Trình ñộ học vấn (TH sơ, TH phổ thông, THCN) Khu vực sinh sống (Thành thị, Nông thôn, Miền núi) Thu nhập (Thấp, Trung bình, Cao) Giới tính (1 trai gái, trai, gái) Từ liệu lưu trữ ta rút trích mẫu liệu theo bảng sau: Bảng3.3 Một số mẫu liệu sở liệu dân cư (S) STT 10 11 12 13 14 15 16 17 18 19 20 Họ tên Hà Lương Phạm Văn Chánh Nguyễn Công Trạng Võ Bé Lê Thanh Tùng Đỗ Ngọc Thái Nguyễn Long Trương Ngọc Lộc Nguyễn Hưu Tuân Lê Thanh Tùng Nguyễn Minh Kế Lê Văn Thắng Huỳnh Thi Chung Phạm Thị Hoang Đoàn Văn Ngự Phạm Hùng Võ Trung Thông Lê Đức Sơn A Viết Ngai Phạm Văn Cảm Trình ñộ học vấn TH phổ thông TH sở TH phổ thông TH CN trở lên TH phổ thông TH sở TH CN trở lên TH phổ thông TH sở TH sở TH phổ thông TH CN trở lên TH phổ thông TH Phổ thông TH sở TH CN trở lên TH CN trở lên TH phổ thông TH sở TH sở Thu nhập Trung bình Cao Trung bình Thấp Thấp Trung bình Thấp Cao Thấp Cao Thấp Cao Thấp Trung bình Thấp Cao Thấp Cao Thấp Cao Nơi Thành thị Nông thôn Miền núi Thành thị Thành thị Nông thôn Miền núi Thành thị Miền núi Miền núi Nông thôn Nông thôn Thành thị Miền núi Nông thôn Miền núi Thành thị Nông thôn Miền núi Nông thôn Giới tính trai, gái gái trai, gái trai gái trai gái gái trai trai, gái trai trai, gái trai gái trai, gái gái trai, gái trai trai, gái trai, gái Vi phạm Không Có Không Không Có Có Có Không Có Không Không Không Không Có Có Không Không Không Có Không Để xây dựng ñịnh, nút thuật toán ñều ño lượng thông tin nhận ñược thuộc tính chọn thuộc tính có lượng thông tin tốt làm nút phân tách nhằm ñể ñạt ñược có nút có khả dự ñoán cao Footer Page 20 of 126 Header Page 21 of 126 - 19 - Ta tính ñộ ño GainRatio cho thuộc tính theo bảng liệu mẫu ñể xác ñịnh thuộc tính ñược chọn trình tạo ñịnh Bộ mẫu liệu có 02 miền giá trị {c, k} (c ứng với “Có vi phạm” k ứng với “không vi phạm kế hoạch hóa gia ñình”) Lượng thông tin tất mẫu liệu S theo bảng trên: 12 12 8 I(S) = − log log − = 0,970 20 20 20 20 + Xét thuộc tính trình ñộ học vấn STT Trình ñộ học vấn TH sở TH phổ thông TH chuyên nghiệp trở lên ci ki I(ci,ki) 0,86 0,81 0,72 Ta có: *I(c1,k1)+ *I(c2,k2)+ *I(c3,k3)= 0,805 20 20 20 5 2 I(c1,k1) = − log − log = 0,86 7 7 2 6 I(c2,k2) = − log − log = 0,81 8 8 1 4 I(c3,k3) = − log − log = 0,72 5 5 E(Trình ñộ học vấn)= Trong ñó: Do ñó: Gain(Trình ñộ học vấn) = I(S) – E(Trình ñộ học vấn) = 0,165 Tính ñộ ño SplitInfo cho thuộc tính trình ñộ học vấn sau: 7 8 5 SplitInfo(Trình ñộ học vấn)= − log2 − log2 − log2 = 1,558 20 20 20 20 20 20 Vậy ñộ ño GainRatio cho thuộc tính trình ñộ học vấn: GainRatio(Trình ñộ học vấn)= Gain(Trình ñộ học vấn)/ SplitInfo(Trình ñộ học vấn) =0,165/1,558=0,106 Tương tự: Footer Page 21 of 126 - 20 - Header Page 22 of 126 + Tính Entropy cho thuộc tính Thu nhập STT Thu nhập Thấp Trung bình Cao E(Thu nhập) = ci ki I(ci,ki) 0,99 1,0 0,59 *I(c1,k1) + *I(c2,k2) + *I(c3,k3)= 0,852 20 20 20 Gain(Thu nhập) = 0,970 – 0,852 = 0,118 SplitInfo(Thu nhập)= − 9 4 7 log2 − log2 − log2 = 1,512 20 20 20 20 20 20 GainRatio(Thu nhập)=0,118/1,512=0,078 + Tính Entropy cho thuộc tính Khu vực sinh sống STT Khu vực Nông thôn Miền núi Thành thị E(Khu vực) = ci ki I(ci,ki) 0,99 0,99 0,65 7 *I(c1,k1) + *I(c2,k2) + *I(c3,k3)=0,888 20 20 20 Gain(Khu vực) = 0,970 – 0,888 = 0,082 SplitInfo(Khu vực)= − 7 7 6 log2 − log2 − log2 = 1,581 20 20 20 20 20 20 GainRatio(Khu vực)=0,082/1,581=0,051 + Tính Entropy cho thuộc tính Giới tính STT Khu vực trai gái trai, gái E(Giới tính) = ci ki I(ci,ki) 0,92 0,92 0,81 6 *I(c1,k1)+ *I(c2,k2)+ *I(c3,k3) = 0,876 20 20 20 Gain(Giới tính) = 0,970 – 0,876 = 0,094 SplitInfo(Giới tính)= − Footer Page 22 of 126 8 6 6 log2 − log2 − log2 = 1,570 20 20 20 20 20 20 - 21 - Header Page 23 of 126 GainRatio(Giới tính con)=0,094/1,570=0,060 Độ ño GainRatio thuộc tính ñược xếp giảm dần: STT Thuộc tính Trình ñộ học vấn Thu nhập Giới tính Khu vực sinh sống Độ ño GainRatio 0,106 0,078 0,060 0,051 Thuộc tính có ñộ ño GainRatio lớn “Trình ñộ học vấn” Cây phân nhánh theo thuôc tính “Trình ñộ học vấn” sau: Trình ñộ học vấn TH sơ 5C,2K TH phổ thông TH chuyên nghiệp trở lên 2C,6K 1C,4K Hình 3.2 Cây ñịnh thuộc tính “Trình ñộ học vấn” Nhận xét: Sau phân nhánh theo thuộc tính “Trình ñộ học vấn”, nút chưa nút có tất mẫu thuộc lớp Vì ta lập bảng liệu phân theo giá trị tương ứng theo nút tiếp tục phân nhánh ñịnh theo nút Tương tự áp dụng thuật toán C4.5 tạo ñịnh cho mẫu với thuộc tính trình ñộ học vấn “TH sở”, “TH phổ thông”, “TH chuyên nghiệp trở lên” chúng cho ñến tất nút có mẫu lớp Dựa vào ñịnh cuối ta rút luật Footer Page 23 of 126 Header Page 24 of 126 - 22 - 3.3 CÀI ĐẶT CHƯƠNG TRÌNH Qua phân tích thiết kế hệ thống, CSDL dân cư ñược lưu trữ Hệ quản trị CSDL SQL Server 2005 Chúng ta sử dụng ngôn ngữ lập trình C# ñể cài ñặt thuật toán ñịnh C4.5 Màn hình thực chương trình: Hình 3.10: Màn hình chương trình Các chức chương trình: Khi chọn menu “Xây dựng ñịnh”, chương trình thực tạo ñịnh theo tập liệu mẫu Khi chọn menu “Chọn thuộc tính”, hình chọn thuộc tính hiển thị, cho phép chọn thuộc tính cần khai phá, chọn nút “thực hiện” chương trình thực tạo ñịnh theo thuộc tính ñược chọn Khi nhấn chuột phải chọn nút ñịnh menu popup xuất gồm mục: “Xây dựng ñịnh”, “ Xây dựng thứ cấp”: Footer Page 24 of 126 Header Page 25 of 126 - 23 - - Khi chọn mục “Xây dựng ñịnh”: chương trình thực vẽ toàn ñịnh hình - Khi chọn mục “Xây dựng thứ cấp”: chương trình thực vẽ theo nút ñược chọn hình Khi chọn menu “Kết xữ lý”, hình nhập liệu hiển thị cho phép nhập vào tập liệu kiểm tra Nhấn nút “thực hiện” ñể nhận kết Màn hình ñịnh tổng quát: Hình 3.11: Màn hình ñịnh tổng quát 3.4 THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Sau cài ñặt thử nghiệm chương trình, ta có nhận xét sau: - Cài ñặt thành công thuật toán C4.5, ñưa ñịnh theo mẫu liệu ñúng theo phân tích ñề tài - Đưa tập liệu vào kiểm tra cho kết ñúng theo phân tích ñề tài Footer Page 25 of 126 - 24 - Header Page 26 of 126 KẾT LUẬN Đánh giá chung tình hình nghiên cứu Với khai phá liệu, ñây lĩnh vực nghiên cứu việc phát tri thức từ sở liệu lớn thuật toán ñã ñang thu hút nhà nghiên cứu người dùng ngành tin học Luận văn ñã tập trung vào việc tìm hiểu phương pháp khai phá liệu luật kết hợp phân lớp, với khối lượng liệu dân cư tương ñối lớn nên ứng dụng khai phá liệu phương pháp phân lớp liệu chiếm ưu hơn, dùng phương pháp phân lớp liệu ñể phân lớp dự ñoán Kết ñạt ñược từ nghiên cứu Qua ñề tài này, thân ñã tìm hiểu ñược số kiến thức hữu ích nhằm tích lũy kinh nghiệm cho công việc ngày Những kết ñạt ñược từ ñề tài này: - Tìm hiểu lý thuyết khai phá liệu, cụ thể phương pháp khai phá liệu luật kết hợp phân lớp tạo ñịnh - Cài ñặt thành công thuật toán C4.5 ngôn ngữ lập trình C# Kết cho tương ñối giống kết khảo sát thực tế Luận văn có ý nghĩa thực tiễn cao, gần gũi, thiết thực Ứng dụng ñề tài không cho lĩnh vực hỗ trợ sách kế hoạch hóa gia ñình mà ñáp ứng nhiều lĩnh vực khác, lĩnh vực có tính chất dự ñoán dựa vào khối lượng liệu lớn Hướng phát triển ñề tài Luận văn ñã ñạt ñược số kết ñịnh trên, nhiên có nhiều ñiều cần cải tiến nghiên cứu thêm, : • Nâng cấp hoàn chỉnh chương trình ñể ứng dụng vào thực tế • Mở rộng lý thuyết ứng dụng sang mô hình phân tán Footer Page 26 of 126 ... dụng khai phá liệu - Áp dụng kỹ thuật khai phá liệu sở liệu lưu trữ Phương pháp nghiên cứu - Thu thập số liệu thống kê dân số từ nguồn liệu thống kê dân số tỉnh Quảng Nam - Chọn phương pháp khai. .. ban dân số kế hoạch hoá gia ñình cấp ñưa biện pháp phù hợp, ñịnh chọn ñề tài: Nghiên cứu ứng dụng khai phá liệu phân tích số liệu dân cư Mục ñích nghiên cứu Mục ñích ñề tài tìm hiểu kỹ thuật khai. .. Mining) Kỹ thuật phát tri thức khai phá liệu ñã ñang ñược nghiên cứu ứng dụng rộng toàn giới, với kỹ thuật KDD, tác giả muốn nghiên cứu ứng dụng phân tích số liệu dân cư Việt Nam ñể phát tri thức

Ngày đăng: 20/05/2017, 04:44

Từ khóa liên quan

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

Tài liệu liên quan