TRƯỜNG ĐẠI HỌC DUY TÂN 2 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN PHAN THỊ NHẬT PHƯƠNG ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU NHẰM HỖ TRỢ CÔNG TÁC TƯ VẤN MUA HÀNG TẠI CÁC DOANH NGHIỆP VỪA VÀ NHỎ Ở TỈNH KIÊN GIANG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH ĐÀ NẴNG, 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN PHAN THỊ NHẬT PHƯƠNG ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU NHẰM HỖ TRỢ CÔNG TÁC TƯ VẤN MUA HÀNG TẠI CÁC DOANH NGHIỆP VỪA VÀ NHỎ Ở TỈNH KIÊN GIANG Chuyên ngành Khoa học máy tính Mã số 8480101 LUẬ.
Trang 1PHAN THỊ NHẬT PHƯƠNG
ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU NHẰM
HỖ TRỢ CÔNG TÁC TƯ VẤN MUA HÀNG TẠI CÁC DOANH NGHIỆP VỪA VÀ NHỎ Ở TỈNH KIÊN
GIANG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
ĐÀ NẴNG, 2021
Trang 2PHAN THỊ NHẬT PHƯƠNG
ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU NHẰM HỖ TRỢ CÔNG TÁC TƯ VẤN MUA HÀNG TẠI CÁC DOANH NGHIỆP VỪA VÀ NHỎ Ở
TỈNH KIÊN GIANG
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS HÀ THỊ NHƯ HẰNG
ĐÀ NẴNG, 2021
Trang 3LỜI CẢM ƠN
Trước tiên tôi xin bày tỏ lòng biêt ơn sâu sắc với cô Hà Thị Như Hằng,người đã đưa tôi đến với lĩnh vực nghiên cứu này Cô đã tận tình giảng dạy,hướng dẫn giúp tôi tiếp cận và đạt được thành công trong công việc nghiêncứu của mình Cô đã luôn tận tâm động viên, khuyến khích và chỉ dẫn giúp tôihoàn thành được luận văn này
Tôi xin bày tỏ lòng biết ơn tới các Thầy, Cô thuộc Trường đào tạoKhoa học máy tính (ĐH Duy Tân), Ban Sau đại học và cán bộ phòng Đào tạo– Trường Đại học Duy Tân, đã tạo mọi điều kiện thuận lợi giúp đỡ tôi trongquá trình học tập và nghiên cứu tại Trường
Tôi xin cảm ơn tập thể viên chức phòng Xúc tiến Đầu tư, Thương mại
và Du lịch và Ban Giám đốc Trung tâm Xúc tiến Đầu tư, Thương mại và Dulịch Kiên Giang đã nhiệt tình ủng hộ, hết lòng tạo điều kiện giúp đỡ tôi trongsuốt thời gian học tập và nghiên cứu
Sự động viên, cổ vũ của bạn bè là nguồn động lực quan trọng để tôihoàn thành luận văn Tôi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, con tôi
đã tạo điểm tựa vừng chắc cho tôi có được thành công như ngày hôm nay
Học viện
Phan Thị Nhật Phương
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu và kết quả nghiên cứu trong luận văn này là trung thực vàkhông trùng lặp với các đề tài khác
Học viện
Phan Thị Nhật Phương
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC BẢNG, BIỂU, SƠ ĐỒ, HÌNH VẼ iii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 3
4 Đối tượng và phạm vi nghiên cứu 4
5 Phương pháp nghiên cứu 5
6 Tổng quan vấn đề nghiên cứu 6
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN TÍCH DỰ BÁO 7
1.1 Tổng quan về khai phá dữ liệu 7
1.2 Quá trình phát hiện tri thức và khai phá dữ liệu 7
1.3 Quá trình khai phá dữ liệu 9
1.4 Loại dữ liệu được khai thác 10
1.5 Các phương pháp khai phá dữ liệu 11
1.5.1 Phương pháp luật kết hợp 11
1.5.2 Phương pháp cây quyết định 11
1.5.3 Phương pháp K-Mean 11
1.5.4.Các phương pháp dựa trên mẫu 11
1.6 Một số kỹ thuật trong khai phá dữ liệu 12
1.6.1 Kỹ thuật KPDL mô tả 12
1.6.2 Kỹ thuật KPDL dự đoán 12
1.7 Chức năng khai phá dữ liệu 13
Trang 61.8 Lĩnh vực ứng dụng của khai phá dữ liệu 14
1.9 Ứng dụng khai phá dữ liệu 15
1.10 Một số công cụ khai phá dữ liệu (Data Mining Tools) 17
1.11 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá dữ liệu 18
1.12 Những thách thức đối với khai phá dữ liệu 19
1.13 Kết luận 21
Chương 2 PHÂN LỚP DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU VÀ PHÂN LỚP DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH 22
2.1 Tổng quan về phân lớp dữ liệu trong khai phá dữ liệu 22
2.2 Các giải thuật phân lớp dữ liệu 24
2.3 Luật kết hợp trong khai phá dữ liệu 25
2.4 Cây quyết định 29
2.4.1 Các kiểu cây quyết định 31
2.4.2 Ưu điểm, nhược điểm của cây quyết định 31
2.5 Các thuật toán phân lớp dữ liệu 32
2.5.1 Thuật toán cây quyết định 32
2.5.2 Thuật toán cây quyết định ID3 33
2.5.3 Thuật toán C4.5 35
2.5.4 Thuật toán SVM 42
2.5.5 Thuật toán phân lớp K người láng giềng gần nhất 44
2.6 Thực trạng công tác tư vấn mua hàng tại các doanh nghiệp nhỏ và vừa Kiên Giang ứng dụng luật kết hợp có thuật toán Apriori 44
2.7 Xây dựng phần mềm phục vụ cho luận văn 46
2.8 Kết luận chương 2 49
Chương 3 THIẾT KẾ CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM 50
3.1 Giới thiệu về mô hình xây dựng 50
Trang 73.2 Giải quyết vấn đề 52
3.3 Mô tả các bước xây dựng mô hình 54
3.3.1 Thiết kế cơ sở dữ liệu mẫu để phục vụ cho quá trình xây dựng cây quyết định 54
3.3.2 Xác định thuộc tính cần dự đoán và thuộc tính đầu vào cho mô hình, Xây dựng cây quyết định để phân lớp dữ liệu 55
3.3.3 Dùng kết quả của phần 3.3.2 tác giả xây dựng phần mềm ứng dụng đánh giá kết quả xác nhận sản phẩm nước mắm Kiên Giang 59
3.4 Thiết kế giao diện phần mềm 59
3.5 Thử nghiệm 61
3.5.1 Minh họa ứng dụng chức năng xác nhận 61
3.5.2 Minh họa cho phân lớp “đã xác nhận” cho sản phẩm nước mắm, Phú Quốc, đạt chứng nhận OCOP (xem hình 3.14, hình 3.15) 62
3.5.3 Thử nghiệm 62
3.6 Đánh giá hiệu quả của giải pháp khai phá dữ liệu sử dụng cây quyết định vào việc xác nhận sản phẩm 65
KẾT LUẬN 66 DANH MỤC CÁC TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao)
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Quá trình khám phá tri thức 8
Hình 1.2 Quá trình khám phá dữ liệu 9
Hình 1.3 Kỹ thuật Khai phá dữ liệu từ nhiều lĩnh vực 14
Hình 2.1 Bài toán phân lớp 22
Hình 2.2 Quá trình phân lớp dữ liệu – (a) Bước học/ phân lớp 23
Hình 2.3 Quá trình phân lớp dữ liệu – (b) Bước phân loại (đánh giá và áp dụng) 24
Hình 2.4 Siêu phẳng h phân chia dữ liệu huấn luyện thành 2 lớp + và – với 43
Hình 3.1 Sơ đồ luồng dữ liệu thông tin sản phẩm 51
Hình 3.2 Sơ đồ liên kết giữa các bảng 53
Hình 3.3 Dữ liệu mẫu Excel 55
Hình 3.4 Cơ sở dữ liệu mẫu SQL 55
Hình 3.5 Sản phẩm nước mắm Phú Quốc đang được bày bán tại siêu thị 56
Hình 3.6 Cơ sở dữ liệu mẫu demo.arff 57
Hình 3.7 Minh họa file demo trong weka 57
Hình 3.8 Liệt kê kết quả phân lớp tập dữ liệu mẫu 69
Hình 3.9 Cây quyết định xác nhận sản phẩm nước mắm Kiên Giang 69
Hình 3.10 Giao diện chức năng đăng nhập vào chương trình thử nghiệm 60
Hình 3.11 Giao diện chức năng lựa chọn chức năng quản lý hay xác nhận 60
Hình 3.12 Giao diện chức năng quản lý sản phẩm 61
Hình 3.13 Giao diện chức năng xác nhận sản phẩm 61
Hình 3.14 Minh họa nhập thông tin xác nhận nước mắm Phú Quốc 62
Trang 9Hình 3.15 Minh họa cho kết quả phân lớp “đã xác nhận” 62Hình 3.16 Kết quả thử nghiệm cây quyết định áp dụng thuật toán C4.5 – quaphần mềm weka cho sản phẩm nước mắm 63Hình 3.17 Kết quả test nước mắm huyện Châu Thành 64Hình 3.18 Kết quả test nước mắm huyện Kiên Hải 64
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, cùng với sự thay đổi và phát triển khôngngừng của ngành công nghệ thông tin nói chung và trong các ngành côngnghệ phần cứng, phần mềm, truyền thông và hệ thống các dữ liệu phục vụtrong các lãnh vực kinh tế - xã hội nói riêng Thì việc thu thập thông tin cũngnhư nhu cầu lưu trữ thông tin càng ngày càng lớn Bên cạnh đó việc tin họchoá một cách ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũngnhư nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệulưu trữ khổng lồ Hàng triệu Cơ sở dữ liệu đã được sử dụng trong các hoạtđộng sản xuất, kinh doanh, quản lí trong đó có nhiều Cơ sở dữ liệu cực lớn
cỡ Gigabyte, thậm chí là Terabyte Sự bùng nổ này đã dẫn tới một yêu cầucấp thiết là cần có những kĩ thuật và công cụ mới để tự động chuyển đổilượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kĩ thuật Khaiphá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ thông tin thếgiới hiện nay Một vấn đề được đặt ra là phải làm sao trích chọn được nhữngthông tin có ý nghĩa từ tập dữ liệu lớn để từ đó có thể giải quyết được các yêucầu của thực tế như trợ giúp ra quyết định, dự đoán,… và khai phá dữ liệu(Data mining) đã ra đời nhằm giải quyết các yêu cầu đó
Kiên Giang là tỉnh ở phía Tây Nam của Việt Nam, là một trong bốntỉnh vùng kinh tế trọng điểm vùng Đồng bằng sông Cửu Long, với nhiều tiềmnăng và lợi thế kinh tế phát triển: kinh tế nông - lâm nghiệp; kinh tế biển;công nghiệp chế biến nông - thủy sản; công nghiệp sản xuất vật liệu xây dựng
và du lịch với nhiều danh lam thắng cảnh và di tích lịch sử, văn hoá tiêu biểu
Tỉnh Kiên Giang có 16 sản phẩm nông nghiệp chủ lực, 14 sản phẩm thếmạnh, 06 sản phẩm được đăng ký bảo hộ sỡ hữu trí tuệ, 50 sản phẩm có nhãn
Trang 11hiệu tập thể (trong đó có 31 sản phẩm đã được công nhận và 19 sản phẩmđang trong quá trình xem xét và công nhận), 03 làng nghề và 13 làng nghềtruyền thống, 18 sản phẩm mỗi xã, phường một sản phẩm năm 2020 (mỗi xã,phường một sản phẩm” - tiếng Anh là One commune, one product, viết tắt làOCOP) vì Kiên Giang đang triển khai tổ chức công nhận sản phẩm OCOP vàhơn 50 sản phẩm tiềm năng.
Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành mộttrong những xu hướng nghiên cứu phổ biến trong lĩnh vực học máy tính vàcông nghệ tri thức Nhiều thành tựu nghiên cứu của Data mining đã được ápdụng trong thực tế Data mining có nhiều hướng quan trọng và một trong cáchướng đó là phân lớp dữ liệu (Data Classfication) Phân lớp dữ liệu là mộtphương pháp học không giám sát, phân lớp dữ liệu là một trong những kỹthuật để khai thác dữ liệu có hiệu quả Phân lớp dữ liệu đã được ứng dụngtrong nhiều lĩnh vực khác nhau: quản lý cán bộ, dự báo thời tiết, dự đoánlượng tiền tiêu dùng của khách hàng v.v… Tuy nhiên, trong lĩnh vực xúc tiếnthương mại, mặc dù là lĩnh vực có khối lượng dữ liệu về sản phẩm khá lớn,cần phân tích để đưa ra các chiến lược phát triển phù hợp thì thực sự chưađược khai thác có hiệu quả Bản thân người thực hiện đề tài đang công táctrong lĩnh vực xúc tiến (ở cấp độ sở), nên rất cần các phân tích, đánh giá kếtquả sản phẩm Kiên Giang trên thị trường được người tiêu dùng biết đến nhưthế nào để từ đó đề xuất các biện pháp nhằm nâng cao chất lượng quảng bá,xúc tiến Đó là lý do chọn đề tài “Ứng dụng kỹ thuật khai phá dữ liệu nhằm
hỗ trợ công tác tư vấn mua hàng tại các doanh nghiệp vừa và nhỏ ở tỉnh KiênGiang”
Qua đề tài việc ứng dụng vào các dữ liệu thực tế từ bộ sản phẩmOCOP, sản phẩm công nghiệp nông thôn tiêu biểu, sản phẩm tiềm năng củatỉnh Kiên Giang để đưa ra các tri thức cần thiết cho bộ phận tư vấn giúp
Trang 12doanh nghiệp nhận định được điểm yếu của sản phẩm, có chiến lược pháttriển về sau Với mục đích là giúp cho doanh nghiệp vừa và nhỏ ở Kiên Giang
sẽ giảm được một phần chi phí khảo sát nhu cầu mua hàng
Nội dung của đề tài mang ý nghĩa khoa học khi đặt vấn đề, phân tíchcác đặc trưng của bài toán tư vấn và bộ dữ liệu sản phẩm tại Kiên Giang, cácbước áp dụng các kỹ thuật khai phá dữ liệu và phát hiện tri thức trên bộ dữliệu
Đề tài cũng mang ý nghĩa thực tiễn khi thực nghiệm các phương phápvới dữ liệu thực tế, mô tả kết quả đạt được, từ đó đưa ra những đề xuất, kiếnnghị Góp phần có thêm thông tin giúp cho bộ phận tư vấn ra quyết định tưvấn cho người mua hàng, chủ doanh nghiệp khi giới thiệu sản phẩm ra thịtrường
2 Mục đích nghiên cứu
Luận văn tập trung các mục tiêu sau
- Tìm hiểu về khai phá dữ liệu, hiểu được các kỹ thuật khai phá dữ liệu
và phát hiện tri thức cơ bản
- Nghiên cứu phương pháp khai phá tìm luật kết hợp, giải pháp phânlớp dữ liệu dựa trên cây quyết định
- Luận văn chạy thử nghiệm trên bộ dữ liệu sản phẩm là đầu vào củabài toán Kết quả đầu ra là mô hình phân lớp với đặc tính hỗ trợ của mô hìnhtrong công tác quản lý sản phẩm Kiên Giang Trên cơ sở đó, luận văn đề xuấtnhững giải pháp để cải tiến quản lý sản phẩm Ứng dụng mô hình thửnghiệm xây dựng nhằm dự đoán kết quả nhận biết sản phẩm Kiên Giang quaviệc kết hợp giữa thông tin về sản phẩm (đơn vị sản xuất, tên sản phẩm, địađiểm, loại sản phẩm,…), từ đó giúp cho người tiêu dùng có thể lựa chọn đúngsản phẩm Kiên Giang mình quan tâm Hệ thống không chỉ hỗ trợ cho đơn vị
Trang 13sản xuất, người tiêu dùng mà còn giúp cho các nhà quản lý có cái nhìn địnhhướng, giải pháp cho lĩnh vực xúc tiến của tỉnh.
3 Nhiệm vụ nghiên cứu
- Hệ thống hóa những lý luận cơ bản về khai phá dữ liệu
- Nghiên cứu và phân tích thực trạng sản phẩm Kiên Giang bao gồmcác sản phẩm OCOP, sản phẩm công nghiệp nông thôn tiêu biểu, sản phẩmtiềm năng
- Thực nghiệm chương trình ứng dụng để mô phỏng công tác tư vấnmua hàng
4 Đối tượng và phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
- Các nội dung về phát hiện tri thức và khai phá dữ liệu; Các kỹ thuậtkhai phá dữ liệu
- Dữ liệu sản phẩm Kiên Giang
- Xây dựng ứng dụng, bao gồm chức năng đăng nhập, chức năng quản
lý sản phẩm cho người sử dụng sửa, xóa một dòng sản phẩm, chức năng xác
Trang 14nhận sản phẩm cho phép người dùng nhập thông tin sản phẩm, huyện, chứngnhận và cho kết quả dự đoán sản phẩm đã được xác nhận hoặc chưa xác nhận
là sản phẩm Kiên Giang
5 Phương pháp nghiên cứu
Trong phạm vi luận văn này, tác giả đã sử dụng 03 phương pháp nghiêncứu khoa học để tiếp cận và làm rõ vấn đề của đề tài mình đã lựa chọn Đó làcác phương pháp nghiên cứu sau:
5.1 Phương pháp phân tích và tổng hợp lý thuyết
Nghiên cứu lý thuyết về khai phá dữ liệu qua việc thu thập, đọc hiểu,phân tích thông tin, dữ liệu từ các tài liệu, giáo trình, sách liên quan đến khaiphá dữ liệu, cụ thể là kỹ thuật luật kết hợp và cây quyết định
5.2 Phương pháp nghiên cứu thực tiễn
Tiến hành nghiên cứu các kỹ thuật cho phép phân lớp trong khai phá dữliệu, ứng dụng các kỹ thuật đó để xây dựng mô hình dự đoán kết quả nhậnbiết sản phẩm dựa vào các thông tin đầu vào Đề tài tiến hành so sánh kết quảcủa các kỹ thuật để lựa chọn kỹ thuật cho kết quả chính xác nhất Từ đó, xâydựng chương trình dự báo kết quả dự báo cho mỗi sản phẩm để tư vấn chongười tiêu dùng Việc xây dựng mô hình được tiến hành theo các bước:
Trang 155.3 Phương pháp nghiên cứu tài liệu
Tìm hiểu ngôn ngữ lập trình, hệ quản trị Cơ sở dữ liệu; Xây dựng ứngdụng
6 Tổng quan vấn đề nghiên cứu
Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin
từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp.Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá trithức Ngày nay khai phá dữ liệu được ứng dụng rất nhiều trong đời sống xãhội như: y học, tài chính, thống kê,
Là một (1) trong bốn (4) tỉnh vùng kinh tế trọng điểm vùng Đồng bằngsông Cửu Long, Kiên Giang có địa hình đa dạng đồng bằng, rừng, núi, biển
và hải đảo, thiên nhiên ưu đãi nên có nhiều sản phẩm phong phú và đa dạng.Tuy nhiên sản phẩm nhiều, đa số là trùng sản phẩm với các tỉnh, thành đồngbằng sông Cửu Long và các tỉnh có biển, sản phẩm nhiều nhưng đầu tư về kỹthuật quản lý chưa nhiều, chưa hiện đại, chủ yếu dựa vào phần mềmMicrosoft office (Word, Excel) đơn giản dễ sửa dụng và rời rạc vì từng đơn vị
sở, ngành quản lý danh sách của riêng theo ngành như sản phẩm công nghiệpnông thôn tiêu biểu, sản phẩm mỗi làng một sản phẩm, sản phẩm theo nghề -làng nghề
Dựa trên bộ dữ liệu về sản phẩm của Kiên Giang (tên sản phẩm, ngành,loại, đặc tính, cơ sở, huyện, chứng nhận), ứng dụng phân lớp dữ liệu sử dụngcây quyết định để đưa ra dự báo sản phẩm được xác nhận hoặc chưa xác nhận
là sản phẩm Kiên Giang
Tác giả hy vọng dựa vào kết quả của đề tài luận văn, phần nào giúp đơn
vị, người mua hàng tìm được đúng sản phẩm Kiên Giang
Trang 16Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ
THUẬT PHÂN TÍCH DỰ BÁO
Giới thiệu nội dung cơ bản về khai phá dữ liệu, các lĩnh vực ứng dụng,các kiến thức có liên quan về các công cụ, thuật toán thường được áp dụngtrong khai phá dữ liệu
1.1 Tổng quan về khai phá dữ liệu
Khai phá dữ liệu là một quá trình trích xuất tri thức từ lượng lớn dữliệu, là một quá trình không dễ trích xuất thông tin ẩn, hữu ích, chưa được biếttrước từ dữ liệu [1]
Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin
từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp.Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnhquản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, cácthước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được pháthiện, hiện hình hóa và cập nhật trực tuyến Khai thác dữ liệu là bước phân tíchcủa quá trình "khám phá kiến thức trong cơ sở dữ liệu"
1.2 Quá trình phát hiện tri thức và khai phá dữ liệu
Các bước khám phá tri thức tiến hành qua 7 giai đoạn [10] Bước 1 – Làm sạch dữ liệu (Data cleaning): để loại bỏ nhiễu và dữ liệukhông nhất quán
Bước 2 - Tích hợp dữ liệu (Data integration): nơi nhiều nguồn dữ liệu
có thể được kết hợp, phổ biến trong ngành công nghệ thông tin là thực hiệnlàm sạch dữ liệu và tích hợp dữ liệu như một bước tiền xử lý, nơi dữ liệu kếtquả được lưu trữ trong kho dữ liệu
Bước 3 - Lựa chọn dữ liệu (Data selection): trong đó dữ liệu liên quanđến nhiệm vụ phân tích được truy xuất từ cơ sở dữ liệu
Bước 4 - Chuyển đổi dữ liệu (Data transformation): nơi dữ liệu đượcchuyển đổi và hợp nhất thành các biểu mẫu thích hợp để khai thác bằng cách
Trang 17thực hiện các hoạt động tóm tắt hoặc tổng hợp Đôi khi việc chuyển đổi và hợpnhất dữ liệu được thực hiện trước quá trình lựa chọn dữ liệu, đặc biệt là trongtrường hợp nhập kho dữ liệu Giảm dữ liệu cũng có thể được thực hiện để thuđược đại diện cho dữ liệu gốc mà không làm mất đi tính toàn vẹn của nó.
Bước 5 - Khai thác dữ liệu (Data mining): một quy trình thiết yếu trong
đó các phương pháp thông minh được áp dụng để trích xuất mẫu dữ liệu
Bước 6 - Đánh giá mẫu (Pattern evaluation): để xác định các mẫu thực
sự thú vị thể hiện kiến thức dựa trên các thước đo mức độ thú vị
Bước 7 - Trình bày kiến thức (Knowledge presentation): nơi các kỹthuật trực quan hóa và biểu diễn kiến thức được sử dụng để trình bày kiến thức đã khai thác cho người dùng
Bước 1 đến bước 4 là các hình thức xử lý trước dữ liệu khác nhau,trong đó dữ liệu được chuẩn bị để khai thác Bước khai thác dữ liệu có thểtương tác với người dùng hoặc cơ sở kiến thức Các các mẫu thú vị được trìnhbày cho người dùng và có thể được lưu trữ dưới dạng kiến thức mới trongkiến thức cơ bản
Hình 1.1 Quá trình khám phá tri thức
Phân tích mẫu Kho dữ
liệu
Cơ sở dữ liệu
Thông tin
Làm sạch
và tích hợp
Lựa chọn và chuyển đổi
Khai phá
dữ liệu
Đánh giá và trình bày
Các tập tin phẳng
Trang 181.3 Quá trình khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phátri thức Về bản chất là giai đoạn duy nhất tìm ra được thông tin mới, thôngtin tiềm ẩn có trong cơ sở dữ liệu chủ yếu phục vụ cho mô tả và dự đoán
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của nhữngthuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luậtđược phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đóchiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trịtương lai của các biến quan tâm
và tiền xử lý chúng sao cho thuật toán khai phá dữ liệu có thể hiểu được Đây
là một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như:
dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lýtập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữliệu thay đổi), v.v
dữ liệu liên quan
Thu thập
và tiền
xử lý
dữ liệu
Thống kê tóm tắt
Dữ liệu trực tiếp
Thuậ
t toán khai phá
dữ liệu
Trang 19Bước 4: Thuật toán khai phá dữ liệu - Lựa chọn thuật toán khai phá dữliệu và thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, cácmẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứngvới ý nghĩa của nó.
1.4 Loại dữ liệu được khai thác
Là một công nghệ chung, khai thác dữ liệu có thể được áp dụng cho bất
kỳ loại dữ liệu nào miễn là dữ liệu có ý nghĩa đối với một ứng dụng đích Cácdạng dữ liệu cơ bản nhất để khai thác ứng dụng là cơ sở dữ liệu, dữ liệu kho
dữ liệu, và dữ liệu giao dịch [10]
- Cơ sở dữ liệu: Cơ sở dữ liệu là một trong những thông tin phổ biếnnhất và phong phú nhất kho lưu trữ, và do đó chúng là một dạng dữ liệu chínhtrong nghiên cứu khai thác dữ liệu
- Kho dữ liệu: Mặc dù các công cụ kho dữ liệu giúp hỗ trợ phân tích dữliệu, các công cụ bổ sung cho khai thác dữ liệu thường cần thiết để phân tíchchuyên sâu Khai thác dữ liệu đa chiều (còn được gọi là khai thác dữ liệu đachiều khám phá) thực hiện khai thác dữ liệu trong không gian đa chiều theokiểu OLAP (Online Analytical Prosessing) Nghĩa là, nó cho phép khám phánhiều kết hợp thứ nguyên ở các mức độ chi tiết khác nhau trong khai thác dữliệu, và do đó có tiềm năng lớn hơn để khám phá các mẫu thú vị đại diện chokiến thức
- Dữ liệu giao dịch: như một giao dịch mua của khách hàng, đặt vé máybay hoặc nhấp chuột của người dùng trên một trang web
- Các loại dữ liệu khác: Những loại dữ liệu có thể được nhìn thấy trongnhiều ứng dụng: liên quan đến thời gian hoặc dữ liệu trình tự (ví dụ: hồ sơlịch sử, dữ liệu trao đổi chứng khoán và dữ liệu chuỗi thời gian và chuỗi sinhhọc), luồng dữ liệu (ví dụ: giám sát video và dữ liệu cảm biến, được truyềnliên tục), dữ liệu không gian (ví dụ: bản đồ), dữ liệu thiết kế kỹ thuật (ví dụ:
Trang 20thiết kế các tòa nhà, thành phần hệ thống hoặc mạch tích hợp), siêu văn bản
và dữ liệu đa phương tiện (bao gồm dữ liệu văn bản, hình ảnh, video và âmthanh), dữ liệu đồ thị và mạng (ví dụ: mạng xã hội và mạng thông tin) và Web(một kho thông tin khổng lồ, được phân phối rộng rãi được cung cấp bởiInternet)
1.5 Các phương pháp khai phá dữ liệu
Các phương pháp chính trong khai phá dữ liệu
1.5.1 Phương pháp luật kết hợp
Một trong những chủ đề phổ biến của KPDL là khai phá luật kết hợp.Mục đích của khai phá luật kết hợp là xác định mối quan hệ, sự kết hợp giữacác mục dữ liệu (item) trong một CSDL lớn
1.5.2 Phương pháp cây quyết định
Mô tả tri thức dạng đơn giản nhằm phân các đối tượng dữ liệu thànhmột số lớp nhất định Các nút của cây được gán nhãn là tên các mục dữ liệu,các cạnh được gán các giá trị có thể của các mục dữ liệu, các lá mô tả các lớpkhác nhau Các đối tượng được phân lớp theo các đường đi trên cây, qua cáccạnh tương ứng với các giá trị của mục dữ liệu tới lá
1.5.3 Phương pháp K-Mean
Có nhiều phương pháp được sử dụng trong phân cụm, phương pháp Mean được coi là các kỹ thuật cơ bản của phân cụm Với phương pháp này sẽchia tập có n đối tượng thành k cụm sao cho các đối tượng trong cùng mộtcụm thì giống nhau, các đối tượng khác cụm thì khác nhau
k-1.5.4.Các phương pháp dựa trên mẫu
Phương pháp này sử dụng khai phá chuỗi theo thời gian (Sequentialtemporal patterns) Xét về mặt kỹ thuật thì tương tự như KPDL bằng luật kếthợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự
có dạng tiêu biểu X -> Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc
Trang 21xuất hiện kế tiếp biến cố Y Hướng tiếp cận này được ứng dụng nhiều tronglĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cao.
1.6 Một số kỹ thuật trong khai phá dữ liệu
Các kỹ thuật KPDL được có thể chia làm 2 nhóm chính:
1.6.1 Kỹ thuật KPDL mô tả
Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệutrong CSDL hiện có Nhóm kỹ thuật này gồm các phương pháp: phân nhóm(Clustering), tổng hợp hóa (Summerization), phát hiện sự biến đổi và độ lệch(Change and deviation detection), phân tích luật kết hợp (Association Rules),
+ Phân nhóm (Clustering): Mục tiêu chính của phương pháp phân cụm
dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụmsao cho các đối tượng thuộc cùng một một cụm là tương đồng còn các đốitượng thuộc các cụm khác nhau sẽ không tương đồng
+ Phân tích luật kết hợp (Association Rules): Mục tiêu của phươngpháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong
cơ sở dữ liệu Mẫu đầu ra của giải thuật KPDL là luật kết hợp tìm được
Phân lớp và dự đoán (Classification & Prediction)
Khai thác mẫu tuần tự (Sequential / Temporal patterns)
Phân nhóm- đoạn (Clustering / Segmentation)
Mô hình hóa sự phụ thuộc (dependency modeling)
1.6.2 Kỹ thuật KPDL dự đoán
Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên cơ sở dữliệu hiện thời Nhóm kỹ thuật này gồm các phương pháp: phân lớp(Classification), hồi quy (Regression)
+ Phân lớp (Classification): Mục tiêu của phương pháp phân loại dữliệu là dự đoán nhãn lớp cho các mẫu dữ liệu
Quá trình phân loại dữ liệu thường gồm hai bước : xây dựng mô hình
Trang 22và sử dụng mô hình để phân loại dữ liệu.
Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu chotrước
Bước 2: Sử dụng mô hình để phân loại dữ liệu
Hay nói các khác, phân loại là học một hàm ánh xạ một mục dữ liệuvào trong số các lớp cho trước
+ Hồi quy (Regression): Phương pháp hồi quy khác với phương phápphân loại dữ liệu ở chỗ, hồi qui dùng để dự đoán về các giá trị liên tục cònphân loại dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc Hồi quy là mộthàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực
1.7 Chức năng khai phá dữ liệu
Có một số chức năng khai thác dữ liệu Chúng bao gồm đặc điểm vàphân biệt đối xử; việc khai thác các mẫu, liên kết thường xuyên và các mốitương quan; phân loại và hồi quy; phân tích phân cụm; và phân tích ngoại lệ.Các chức năng khai thác dữ liệu là được sử dụng để chỉ định các loại mẫuđược tìm thấy trong các tác vụ khai thác dữ liệu Nói chung, như vậy nhiệm
vụ có thể được phân thành hai loại: mô tả và dự đoán [10]
- Mô tả Lớp / Khái niệm: Đặc tính hóa và Phân biệt đối xử
- Khai thác thường xuyên các mô hình, liên kết và tương quan
- Phân loại và hồi quy để phân tích dự đoán
- Phân cụm (cluster)
- Phân tích ngoại lệ: Tập dữ liệu có thể chứa các đối tượng không tuânthủ mô hình hoặc hành vi chung của dữ liệu Các đối tượng dữ liệu này làngoại lệ
Một hệ thống khai thác dữ liệu có tiềm năng tạo ra hàng nghìn hoặcthậm chí hàng triệu các mẫu hoặc quy tắc
Trang 231.8 Lĩnh vực ứng dụng của khai phá dữ liệu
Là một miền hướng ứng dụng cao, khai thác dữ liệu đã kết hợp nhiều
kỹ thuật từ các miền khác như thống kê, học máy, nhận dạng mẫu, cơ sở dữliệu và hệ thống kho dữ liệu, truy xuất thông tin, trực quan hóa, thuật toán,tính toán hiệu suất cao và nhiều miền ứng dụng (xem hình 1.3) Bản chất liênngành của nghiên cứu và phát triển khai thác dữ liệu đóng góp đáng kể vàothành công của việc khai thác dữ liệu và các ứng dụng mở rộng của nó Trongphần này, chúng tôi đưa ra các ví dụ của một số lĩnh vực ảnh hưởng mạnh mẽđến sự phát triển của các phương pháp khai thác dữ liệu [10]
Hình 1.3 Kỹ thuật Khai phá dữ liệu từ nhiều lĩnh vực.
- Số liệu thống kê: Thống kê nghiên cứu việc thu thập, phân tích, giảithích hoặc giải thích và trình bày Dữ liệu Khai thác dữ liệu có một kết nối cốhữu với số liệu thống kê
- Học máy: Máy học nghiên cứu cách máy tính có thể học (hoặc cảithiện hiệu suất của chúng) dựa trên dữ liệu Một lĩnh vực nghiên cứu chính làdành cho các chương trình máy tính tự động học cách nhận ra các mẫu phứctạp và đưa ra quyết định thông minh dựa trên dữ liệu Học máy là một ngànhhọc đang phát triển nhanh chóng
Ví dụ, một vấn đề học máy điển hình là lập trình máy tính để nó có thể
Trang 24tự động nhận dạng mã bưu điện viết tay trên thư sau khi học từ một tập hợpcác ví dụ
- Hệ thống cơ sở dữ liệu và kho dữ liệu: Nghiên cứu hệ thống cơ sở dữliệu tập trung vào việc tạo, duy trì và sử dụng cơ sở dữ liệu cho các tổ chức vàngười dùng cuối Đặc biệt, các nhà nghiên cứu hệ thống cơ sở dữ liệu đã thiếtlập các nguyên tắc được công nhận cao trong mô hình dữ liệu, ngôn ngữ truyvấn, xử lý truy vấn và các phương pháp tối ưu hóa, lưu trữ dữ liệu cũng nhưcác phương pháp lập chỉ mục và truy cập
- Truy xuất thông tin: Truy xuất thông tin là khoa học tìm kiếm tài liệuhoặc thông tin trong các tài liệu Tài liệu có thể là văn bản hoặc đa phươngtiện, và có thể nằm trên Web
1.9 Ứng dụng khai phá dữ liệu
Là một ngành học hướng đến ứng dụng cao, khai thác dữ liệu đã đạtđược thành công lớn trong nhiều các ứng dụng Không thể liệt kê tất cả cácứng dụng mà khai thác dữ liệu đóng vai trò vai trò quan trọng Các bản trìnhbày về khai thác dữ liệu trong các lĩnh vực ứng dụng chuyên sâu về tri thức,chẳng hạn như tin sinh học và kỹ thuật phần mềm, yêu cầu điều trị chuyên sâuhơn và nằm ngoài phạm vi của cuốn sách này Để chứng minh tầm quan trọngcủa các ứng dụng như một khía cạnh chính trong nghiên cứu và phát triểnkhai thác dữ liệu, chúng tôi thảo luận ngắn gọn về hai Các ví dụ ứng dụng rấtthành công và phổ biến của khai thác dữ liệu: kinh doanh thông minh và cáccông cụ tìm kiếm [10]
- Kinh doanh thông minh: Doanh nghiệp phải hiểu rõ hơn về bối cảnhthương mại của tổ chức của họ, chẳng hạn như khách hàng, thị trường, nguồncung cấp và nguồn lực, và đối thủ cạnh tranh Công nghệ thông minh kinhdoanh cung cấp lịch sử, hiện tại và các quan điểm dự báo về hoạt động kinhdoanh Ví dụ bao gồm báo cáo, phân tích trực tuyến xử lý, quản lý hiệu suất
Trang 25kinh doanh, thông minh cạnh tranh, đo điểm chuẩn và phân tích dự đoán.
- Công cụ tìm kiếm Web: Công cụ tìm kiếm Web là một máy chủ máytính chuyên dụng để tìm kiếm thông tin trên Web Kết quả tìm kiếm của truyvấn người dùng thường được trả về dưới dạng danh sách (đôi khi được gọi làlần truy cập)
- Phân tích dữ liệu tài chính: Dự đoán khả năng vay và thanh toán củakhách hàng, phân tích chính sách tín dụng đối với khách hàng; Phân tích hành
vi khách hàng (vay, gửi tiền); Phân loại và phân nhóm khách hàng mục tiêucho tiếp thị tài chính; Phát hiện các hoạt động rửa tiền và tội phạm tài chínhkhác
- Công nghiệp bán lẻ: Ứng dụng khai phá dữ liệu trong ngành côngnghiệp bán lẻ nhằm xây dựng mô hình giúp xác định xu hướng mua hàng củakhách hàng, giúp doanh nghiệp cải thiện chất lượng sản phẩm dịch vụ nhằmnâng cao sự hài lòng của khách hàng và giữ chân khách hàng tốt
- Công nghiệp viễn thông phân tích dữ liệu đa chiều viễn thông; Xâydựng các mô hình phát hiện gian lận; Phát hiện bất thường trong giao dịchviễn thông; Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng; Sửdụng các công cụ trực quan trong phân tích dữ liệu viễn thông;
- Phân tích dữ liệu sinh học: Lập chỉ mục, tìm kiếm tương tự, bấtthường trong cơ sở dữ liệu Gen; Xây dựng mô hình khai phá các mạng ditruyền và cấu trúc của Gen, protein; Xây dựng các công cụ trực quan trongphân tích dữ liệu di truyền
- Phát hiện xâm nhập: áp dụng để phát hiện xâm nhập là: Phát triển cácthuật toán khai phá dữ liệu để phát hiện xâm nhập; Phân tích kết hợp, tươngquan và khác biệt để phát hiện xâm nhập; Phân tích dòng dữ liệu dữ liệu(Analysis of Stream data) để phát hiện bất thường
- Một số ứng dụng trong khoa học (Scientific Applications) như dự báođộng đất,…
Trang 261.10 Một số công cụ khai phá dữ liệu (Data Mining Tools)
Khai phá dữ liệu đã và đang được ứng dụng rộng rãi trong rất nhiềulĩnh vực và hiện nay đã có rất nhiều công cụ mã nguồn mở và công cụ thươngmại hỗ trợ phát triển ứng dụng khai phá dữ liệu [1][28]
- Các công cụ mã nguồn mở (open-source)
R (www.r-project.org) – hỗ trợ một số nhiệm vụ khai thác dữ liệu khámphá phân loại, khám phá cụm, khám phá hồi quy, khám phá liên kết, khai thácvăn bản, khám phá ngoại lệ, hình ảnh hóa dữ liệu, hình ảnh hóa khám phá,phân tích trình tự, phân tích web, phân tích mạng xã hội
SPSS (Statistical Package for the Social Sciences) - Mô hình SPSS củaIBM - là một chương trình máy tính phục vụ công tác thống kê Phần mềmSPSS hỗ trợ xử lý và phân tích dữ liệu sơ cấp - là các thông tin được thu thậptrực tiếp từ đối tượng nghiên cứu, thường được sử dụng rộng rãi trong các cácnghiên cứu điều tra xã hội học và kinh tế lượng
Weka (www.cs.waikato.ac.nz/ml/weka) - Waikato Environment forKnowledge Analysis (Weka) - hỗ trợ một số nhiệm vụ khai thác dữ liệu tiêuchuẩn, cụ thể hơn, xử lý trước dữ liệu, phân cụm, phân loại, hồi quy, trựcquan hóa và lựa chọn tính năng Sử dụng Weka, bạn có thể gọi trực tiếp cácthuật toán học máy hoặc nhập chúng bằng mã Java
Orange (www.ailab.si/orange)- Phần mềm Orange được biết đến bởiviệc tích hợp các công cụ khai phá dữ liệu và học máy Nó được viết bằngPython và cung cấp trực quan tương tác và thẩm mỹ cho người dùng
Rapid Miner - được viết trên nền tảng Java RapidMiner hỗ trợ một sốnhiệm vụ khai thác dữ liệu khám phá phân loại, khám phá cụm, khám phá hồiquy, khám phá liên kết, khai thác văn bản, khám phá ngoại lệ, trực quan hóaquan hệ,…
…
Trang 27- Các công cụ thương mại
Hỗ trợ từ Intelligent Miner (IBM)
Hỗ trợ từ Microsoft data mining tools (MS SQL Server2000/2005/2008) – hỗ trợ một số nhiệm vụ khai thác dữ liệu: khám phá phânloại, khám phá cụm, khám phá hồi quy, khám phá liên kết, khai thác văn bản,khám phá ngoại lệ, hình ảnh hóa dữ liệu, hình ảnh hóa khám phá, phân tíchtrình tự
Hỗ trợ từ Oracle Data Mining - Oracle DataMining là một công cụtuyệt vời để phân loại, phân tích và dự đoán dữ liệu Nó cho phép người dùngthực hiện khai phá dữ liệu trên cơ sở dữ liệu SQL để trích xuất các khunghình và biểu đồ
Hỗ trợ từ Enterprise Miner (SAS Institute)
…
và số công cụ khác như: CART®, ANGOSS, STATISTICA DataMiner
1.11 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá dữ liệu
Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếpcận chính sau [3]:
- Phân lớp và dự đoán (classification & prediction): Là quá trình xếpmột đối tượng vào một trong những lớp đã biết trước (ví dụ: phân lớp cácbệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ liệu thờitiết ) Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của họcmáy như cây quyết định (decision tree), mạng nơron nhân tạo (neuralnetwork), hay lớp bài toán này còn đươc gọi là học có giám sát - Học có thầy(supervised learning)
- Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từngcụm dữ liệu tự nhiên, tức là số lượng và tên cụm chưa được biết trước Các
Trang 28đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trongcùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trongcác cụm khác nhau là nhỏ nhất Lớp bài toán này còn được gọi là học khônggiám sát - Học không thầy (unsupervised learning).
- Luật kết hợp (association rules): Là dạng luật biểu diễn tri thức ởdạng khá đơn giản (Ví dụ: 80% sinh viên đăng ký học Cơ sở dữ liệu thì có tới60% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin) Hướngtiếp cận này được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinhhọc, giáo dục, viễn thông, tài chính và thị trường chứng khoán,
- Phân tích chuỗi theo thời gian (sequential/temporal patterns): Cũngtưng tự như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự vàtính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y, phản ánh
sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y Hướng tiếpcận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứngkhoán bởi chúng có tính dự báo cao
- Mô tả khái niệm (concept desccription & summarization): Lớp bàitoán này thiên về mô tả, tổng hợp và tóm tắt khái niệm (Ví dụ: tóm tắt vănbản)
1.12 Những thách thức đối với khai phá dữ liệu
Sau đây là một số thách thức và khó khăn cần quan tâm [3]:
- Các cơ sở dữ liệu lớn hơn rất nhiều: cơ sở dữ liệu với hàng trămtrường và bảng, hàng triệu bản ghi và kích thước lên tới nhiều gigabyte là vấn
đề hoàn toàn bình thường và cơ sở dữ liệu terabyte (1012 byte) cũng đã bắt đầuxuất hiện
- Số chiều cao: không chỉ thường có một số lượng rất lớn các bản ghitrong cơ sở dữ liệu mà còn có một số lượng rất lớn các trường (các thuộc tính,các biến) làm cho số chiều của bài toán trở nên cao Thêm vào đó, nó tăng
Trang 29thêm cơ hội cho một giải thuật khai phá dữ liệu tìm ra các mẫu không hợp lệ.Vậy nên cần giảm bớt hiệu quả kích thước của bài toán và tính hữu ích của trithức cho trước để nhận biết các biến không hợp lệ.
- Thay đổi dữ liệu và tri thức: thay đổi nhanh chóng dữ liệu (động) cóthể làm cho các mẫu phát hiện trước đó không hợp lệ Thêm vào đó, các biến
đã đo trong một cơ sở dữ liệu ứng dụng cho trước có thể bị sửa đổi, xóa bỏhay tăng thêm các phép đo mới Các giải pháp hợp lý bao gồm các phươngpháp tăng trưởng để cập nhật các mẫu và xử lý thay đổi
- Dữ liệu thiếu và bị nhiễu: bài toán này đặc biệt nhạy trong các cơ sở
dữ liệu thương mại Các thuộc tính quan trọng có thể bị mất nếu cơ sở dữ liệukhông được thiết kế với sự khám phá bằng trí tuệ Các giải pháp có thể gồmnhiều chiến lược thống kê phức tạp để nhận biết các biến ẩn và các biến phụthuộc
- Mối quan hệ phức tạp giữa các trường: các thuộc tính hay giá các giátrị có cầu trúc phân cấp, các quan hệ giữa các thuộc tính và các phương tiệntinh vi hơn cho việc biểu diễn tri thức về nội dung của một cơ sở dữ liệu sẽđòi hỏi các giải thuật phải có khả năng sử dụng hiệu quả các thông tin này Vềmặt lịch sử, các giải thuật khai phá dữ liệu được phát triển cho các bản ghi cógiá trị thuộc tính đơn giản, mặc dù các kỹ thuật mới bắt nguồn từ mối quan hệgiữa các biến đang được phát triển
- Tính dễ hiểu của các mẫu: trong nhiều ứng dụng, điều quan trọng lànhững gì khai thác được phải càng dễ hiểu đối với con người thì càng tốt Cácgiải pháp có thể thực hiện được bao gồm cả việc biểu diễn được minh họabằng đồ thị, cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tựnhiên và các kỹ thuật hình dung ra dữ liệu và tri thức
- Người dùng tương tác và tri thức sẵn có: nhiều phương pháp khámphá tri thức và các công cụ không tương tác thực sự với người dùng và không
Trang 30thể dễ dàng kết hợp chặt chẽ với tri thức có sẵn về một bài toán loại trừ theocác cách đơn giản Việc sử dụng của miền tri thức là quan trọng trong toàn bộcác bước của xử lý khám phá tri thức.
- Tích hợp với các hệ thống khác: Một hệ thống phát hiện đứng mộtmình có thể không hữu ích lắm Các vấn đề tích hợp điển hình gồm có việctích hợp với một DBMS (tức là qua một giao diện truy vấn), tích hợp với cácbảng tính và các công cụ trực quan và điều tiết các dự đoán cảm biến thờigian thực
1.13 Kết luận
Khai phá dữ liệu là lĩnh vực đã và đang trở thành một trong nhữnghướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về côngnghệ thông tin trên thế giới Chứng tỏ những ưu thế, lợi ích và khả năng ứngdụng thực tế to lớn của khai phá dữ liệu Chương này đã trình bày một số kiếnthức tổng quan về khám phá tri thức, những khái niệm và kiến thức cơ bảnnhất về khai phá dữ liệu Jiawei Han, Micheline Kamber, Jian Pei [10] đãtrình bày trong quá trình tiến hóa của lĩnh vực công nghệ cơ sở dữ liệu, màcông nghệ khai phá dữ liệu (data mining) đã trở thành tiến hóa mới của côngnghệ cơ sở dữ liệu Đối với dữ liệu như sản phẩm của một tỉnh, khi cập nhậtmột hồ sơ sản phẩm mới vào cơ sở dữ liệu thì việc phân lớp sản phẩm đó mộtcách tự động thực sự có ý nghĩa hỗ trợ cho việc đánh giá ban đầu
Trang 31Chương 2 PHÂN LỚP DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU VÀ
PHÂN LỚP DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH
Chương này giới thiệu về phân lớp dữ liệu trong khai phá dữ liệu, phânlớp dữ liệu sử dụng cây quyết định, các thuật toán khai phá dữ liệu bằng câyquyết định
2.1 Tổng quan về phân lớp dữ liệu trong khai phá dữ liệu
Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mựcđích sử dụng thông tin của mình Quá trình khai phá dữ liệu là quá trình pháthiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đángquan tâm theo dạng xác định Có thể kể ra đây một vài phương pháp như: sửdụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần nhất), giá trị trung bình, phát hiện luật kết hợp, v.v
Trong lĩnh vực máy học và nhận dạng mẫu, bài toán phân lớp đề cậpđến các thuật toán nhằm xác định lớp của đối tượng đã cho sẽ thuộc về lớpnào trong các lớp đã cho trước
Khác với bài toán phân cụm, dữ liệu huấn luyện dùng để xây dựng môhình trong bài toán phân lớp phải được xác định nhãn trước
- Phân loại dữ liệu (classification): Dạng phân tích dữ liệu nhằm rúttrích các mô hình mô tả các lớp dữ liệu hoặc dự đoán xu hướng dữ liệu [1]
Hình 2.1 Bài toán phân lớp
Dữ liệu
vào
Thuật toán phân lớp hoạt động
Lớp 1
Lớp 2
Lớp n
Trang 32- Quá trình phân lớp gồm hai bước
Bước thứ nhất: Bước học (giai đoạn huấn luyện): xây dựng bộ phânloại (classifier) bằng việc phân tích/học tập huấn luyện
Bước thứ hai: Bước phân loại (classification): phân loại dữ liệu/đốitượng mới nếu độ chính xác của bộ phân loại được đánh giá là có thể chấpnhận được (acceptable)
Ví dụ: ta có y = f (X) với y là nhãn (phần mô tả) của một lớp (class) và
hương
Hạt Ngọc Trời
Hình 2.2 Quá trình phân lớp dữ liệu – (a) Bước học/ phân lớp
- Bước thứ hai - phân loại: đánh giá f với (X’, y’) và X’ <> mọi X trongtập huấn luyện; nếu acceptable thì dùng f để xác định y’’ cho X’’ (mới)
Dữ liệu huấn luyện
Thuật toán phân lớp
Luật phân lớp
If sản phẩm = Gạo hữu cơ ST 24
or Đơn vị = HTX hữu cơ Rạch Giá then Chọn = Yes
Dữ liệu kiểm tra
Trang 33Hình 2.3 Quá trình phân lớp dữ liệu – (b) Bước phân loại (đánh giá và áp dụng)
- Độ chính xác của bộ phân lớp trên tập kiểm tra cho trước là phần trămcủa các mẫu trong tập kiểm tra được bộ phân lớp xếp lớp đúng
Độ chính xác =
* Đánh giá phương pháp phân lớp
- Độ chính xác của dự đoán: khả năng bộ phân lớp dự đoán đúng dữliệu chưa thấy
- Tính bền vững: khả năng của bộ phân lớp thực hiện dự đoán đúng vớ
dữ liệu có nhiễu hay thiếu giá trị
- Tính kích cỡ: khả năng tạo bộ phân lớp hiệu quả với số lượng dữ liệu lớn
- Khả năng diễn giải: bộ phân lớp cung cấp tri thức có thể hiểu được
2.2 Các giải thuật phân lớp dữ liệu
Phân lớp với cây quyết định (decision tree)
Phân lớp với mạng Bayesian
Phân lớp với mạng neural
Trang 34Phân loại với k phần tử cận gần nhất (k-nearest neighbor)
Phân lớp với suy diễn dựa trên tình huống (casebased reasoning)
Phân lớp dựa trên tiến hoá gen (genetic algorithms)
Phân lớp với lý thuyết tập thô (rough sets)
Phân lớp với lý thuyết tập mờ (fuzzy sets)
2.3 Luật kết hợp trong khai phá dữ liệu
Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽđược sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh vànghiên cứu khoa học
Trong lĩnh vực Data Mining, mục đích của luật kết hợp (AssociationRule - AR) là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn
dữ liệu Nội dung cơ bản của luật kết hợp được tóm tắt như dưới đây [5]
Cho cơ sở dữ liệu gồm các giao dịch T là tập các giao dịch t1, t2, …,tn
T = {t1, t2, …, tn} T gọi là cơ sở dữ liệu giao dịch (TransactionDatabase)
Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset)
I = {i1, i2, …, im} Một itemset gồm k items gọi là k-itemset
Mục đích của luật kết hợp là tìm ra sự kết hợp (association) hay tươngquan (correlation) giữa các items Những luật kết hợp này có dạng X =>Y
Trong Basket Analysis, luật kết hợp X =>Y có thể hiểu rằng nhữngngười mua các mặt hàng trong tập X cũng thường mua các mặt hàng trong tập
Y (X và Y gọi là itemset)
Ví dụ, nếu X = {Apple, Banana} và Y = {Cherry, Durian} và ta có luậtkết hợp X =>Y thì chúng ta có thể nói rằng những người mua Apple vàBanana thì cũng thường mua Cherry và Durian
Theo quan điểm thống kê, X được xem là biến độc lập (Independent
Trang 35variable) còn Y được xem là biến phụ thuộc (Dependent variable)
Độ hỗ trợ (Support) và độ tin cây (Confidence) là 2 tham số dùng để đolường luật kết hợp
Độ hỗ trợ (Support) của luật kết hợp X =>Y là tần suất của giao dịchchứa tất cả các items trong cả hai tập X và Y Ví dụ, support của luật X =>Y
là 5% có nghĩa là 5% các giao dịch X và Y được mua cùng nhau
Công thức để tính support của luật X =>Y như sau:
Support ( X → Y) = P (X Y) =
Trong đó: N là tổng số giao dịch
Độ tin cậy (Confidence) của luật kết hợp X =>Y là xác suất xảy ra Ykhi đã biết X Ví dụ độ tin cậy của luật kết hợp {Apple} =>Banana} là 80%
có nghĩa là 80% khách hàng mua Apple cũng mua Banana
Công thức để tính độ tin cậy của luật kết hợp X =>là xác suất có điềukiện Y khi đã biết X như sau :
Confidence (X→Y) = P (Y|X) =
Trong đó: n(X) là số giao dịch chứa X
Để thu được các luật kết hợp, ta thường áp dụng 2 tiêu chí: minimumsupport (min_sup) và minimum confidence (min_conf)
Các luật thỏa mãn có support và confidence thỏa mãn (lớn hơn hoặcbằng) cả Minimum support và Minimum confidence gọi là các luật mạnh(Strong Rle)
Minimum support và Minimum confidence gọi là các giá trị ngưỡng(threshold) và phải xác định trước khi sinh các luật kết hợp
Một itemsets mà tần suất xuất hiện của nó >= min_sup goi là frequentitemsets
Trang 36Nguyên tắc Apriori
– Đếm số lượng của từng Item, tìm các Item xuất hiện nhiều nhất
– Tìm các cặp ứng viên: Đếm các cặp => cặp item xuất hiện nhiều nhất.– Tìm các bộ ba ứng viên: Đếm các bộ ba => bộ ba item xuất hiệnnhiều nhất Và tiếp tục với bộ 4, bộ 5, …
– Nguyên tắc chủ yếu: Mọi tập con của tập phổ biến phải là tập conphổ biến
Mô tả thuật toán Apriori
– Bước 1: Đếm số support cho mỗi tập gồm một phần tử và xem chúngnhư một Large itemset Support của chúng là minsup
– Bước 2: Với mỗi tập Large item bổ sung các item vào và tạo mộtLarge itemset mới, tập này được gọi là tập ứng viên (Candidate itemset - C).Đếm số support cho mỗi tập C trên cơ sở dữ liệu, từ đó quyết định tập C nào
Trang 37là Large Item thực sự, và ta dùng làm hạt giống cho bước kế tiếp.
– Bước 3: Lặp lại bước 2 cho đến khi không còn tìm thấy thêm, một tậpLarge itemset nữa
Nội dung thuật toán Apriori
Input: Tập các giao dịch D, ngưỡng support tối thiểu minsup
Output: L- tập mục phổ biến trong D
1 for all transaction t D do
2 for all item i t do
3 i.count ++;
4 L1={i | i.count minsup};
Trang 38– Hàm Apriori_Gen (L k-1) thực hiện việc kết các cặp (k-1)-ItemSet đểphát sinh các tập k_ItemSet mới Tham số của hàm là L k-1 – tập tất cả các (k-1)-
ItemSet và kết quả trả về của hàm là tập các k-ItemSet
Ưu điểm, nhược điểm của thuật toán Apriori
Apriori làm việc tốt với cơ sở dữ liệu lớn
Về kĩ thuật: Thuật toán Apriori sử dụng hai tính chất của Apriori đểthực hiện quá trình kết hợp sinh ra các tập ứng viên và loại bỏ các tập ứngviên không phù hợp, xây dựng dần các tập phổ biến từ dưới lên
Về chiến lược tìm kiếm: Apriori sử dụng chiến lược tìm kiếm theochiều sâu
Về sử dụng bộ nhớ: Thuật toán Apriori đòi hỏi không gian bộ nhớ lớnkhi xử lý số lượng các tập ứng cử viên candidate itemsets được tạo ra
Về số lần quét cơ sở dữ liệu: Thuật toán Apriori thực hiện nhiều lầnquét để có thể tạo ra các tập ứng viên candidate itemsets
Về thời gian thực hiện: Trong Apriori, thời gian thực hiện thuật toán bịlãng phí nhiều ở quá trình mỗi lần sinh ra các tập ứng viên
2.4 Cây quyết định
Cách tiếp cận “chia để trị” đối với vấn đề học hỏi từ một tập hợp cáctrường hợp độc lập dẫn đến một phong cách biểu diễn được gọi là Cây quyết
Trang 39định Các nút trong cây quyết định liên quan đến thử nghiệm một thuộc tính
cụ thể Thông thường, thử nghiệm tại một nút so sánh một thuộc tính giá trịvới một hằng số Tuy nhiên, một số cây so sánh hai thuộc tính hoặc nhiềuthuộc tính Các nút lá cung cấp một phân loại áp dụng cho tất cả các trườnghợp tiếp cận với lá, hoặc một tập hợp các phân loại [8]
Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiệntượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một núttrong (internal node) tương ứng với một biến; đường nối giữa nó với nút concủa nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị
dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễnbởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyếtđịnh được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn làcây quyết định
Ví dụ Cây quyết định cho dữ liệu thời tiết
Học bằng cây quyết định cũng là một phương pháp thông dụng trongkhai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các
lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộctính dẫn tới phân loại đó Một cây quyết định có thể được học bằng cách chiatập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính [14]
Quan điểm
Yes cao
bình thường
U ám
Trang 402.4.1 Các kiểu cây quyết định
Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là sốthực thay vì được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giámột ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)
Cây phân loại (Classification tree), nếu y là một biến phân loại như:giới tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua)
2.4.2 Ưu điểm, nhược điểm của cây quyết định
Ưu điểm của cây quyết định
Cây quyết định dễ hiểu Người ta có thể hiểu mô hình cây quyết địnhsau khi được giải thích ngắn
Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cầnthiết Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biếnphụ (dummy variable) và loại bỏ các giá trị rỗng
Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu cógiá trị là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữliệu chỉ gồm một loại biến Chẳng hạn, các luật quan hệ chỉ có thể dùng chocác biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trịbằng số
Cây quyết định là một mô hình hộp trắng Nếu có thể quan sát một tìnhhuống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đóbằng logic Boolean Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lờigiải thích cho kết quả quá phức tạp để có thể hiểu được
Có thể thẩm định một mô hình bằng các kiểm tra thống kê Điều nàylàm cho ta có thể tin tưởng vào mô hình
Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gianngắn Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong