ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ ĐỒ ÁN KẾT THÚC HỌC PHẦN MÔN KHAI PHÁ DỮ LIỆU Đề tài: Xây dựng mô hình phân lớp kết hợp dạng Voting dựa trên mô hình phâ
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
MÔN KHAI PHÁ DỮ LIỆU
Đề tài: Xây dựng mô hình phân lớp kết hợp dạng Voting dựa trên
mô hình phân lớp cơ sở Naivebayes, Cây quyết định (J48) và K –
Lân Cận để dự đoán trên tập dữ liệu
Huế, 06/2022
1
Trang 3LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo Nguyễn Đình Hoa Cương – giảng viênphụ trách học phần Khai phá dữ liệu đã hướng dẫn và định hướng cho em cũng nhưcác bạn trong lớp K53 Tin học kinh tế những cách thực hiện để có một bài báo cáo kếtthúc học phần Với cá nhân em, từ sự hướng dẫn của thầy, em đã có được những địnhhướng về một đề án kết thúc môn học và thực hiện tốt hơn các bước trong quy trìnhlàm bài báo cáo Qua đây, em muốn gửi lời cảm ơn đến thầy giáo Nguyễn Đình HoaCương và quý thầy cô trong Khoa Hệ Thống Thông Tin Quản Lí đã giúp đỡ, hướngdẫn cho em trong suốt quá trình học tập và thực hiện hoàn thành bài báo cáo
Do kinh nghiệm làm đồ án, tiểu luận chưa nhiều nên trong quá trình làm bàikhông tránh khỏi các lỗi sai và thiếu sót, em rất mong được nhận được nhiều hơn sựhướng dẫn, chỉ bảo từ giảng viên học phần Khai phá dữ liệu - thầy giáo Nguyễn ĐìnhHoa Cương cùng quý thầy cô trong khoa Qua bài báo cáo này, một lần nữa em xinchân thành gửi lời cảm ơn sâu sắc, lời chúc sức khỏe đến quý thầy cô Khoa Hệ ThốngThông Tin Quản Lý, chúc thầy cô luôn đạt được nhiều thành tựu và luôn thành côngtrong sự nghiệp giảng dạy của mình
Em xin chân thành cảm ơn !
Lê Chánh Nhẫn
I
Trang 4MỤC LỤC
LỜI CẢM ƠN I MỤC LỤC II DANH MỤC HÌNH VẼ IV DANH MỤC BẢNG BIỂU V DANH MỤC THUẬT NGỮ VI
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1
1.1 Tổng quan về khai phá dữ liệu 1
1.1.1 Khái niệm khai phá dữ liệu 1
1.1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu 1
1.1.3 Lợi ích của khai phá dữ liệu 2
1.1.4 Thách thức của khai phá dữ liệu 3
1.2 Các phương pháp khai phá dữ liệu 4
1.2.1 Khai phá luật kết hợp 4
1.2.2 Phân lớp dữ liệu 5
1.2.3 Phân cụm 6
1.3 Các mô hình phân lớp được sử dụng trong tiểu luận 6
1.3.1 Mô hình Naive Bayes 6
1.3.2 Mô hình cây quyết định (J48) 7
1.3.3 Mô hình K – lân cận 8
1.3.4 Mô hình kết hợp: Phương pháp Voting 9
CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU 10
II
Trang 52.1 Mô tả dữ liệu 10
2.2 Phương pháp phân chia dữ liệu 10
2.2.1 Phương pháp Hold - out 10
2.2.2 Phương pháp Cross validation (10 – fold cross validation) 11
2.2.3 Phân chia dữ liệu 11
2.3 Xây dựng mô hình 12
2.4 Đánh giá mô hình 21
2.4.1 Phép đo Precetion - Recall 22
2.4.2 Phép đo F1 23
2.5 Kết quả thực hành 23
CHƯƠNG III: TỔNG KẾT THỰC HÀNH 25
3.1 Kết luận 25
3.2 Hạn chế 25
-DANH MỤC TÀI LIỆU THAM KHẢO 26
KẾT QUẢ KIỂM TRA ĐẠO VĂN 28
III
Trang 6DANH MỤC HÌNH VẼ
Hình 1: Minh họa quy trình phát hiện tri thức trong cơ sở dữ liệu (nguồn:
tailieuso.udn.vn) 2
Hình 2: Minh họa phân cụm (nguồn: bài giảng phân cụm – TS Nguyễn Đình Hoa Cương) 6
Hình 3: Minh họa mơ hình Nạve Bayes (nguồn: https://sebastianraschka.com/) 7
Hình 4: Minh họa cây quyết định (J48) (nguồn: viblo.asia) 8
Hình 5: Minh họa mơ hình kNN (nguồn: viblo.asia) 9
Hình 6: Quy trình phân chia dữ liệu 12
Hình 7:Minh họa cho một sơ đồ vẽ đường ROC 21
Hình 8: Minh họa phép đo Precetion – Recall 22
Hình 9: Đường ROC của các mơ hình với bộ dữ liệu Diabetes.arff (Nhãn lớp: tested_negative) 24
IV
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1: Các thuộc tính của các bộ dữ liệu 10 Bảng 2: Kết quả mô hình với bộ dữ liệu Diabetes.arff 23
V
Trang 8DANH MỤC THUẬT NGỮ
Số thứ tự Từ viết tắt Tên tiếng Anh/ Nghĩa tiếng Việt
1 KDD Khai thác tri th c (ứ Knowledge discovery in
databases)
Số thứ tự Từ tiếng Anh Nghĩa tiếng Việt
6 Association Rule Mining Khai phá luật kết hợp
VI
Trang 9CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về khai phá dữ liệu
1.1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu [1] hay Data Mining là một khái niệm ra đời vào những nămcuối của thập kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin
có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu)
Khai phá dữ liệu là một tập hợp, một hệ thống các phương pháp tính toán, thuậttoán được áp dụng cho các cơ sở dữ liệu lớn và phức tạp mục đích loại bỏ các chi tiếtngẫu nhiên, chi tiết ngoại lệ, khám phá các mẫu, mô hình, quy luật tiềm ẩn, các thôngtin có giá trị trong bộ dữ liệu Khai phá dữ liệu là thành quả công nghệ tiên tiến ngàynay, là quá trình khám phá các kiến thức vô giá bằng cách phân tích khối lượng lớn dữliệu đồng thời lưu trữ chúng ở nhiều cơ sở dữ liệu khác nhau
1.1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu
Quá trình phát hiện tri thức (KDD) [2] là quá trình tìm ra những thông tin tiềm
ẩn có giá trị mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển vànhững yếu tố tác động lên chúng
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cầngiải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp Bướctiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giảithuật khai phá dữ liệu có thể hiểu được Bước tiếp theo là chọn thuật toán khai phá dữliệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu (pattern) có ýnghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó (thường được biểu diễn dướidạng các luật xếp loại, cây quyết định, luật sản xuất, biểu thức hồi quy,…)
Quá trình phát hiện tri thức bao gồm các bước:
- Làm sạch dữ liệu (data cleaning): ở bước này các nhiễu và dữ liệu không nhấtquán sẽ được loại bỏ
- Tích hợp dữ liệu (data intergation): dữ liệu từ nhiều nguồn khác nhau có thểđược tổ hợp lại
1
Trang 10- Lựa chọn dữ liệu (data selection): những dữ liệu thích hợp với nhiệm vụ phântích sẽ được trích rút ra từ cơ sở dữ liệu.
- Chuyển đổi dữ liệu (data tranform): dữ liệu sau khi được chọn lọc sẽ đượcchuyển đổi hay hợp nhất về dạng thích hợp cho việc khai phá
- Khai phá dữ liệu (data mining): đây là quá trình cốt lõi, tất yếu trong đó cácphương pháp thông minh sẽ được áp dụng nhằm trích rút ra các mẫu dữ liệu
- Đánh giá mẫu (pattern evaluation): các nhà phân tích dữ liệu sẽ dựa trên một số
độ đo nào đó để xác định lợi ích thực sự, độ quan trọng của các mẫu biểu diễntri thức
- Biểu diễn tri thức (Knowledge presentation): ở giai đoạn này các kĩ thuật biểudiễn và hiển thị tri thức sẽ được sử dụng để đưa tri thức đã lấy ra đến ngườidùng
Hình 1: Minh họa quy trình phát hiện tri thức trong cơ sở dữ liệu (nguồn: tailieuso.udn.vn)
1.1.3 Lợi ích của khai phá dữ liệu
Xét về lợi ích trong quá trình phân chia dữ liệu:
- Chọn lọc, loại bỏ tất cả các dữ liệu không liên quan và dữ liệu trùng lớp trongtập dữ liệu
- Xác định các mẫu dữ liệu, dữ liệu có liên quan và dùng các thuật toán phântích, tận dụng dữ liệu để dự báo kết quả đầu ra ví dụ như xu hướng, hành vi tiêudùng
- Với khai phá dữ liệu, chúng ta có thể phân tích khối lượng lớn dữ liệu trongthời gian ngắn và sau đó chuyển đổi dữ liệu thành thông tin, kiến thức có ýnghĩa
2
Trang 11Xét về lợi ích sau cùng của khai phá dữ liệu:
- Hỗ trợ ra quyết định tự động:
Khai phá dữ liệu cho phép các tổ chức liên tục phân tích dữ liệu và tự động hóacác quyết định thông thường và quan trọng mà không bị trì hoãn bởi yếu tố conngười Các mô hình tự động của khai phá dữ liệu có thể thu thập, phân tích và
xử lý dữ liệu một cách độc lập để hợp lý hóa việc ra quyết định và tăng năngsuất hoạt động, giảm thiểu thời gian giúp tăng lợi nhuận, quy trình làm việc,sản xuất được tăng tốc
- Hỗ trợ đưa ra dự báo chính xác:
Khai phá dữ liệu tạo điều kiện lập kế hoạch và cung cấp cho các nhà quản lý dựbáo đáng tin cậy dựa trên các xu hướng trong quá khứ và các điều kiện hiện tại
- Hỗ trợ giảm thiểu chi phí:
Khai phá dữ liệu cho phép sử dụng nguồn lực hiệu quả hơn, qua đó giúp các tổchức kiểm soát cấc hoạt động sản xuất, marketing, bán hàng,… và phân bổnguồn lực hợp lý thông qua các công cụ phân tích tự động của khai phá dữ liệuđồng thời phát hiện và ngăn chặn kịp thời các rủi ro, sai sót, từ đó tránh lãngphí và giảm chi phí hiệu quả
- Hỗ trợ khả năng thấu hiểu khách hàng:
Các công ty triển khai các mô hình khai phá dữ liệu chuyên biệt để phân tích
dữ liệu khách hàng nhằm khám phá các đặc điểm chính, các điểm khác biệt về
sở thích, thói quen, hành vi,… của mỗi phân khúc khách hàng, xác định nhucầu mỗi khách hàng một cách chính xác nhất
1.1.4 Thách thức của khai phá dữ liệu
Do khối lượng dữ liệu mà mỗi công ty, tổ chức phải thu thập ngày nay cực kì lớn
và phức tạp, đa dạng vô cùng, nhưng lại chứa đựng những thông tin hữu ích đem lạinhững giá trị tiềm năng Vì thế, thách thức trong việc đảm bảo sự hiệu quả trong quátrình thu thập, xử lý và phân tích dữ liệu cho đến việc ứng dụng, triển khai các kết quảđầu ra vào các giải pháp, chiến lược thực tế đối với dự án khai phá dữ liệu ngày mộtcao hơn
3
Trang 12Thách thức của Big Data: Các thách thức của Big Data xuất hiện trong mọi lĩnhvực có nhu cầu thu thập, lưu trữ và phân tích dữ liệu và được đặc trưng bởi 4 tính chấtcũng là 4 thách thức đối với khai phá dữ liệu[3] và một hệ thống khai phá dữ liệu phải
có khả năng đáp ứng các đặc trưng trên thì mới có thể khai thác được các giá trị dữliệu
- Volume {Citation} (Khối lượng dữ liệu): mô tả thách thức của việc lưu trữ và
xử lý số lượng dữ liệu khổng lồ được thu thập bởi các công ty
- Variety (Sự đa dạng dữ liệu): mô tả thách thức bao gồm nhiều loại dữ liệu khácnhau được thu thập và lưu trữ Công cụ khai phá dữ liệu đòi hỏi phải đượctrang bị, nâng cấp để xử lý đồng thời một loạt các định dạng của dữ liệu
- Veracity (Độ chính xác dữ liệu): mô tả thách thức về mức độ xác thực, độ chínhxác của dữ liệu bởi dữ liệu thu thập đa dạng từ nhiều nguồn khác nhau nên sẽ
có lúc dữ liệu không cung cấp thông tin chính xác, dữ liệu lộn xộn, không đầy
đủ Dữ liệu thu thập được càng nhanh thì càng nhiều lỗi xuất hiện trong bộ dữliệu Thách thức của tính chính xác chính là cân bằng số lượng dữ liệu với chấtlượng của nó nhằm đạt mục đích sau cùng của khai phá dữ liệu
- Velocity (Tốc độ xử lý dữ liệu): mô tả thách thức về tốc độ xử lý ngày càngtăng trong quá trình thu thập, lưu trữ và phân tích dữ liệu Do khối lượng dữliệu lớn và đa dạng nên cần phải quan tâm đến tốc độ xử lý, nếu tốc độ xử lýchậm và công ty không tìm thấy giá trị từ dữ liệu trong thời gian hợp lý sẽ dẫnđến gia tăng chi phí, nguồn dữ liệu khai thác cũng không hiệu quả
1.2 Các phương pháp khai phá dữ liệu
4
Trang 13Cho một tập T= {t t , …, t } là tập các giao dịch 1, 2 n (transaction) với n là số các giaodịch có trong T (T⊂I), tập I = {i 1 , i 2 ,…, i m } là một tập gồm m tập mục khác nhau Ta
có ti ⊂ I Với X và Y là tập các mục Luật kết hợp có thể biểu diễn bởi công thức sau:
X Y, với X Y, Y I và X Y= (1)
Một giao dịch T được gọi là chứa X khi và chỉ khi A T
Độ hỗ trợ (support)[5] của một luật X Y là tỷ lệ phần trăm các giao dịch trong T
mà chứa cả X và Y Giúp xác định mức độ phổ biến của các giao dịch có chứa tập mục ( X Y) trong tổng số tất cả các giao dịch Công thức tính độ hỗ trợ (support):
support (XY) = = P(X Y) (2)
Độ tin cậy (confidence) [5] của luật X Y là tỷ lệ phần trăm các giao dịch trong T chứa cả X và Y trên tổng số các giao dịch trong T chỉ chứa X Là đại lượng xác định khả năng dự đoán của luật Công thức tính độ tin cậy (confidence):
confidence (XY) = = P(X Y | X) (3)
1.2.2 Phân lớp dữ liệu
Phân lớp (classification) là một trong những hình thức phân tích dữ liệu phổ biếnđược dùng để tạo các mô hình mô tả các phân lớp dữ liệu quan trọng Phân lớp cònđược dùng để dự đoán các nhãn phân lớp cho dữ liệu đầu vào tương ứng, giúp ta hiểu
về dữ liệu ở mức bao quát hơn
Ứng dụng của phân lớp:
- Phân loại hồ sơ tín dụng là an toàn hay rủi ro
- Lựa chọn phương thức điều trị A, B, hay C cho bệnh nhân
- Dự đoán sở thích của người nghe với một thể loại nhạc nhất định
- Dự đoán hành vi mua hàng của khách hàng
Đặc trưng của phân lớp:
Các mô hình được xây dựng với mục tiêu hướng tới khả năng dự báo có độchính xác cao nhất, hay tin cậy nhất, hoặc nằm trong khoảng chấp nhận được Chính
vì vậy, dựa trên tập dữ liệu đầu vào người ta rút bớt một phần để làm tập dữ liệu kiểmthử
5
Trang 141.2.3 Phân cụm
Phân cụm [6] là quá trình tập hợp các dữ liệu vào các nhĩm hay các lớp mà ở đĩnhững dữ liệu được xếp cùng nhĩm cĩ độ tương tự nhau cao và chúng khác biệt so vớinhững dữ liệu được xếp vào nhĩm (hay lớp) khác Những khác biệt (dissimilarities)này được đánh giá dựa trên các giá trị thuộc tính dùng để mơ tả các đối tượng Thơngthường, các phép tính khoảng cách được sử dụng để thực hiện phân cụm
Phân tích cụm (cluster analysis) được ứng dụng rộng rãi trong nhiều lĩnh vựcnhư: nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu và xử lý ảnh
Hình 2: Minh họa phân cụm (nguồn: bài giảng phân cụm – TS Nguyễn Đình Hoa Cương)
1.3 Các mơ hình phân lớp được sử dụng trong tiểu luận
1.3.1 Mơ hình Naive Bayes
Trước khi đi đến mơ hình phân lớp Nạve Bayes [7], ta tìm hiểu khái niệm mơhình phân lớp, đĩ là một mơ hình Machine Learning dùng để phân loạicác vật mẫu dựa trên các đặc tính đã xác định Mơ hình phân lớp Bayes làmột thuật tốn phân lớp được mơ hình hĩa dựa trên định lý Bayes trong xác suất thốngkê
Nguyên lý hoạt động của bộ phân lớp Nạve Bayes:
Cho D là tập dữ liệu huấn luyện cùng với các nhãn lớp tương ứng Mỗi bộ dữliệu trong D được mơ tả bởi n thuộc tính và được diễn đạt dưới dạng vector n chiều X
= (x1, x2, …,xn)
6
Trang 15Giả sử rằng cĩ m nhãn lớp khác nhau gồm C1, C2, , Cm Cho một bộ dữliệu X, bộ phân lớp Nạve Bayes sẽ dự đốn bộ dữ liệu X thuộc về phân lớp cĩ xácsuất hậu nghiệm cao nhất.
P (Ci|X) > P (Cj|X) với 1 ≤ j ≤ m, j ≠ i
P (Ci|X) = (4)
Do P(X) khơng đổi, nên ta chỉ cần cực đại hĩa giá trị P (X| Ci).P (Ci)
Hình 3: Minh họa mơ hình Nạve Bayes (nguồn: https://sebastianraschka.com/)
1.3.2 Mơ hình cây quyết định (J48)
Thuật tốn cây quyết định [8] cho ra kết quả là một tập luật của những dữ liệuhuấn luyện cĩ thuộc tính Cây quyết định là một cấu trúc luồng dạng cây, là một cơng
cụ phổ biến trong khai phá và phân lớp dữ liệu Đặc điểm của cây quyết định cĩ cấutrúc:
- Root (Gốc): Là nút trên cùng của cây
- Node trong: Nút trung gian trên một thuộc tính đơn (hình Oval)
- Nhánh: Biểu diễn các kết quả của kiểm tra trên nút
- Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vuơng hoặc chữ nhật).Cây quyết định [9] được sử dụng rất phổ biến bởi một số lí do sau:
- Việc xây dựng cây quyết định khơng địi hỏi bất cứ kiến thức chuyên ngànhhay thiết lập tham số ban đầu nào cả Vì vậy, nĩ phù hợp với viêc khám phá trithức
- Cây quyết định cĩ thể quản lý dữ liệu cĩ số chiều lớn
7
Trang 16- Việc biểu đạt tri thức dưới dạng cây có thể được diễn đạt dễ dàng.
- Quá trình học và phân lớp (sử dụng) của cây quyết định được thực hiện nhanhchóng
- Cây quyết định cho ra độ chính xác cao Tuy nhiên điều này còn phụ thuộc vào
dữ liệu của chúng ta
Hình 4: Minh họa cây quyết định (J48) (nguồn: viblo.asia)
1.3.3 Mô hình K – lân cận
K – lân cận (k - Nearest Neighbors) [10] là mô hình có độ giám sát đơn giản nhấtđược sử dụng nhiều trong khai phá dữ liệu và học máy Với ý tưởng thuật toán của môhình này, nó không học một điều gì từ tập dữ liệu học (nên k-Nearest Neighbors đượcxếp vào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán nhãn lớpcủa dữ liệu mới Lớp (Nhãn) của một đối tượng dữ liệu mới có thể dự đoán từ các lớp(nhãn) của các hàng xóm gần nó nhất
Hình 5: Minh họa mô hình kNN (nguồn: viblo.asia)
8
Trang 171.3.4 Mô hình kết hợp: Phương pháp Voting
Voting là phương pháp xây dựng một mô hình kết hợp trên nền tảng nhiều môhình phân lớp cơ sở khác nhau Voting cung cấp cơ chế tổng hợp kết quả bỏ phiếu để
ra quyết định cuối cùng Voting cung cấp cơ chế tổng hợp kết quả bỏ phiếu để ra quyết
định cuối cùng được gọi là combinationRule.
9
Trang 18CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU
2.1 Mô tả dữ liệu
Bộ dữ liệu được sử dụng trong bài tiểu luận lần này là bộ dữ liệuDiabetes{Citation} có gốc Arff được lấy từ trong kho dữ liệu của phần mềm Weka(Waikato Environment for Knowledge Analysis) Diabetes.arff được lấy từ cơ sở dữliệu về bệnh tiểu đường của Đại học Washington, St Louis, MO Được biên soạn bởiTiến sĩ Michael Kahn và được lưu trữ tại trang web UCI Machine LearningRepository Bộ dữ liệu mô tả về bệnh tiểu đường của người Pima Ấn Độ, trong bộ dữliệu có 768 mẫu, 9 thuộc tính và có 2 phân lớp là tested_negative và tested_postive.Thống kê các thuộc tính của bộ dữ liệu Diabetes.arff như sau:
Bảng 1 : Các thuộc tính của các bộ dữ liệu
Bộ dữ liệu Số lượng Instance Số lượng thuộc
2.2 Phương pháp phân chia dữ liệu
2.2.1 Phương pháp Hold - out
Phương pháp Hold - out [11] là phương pháp phân chia ngẫu nhiên tập dữ liệu thành 2 tập dữ liệu độc lập đó là tập dữ liệu huấn luyện và tập dữ liệu kiểm định mô hình (tập dữ liệu kiểm thử) Tỉ lệ giữa training set và validation set được chọn tương ứng là 70% và 30%
Mục đích của phương pháp là kiểm tra độ hiệu quả của mô hình khi sử dụng cáctập dữ liệu khác nhau Cụ thể trong phương pháp Hold – out sẽ có tập dữ liệu:
- Training set: dữ liệu phục vụ xây dựng mô hình, xác định các thuật toán, biến dữliệu phù hợp
- Test set: là dữ liệu được sử dụng để đánh giá độ hiệu quả của mô hình, mức độchính xác trong việc phân loại dữ liệu
- Validation set: là dữ liệu được xây dựng để đánh giá hiệu suất của mô hình đượcxây dựng trong giai đoạn huấn luyện, hỗ trợ thử nghiệm để tính chính xác các mô
10