ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ--- ---BÀI TẬP LỚNXÂY DỰNG MÔ HÌNH PHÂN LỚP THEO PHƯƠNG PHÁP KẾT HỢP VOTING DỰA TRÊN CÁC MÔ HÌNH CƠ SỞ J48, SVM...
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
-
-BÀI TẬP LỚNXÂY DỰNG MÔ HÌNH PHÂN LỚP THEO PHƯƠNG PHÁP KẾT HỢP VOTING DỰA TRÊN CÁC MÔ HÌNH CƠ SỞ J48, SVM
Trang 3LỜI CẢM ƠN
Để hoàn thành được học phần Khai phá dữ liệu – một trong những môn học cuối cùngcủa quãng đường sinh viên, em vô cùng biết ơn sự giúp đỡ của giáo viên là thầy Nguyễn ĐìnhHoa Cương Em xin chân thành cảm ơn thầy đã tận tình hướng dẫn em biết cách làm một bài báocáo nói chung và từng bước để có được bài tiểu luận của học phần này nói riêng Ngoài ra, emcảm nhận được rằng thầy luôn tạo điều kiện cho em cũng như các bạn trong lớp, có sự quan tâm
và chỉ bảo chúng em kịp thời cùng với những nội dung bài học quý giá trong suốt quá trình lênlớp Thông qua những bài học đó và những video hướng dẫn rất tâm huyết của thầy, em đã hiểu
rõ hơn và có được thêm những kiến thức và kỹ thuật bổ ích để thực hiện được bài báo cáo kếtthúc học phần Đó cũng chính là một phần nền tảng quan trọng giúp ích cho hành trang đi làmcủa em sau này
Bên cạnh đó, em xin gửi lời cảm ơn đến quý thầy cô của khoa Hệ thống thông tin kinh tế,cùng với gia đình và các bạn bè đã luôn ở bên động viên, giúp đỡ em trong quá trình học tập vàhoàn thành bài tiểu luận
Bài báo cáo của em dựa trên các bài học và quá trình tự nghiên cứu Trong lúc làm khôngthể tránh khỏi những sai sót, kính mong thầy có thể bỏ qua, và em mong nhận được sự giúp đỡtận tình của thầy để bài báo cáo được hoàn thiện nhất
Em xin chân thành cảm ơn!
Huế, tháng 06 năm 2022
Sinh viên
Phan Thị Cẩm Nhi
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 Khai phá dữ liệu 1
1.1.1 Khái niệm 1
1.1.2 Ứng dụng của khai phá dữ liệu 1
1.1.3 Dữ liệu có nhãn và dữ liệu không nhãn 2
1.1.4Các phương pháp khai phá dữ liệu 2
1.2 Mô hình phân lớp Naive Bayes 5
1.3 Mô hình phân lớp J48 (Cây quyết định) 7
1.4 Mô hình SVM (Support Vector Machines) 8
1.5 Phương pháp phân lớp kết hợp – Voting 10
CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU 11
2.1 Mô tả tập dữ liệu 11
II
Trang 52.2 Phương pháp phân chia dữ liệu 11
2.3 Xây dựng mô hình 13
2.4 Các phép đo 13
2.4.1 Phép đo Precision-Recall 13
2.4.2 Phép đo F1 14
2.5 Kết quả thí nghiệm 14
CHƯƠNG III: KẾT LUẬN 17
3.1 Đánh giá kết quả thí nghiệm 17
3.2 Mặt hạn chế của nghiên cứu 17
DANH MỤC TÀI LIỆU THAM KHẢO 18
III
Trang 6DANH MỤC HÌNH VẼ
Hình vẽ 1: Quá trình khai phá dữ liệu (Nguồn: researchgate.net) 1
Hình vẽ 2: Ví dụ về mô hình phân lớp (Nguồn: SlideShare.net) 4
Hình vẽ 3: Mô hình cây quyết định (Nguồn: trituenhantao.io) 7
Hình vẽ 4: Mô hình SVM (Nguồn: ongxuanhong.wordpress) 9
Hình vẽ 5: Mô hình phân chia dữ liệu 12
Hình vẽ 6: Sơ đồ trên KnowledgeFlow để vẽ đường ROC 13
Hình vẽ 7: Đường ROC của các mô hình với bộ dữ liệu Diabetes.arff 15
IV
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1: Thống kê thuộc tính của bộ dữ liệu Diabetes.arff 11Bảng 2: Kết quả chạy mô hình với bộ dữ liệu Diabetes.arff 14
V
Trang 8DANH MỤC THUẬT NGỮ
Machines)
clustering
Trang 9VI
Trang 10CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Khai phá dữ liệu
1.1.1 Khái niệm
Khai phá dữ liệu [1] là một ngành học mới trong thời gian gần đây, nó là quá trình tínhtoán, tìm kiếm tri thức (hay các mẫu, dạng có nghĩa) và là việc trích rút hay “khai phá” tri thức từmột lượng lớn dữ liệu Các cơ sở dữ liệu lớn này chứa thông tin có giá trị cho chủ sở hữu cơ sở
dữ liệu, nhưng các thông tin này được dấu trong khối dữ liệu không quan tâm và vẫn chưa đượctìm hiểu hay khám phá
Hình vẽ 1: Quá trình khai phá dữ liệu (Nguồn: researchgate.net)
1.1.2 Ứng dụng của khai phá dữ liệu
Việc khai phá dữ liệu [2] giúp cho con người có được những thông tin mới lạ và đáng ngạcnhiên, và đây là việc mà con người khó có thể tìm thấy Thông qua việc khai thác dữ liệu còngiúp cho con người nhiều công việc như:
- Phát hiện giao dịch bất hợp pháp
- Dự toán điện tải, dự đoán tài chính
Trang 1
Trang 11- Tiếp thị có định hướng
- Phát hiện tội phạm, phát hiện lừa đảo, thuế, thu nhập trong hoạt động chính quyền
- Trong thương mại như quản lý quan hệ khách hàng, thiết lập mối quan hệ thân thiết, phát hiện gian lận, dịch vụ viễn thông
- Máy tìm kiếm, quảng cáo trực tuyến, khai phá web và khai phá test
1.1.3 Dữ liệu có nhãn và dữ liệu không nhãn
Giới thiệu về dữ liệu về có nhãn và không nhãn:
- Dữ liệu có nhãn (labelled data) là quá trình học có hướng dẫn
- Dữ liệu không nhãn (unlabelled data) là quá trình học không có hướng dẫn
- Một tập dữ liệu còn được gọi là các thể hiện (instances)
- Mỗi thể hiện gồm các giá trị của các thuộc tính tương ứng
1.1.4 Các phương pháp khai phá dữ liệu
1.1.4.1 Khai phá luật kết hợp
Khai phá luật kết hợp [3] là tìm ra các mẫu có tần suất cao, các mẫu kết hợp, liên quanhoặc các cấu trúc tồn tại giữa các tập hợp đối tượng trong cơ sở dữ liệu các giao dịch, cơ sở dữliệu quan hệ hoặc các kho chứa thông tin khác Nói cách khác là chúng ta đi tìm tất cả các tậpphổ biến từ trong dữ liệu
Bài toán luật kết hợp (association rules) được phát biểu như sau [4]:
- Cho I ={I 1 ,I 2 ,… , In } là một tập các mục (mặt hàng, v.v.)
- Cho D là một tập các giao dịch mà mỗi giao dịch T là một tập các mục, T ⊆ I
- Mỗi giao dịch có một mã định danh riêng gọi là TID
- Cho A là một tập các mục (mặt hàng) Một giao dịch T được gọi là chứa A khi và chỉkhi A ⊆T
- Một luật kết hợp được diễn đạt dưới hình thức A ⇒ B, với A ⊂ I , B⊂ I ,v à A ∩ B=∅.Khác với phương pháp khai phá dữ liệu khác, khai phá luật kết hợp luôn chỉ có duy nhất
một tập kết quả cho dù áp dụng bất kì giải thuật nào
Quá trình khai phá luật kết hợp gồm 2 bước:
Trang 2
Trang 12- Bước 1: Tìm tất cả các tập mục thường gặp (thường xuyên), theo định nghĩa thì mỗihạng mục (itemset) được gọi là tập mục thường xuyên nếu độ hỗ trợ của nó lớn hơn hoặc bằng
độ hỗ trợ tối thiểu (min_sup)
- Bước 2: Tạo các luật kết hợp mạnh từ các tập mục thường xuyên, theo định nghĩa thìnhững luật kết hợp mạnh phải có độ hỗ trợ và độ tin cậy lớn hơn độ hỗ trợ tối thiểu (min_sup) và
độ tin cậy tối thiểu (min_conf) tương ứng
Khai phá luật kết hợp có nhiệm vụ tìm ra các luật mà dự đoán sự xuất hiện của các đốitượng dựa vào sự xuất hiện của các đối tượng khác trong giao tác Nhưng nó không có khả năngkhai phá ra các chuổi đối tượng xảy ra tuần tự đảm bảo một điều kiện nào đó
1.1.4.2 Phân lớp
Phân lớp [5] là việc phân tích dữ liệu dựa trên tập huấn luyện, giá trị hay là nhãn lớp củamột thuộc tính phân lớp để tạo lập các mô hình mô tả các phân lớp dữ liệu quan trọng Nhữngphân tích đó sẽ giúp chúng ta hiểu sâu hơn về dữ liệu ở mức lớn và bao quát hơn
Hình vẽ 1: Ví dụ về mô hình phân lớp (Nguồn: SlideShare.net )
Trang 3
Trang 13Ứng dụng của phân lớp trong thực tế:
- Phân loại một email là thư phiền (spam) hay không
- Dự đoán xem người nghe thích bài hát hay thể loại nhạc nào
- Chọn phương thức điều trị phù hợp cho các bệnh nhân
Đặc trưng của mô hình phân lớp là học dựa trên tập dữ liệu mẫu có sẵn Những dữ liệu thôđầu vào (như: văn bản, hình ảnh, âm thanh) được chuyển đổi thành các vector Số chiều của cácvector này tùy thuộc vào từng trường hợp cụ thể Đặc biệt trong các chiều này, có một chiềuchứa nhãn phân lớp có sẵn tương ứng với từng trường hợp cụ thể
Dựa trên tập dữ liệu vào dạng∈vector này, các thuật toán đặc thù sẽ được triển khai để tiến hành thiết lập một ánh xạ f(x)=c, c C Trong đó C là tập các nhãn và x là vector với các chiều f(x) chính là mô hình thu được thông qua quá trình học.
Các phương pháp phân chia dữ liệu [6]:
- Phương pháp Holdout: Đây là một phương pháp đơn giản, đầu tiên ta chọn một dữliệu và phương pháp này sẽ giúp ta chia tập dữ liệu đầu vào thành 2 phần với tỷ lệ mình chọn
Tuy nhiên có 1 lưu ý là tỷ lệ giữa training set và test set thường được chọn tương ứng 2/3 và 1/3 hay 70% và 30%.
- Phương pháp random subsampling: Thực chất phương pháp này là biến thể của
phương pháp Holdout, tức là lặp lại phương pháp Holdout k lần Độ chính xác dự đoán được tính
là số trung bình của độ chính xác của mô hình được xây dựng trong mỗi lần lặp
- Phương pháp cross-validation: nhằm xác nhận chéo k-fold crossvalition đối với mộttập dữ liệu D được thực hiện bằng cách chia tập dữ liệu k tập con có kích thược bằng nhau.1.1.4.3 Phân cụm
Phân cụm [7] là việc nhóm dữ liệu thành các cụm sao cho các dữ liệu trong cụm đó có tínhtương đồng cao và độ bất đồng giữa các cụm lớn Và những bất đồng được đánh giá dựa trên cácgiá trị thuộc tính được dùng để mô tả các đối tượng dữ liệu
Các phương pháp phân cụm phổ biến:
- Phương pháp phân mảnh (fragmentation methods)
- Phương pháp phân tầng (hierarchical methods)
Trang 4
Trang 14- Phương pháp lưới (grid-based methods)
- Phương pháp dựa vào mơ hình (model-based methods)
- Phân cụm dựa vào ràng buộc (constraint-based clustering)
1.2 Mơ hình phân lớp Naive Bayes
Khái niệm: Nạve Bayes [8], [9]là một thuật tốn phân lớp được mơ hình hố dựa trên định
lý Bayes trong xác suất thống kê Cho X là một bộ dữ liệu được đo trên n thuộc tính khác nhau
Cho H là một giả thuyết (ví dụ: X thuộc về phân lớp C) Đối với các bài tốn phân lớp, chúng ta
muốn xác định P(H|X) là xác suất xảy ra H khi X đã xảy ra Đây gọi là xác suất hậu nghiệm
Định lý Nạve Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên H khi biết đến sự
kiện liên quan X đã xảy ra Xác suất này được ký hiệu là P(H/X) là xác suất xảy ra của giả thuyết
H khi X đã xảy ra P(H\X) được gọi là một xác suất hậu nghiệm Các xác suất này sẽ được tính
dựa vào định lý Bayes sau đây:
- Cho D là tập dữ liệu huấn luyện cùng cới các nhãn lớp tương ứng Như thường lệ,
mỗi bộ dữ liệu được mơ tả bởi n thuộc tính và được biểu diễn dưới dạng vector n chiều X =
(X 1 ,X 2,…, X n)
- Giả sử cĩ m nhẵn lớp khác nhau C1,C2,…,C m Cho một bộ dữ liệu X, bộ phân lớp sẽ
gán nhãn cho X là lớp cĩ xác suất hậu nghiệm lớn nhất Cụ thể là X sẽ được dự đốn
phụ thuộc vào lớp C i nếu và chỉ nếu:
P (C i|X )> P(C j ∨ X) với 1 ≤ j≤ m , j≠ i
- Giá trị này sẽ được tính dựa vào định lý Bayes:
P ( X | H ) P ( H )
P(H\X) =
P( X)
Vì P(X) khơng thay đổi với mọi lớp nên ta khơng cần tính, ta chỉ cần tìm giá trị lớn nhất
của P( X ∨C i ) P (C i ). Các xác suất này cĩ thể được thiết lập từ tập dữ liệu cho trước để cĩ
được kết quả
Trang 5
Trang 151.3 Mô hình phân lớp J48 (Cây quyết định)
Hình vẽ 2: Mô hình cây quyết định (Nguồn: trituenhantao.io)
Khái niệm: Cây quyết định [10] là một cấu trúc luồng dạng cây, với mỗi nút trung gian(không phải nút lá) đại diện cho một phép thử trên một thuộc tính Mỗi nhánh đại diện cho mộtđầu ra (kết quả) của phép thử Và mỗi nút lá (nút cuối cùng) đại diện cho một nhãn lớp Nút trêncùng của cây được gọi là nút gốc Một đường đi từ nút gốc đến một nút lá biểu đạt dự đoán phânlớp cho một bộ dữ liệu tương ứng Cây quyết định có thể dễ dàng chuyển đổi thành các luật phânlớp
Nguyên tắc hoạt động:
- Nút gốc (root node) là điểm bắt đầu của các cây, và cũng là nút quyết định trên cùng
ở một cây tương ứng với dự đoán tốt nhất, còn nút lá chứa các câu hỏi hoặc tiêu chí trả lời, đạidiện cho phân loại hoặc quyết định
- Cây quyết định có thể xử lý dữ liệu phân loại và cả số liệu
- Cây quyết định có cấu trúc phân lớp và để phân lớp cho các đối tượng dựa vào các luật để đưa ra các kết quả tương ứng với cây quyết định
- Cây quyết định còn là công cụ có thể mô tả cho các phép tính toán xác suất có điều kiện
Ưu điểm [11]:
- Giúp cho người dùng dễ hiểu và dễ sử dụng
- Cây quyết định có thể quản lý dữ liệu có số chiều lớn
Trang 6
Trang 16- Quá trình biểu đạt dưới dạng cây dễ dàng.
- Quá trình phân lớp của cây quyết định được thực hiện một cách nhanh chóng và hiệuquả
- Cây có độ chính xác cao tuy nhiên còn phụ thuộc vào dữ liệu đầu vào
- Nếu dữ liệu phụ thuộc vào thời gian liên tục thì dùng cây quyết định sẽ khó giải quyết được vấn đề đó
- Để xây dựng mô hình cây quyết định cao thì sẽ có nhiều lớp chi phí cần tính toán, vì vậy dễ xảy ra lỗi
1.4 Mô hình SVM (Support Vector Machines)
Khái niệm: SVM [12] là phương pháp phân lớp, là một khái niệm về thống kê và khoa họcmáy tính cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại vàphân tích hồi quy SVM được áp dụng cho cả dữ liệu tuyến tính và phi tuyến
Hình vẽ 3: Mô hình SVM (Nguồn: ongxuanhong.wordpress)
Cách thức hoạt động của SVM [13]: Cách thức hoạt động của SVM được phát biểu nhưsau, cho tập dữ liệu D như sau: ( X 1 , y1 ) ,( X2 , y2 ) , … ,( X|D|, y|D|) với X i là tập các dữ liệuhuấn luyện gắn liền với các nhãn lớp tương ứng y i (nhận một trong hai giá trị là +1 hay -1 (tươngứng với nhãn lớp buys_computer = yes và buys_computer = no)
Ưu điểm:
- Xử lý trên không gian số chiều cao
Trang 7
Trang 17- Tính linh hoạt Nhược điểm:
- Trong trường hợp số lượng thuộc tính của tập dữ liệu quá lớn so với số lượng dữ liệuthì SVM cho kết quả tồi
Kết luận: SVM cũng là phương pháp hiệu quả cho bài toán phân lớp dữ liệu, nó là 1 công
cụ đắc lực cho các bài toán về xử lý ảnh, phân loại văn bản, phân tích các quan điểm
1.5 Phương pháp phân lớp kết hợp – Voting
Tư tưởng của phương pháp Voting là 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 Nhằm tạo ra một mô hình cho quyết định chính xác hơn
Ở bài này Voting được xây dựng trên 3 mô hình cơ sở gồm:
Ưu điểm của mô hình: Cung cấp cơ chế tổng hợp kết quả bỏ phiếu để đưa ra mô hình cókết quả tốt nhất Nhược điểm: là chưa thể tìm ra mô hình nào đáng tin cậy trong số các mô hìnhphân lớp cơ sở trên
Trang 8
Trang 18CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU
Bộ dữ liệu được sử dụng trong mô hình là:
- Diabetes.arff (Dữ liệu bệnh tiểu đường) chủ sở hữu ban đầu là Viện tiểu đường vàtiêu hóa quốc gia và bệnh thận Nhà tài trợ cơ sở dữ liệu là Vincent Sigillito và đượcnghiên cứu tại trung tâm và nhóm nghiên cứu RMI
Bộ dữ liệu được sử dụng trong mô hình đều có sẵn trong Weka và có các số liệu được thống kê ở bảng sau:
Bảng 1: Thống kê thuộc tính của bộ dữ liệu Diabetes.arff
2.2 Phương pháp phân chia dữ liệu
Để phân chia dữ liệu gồm có các phương pháp sau:
- Phương pháp Holdout: Là phương pháp khá đơn giản, phương pháp này chia tập dữliệu đầu vào thành hai tập phân biệt với tỉ lệ cho trước Tỉ lệ giữa training set và validation setthường được chọn tương ứng là 2/3 và 1/3 hay 70% và 30%
- Phương pháp huấn luyện mô hình 10-fold cross validation: là một kỹ thuật để đánhgiá các mô hình dự đoán bằng cách phân vùng mẫu ban đầu thành một tập huấn luyện để huấnluyện mô hình và một bộ kiểm tra để đánh giá nó
Trang 9
Trang 19- Cách phân chia dữ liệu trong nghiên cứu:
Hình vẽ 4: Mô hình phân chia dữ liệu
Các bước xây dựng mô hình phân lớp theo phương pháp Voting:
lệ train: 70% và lưu lại, test: 30% và lưu lại
- Bước 4: Lựa chọn classifier là meta và chọn vote: vào Openfile mở bộ dữ liệu trainvừa mới chia ở trên → Trên thanh công cụ chọn Classify → Choose → Meta → Vote
- Bước 5: Thiết lập classifier và chế độ huấn luyện: Chọn classifier như J48, Naibayes,SVM,… → Thiết lập combinationRule → Chọn start
- Bước 6: Kiểm thử mô hình: chọn Supplised test set → Nạp bộ test đã chia ở bước 3vào → Click chuột phải vào mô hình và chọn Re-evaluate model on current test set → Lưu kếtquả lại
Trang 10