- Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương phápđược dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt cácmối quan hệ và các mẫu chưa biết bên trong d
Trang 1MỤC LỤ
1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 2
1.1 Khái niệm về khai phá dữ liệu 2
1.2 Các hệ thống khai phá dữ liệu 4
1.3 Các phương pháp khai phá dữ liệu 6
2 PHÂN LỚP DỮ LIỆU 8
2.1 Tổng quan về phân lớp dữ liệu 8
2.2 Phân lớp dữ liệu với cây quyết định 9
2.3 Phân lớp dữ liệu với mạng Bayesian 12
3 GIỚI THIỆU PHẦN MỀM MÃ NGUỒN MỞ WEKA 16
3.1 Giới thiệu phần mềm Weka 16
3.2 Các chức năng của phần mềm Weka 16
3.3 Chức năng phân lớp trong Weka 19
4 PHÂN LỚP DỮ LIỆU BẰNG WEKA 21
4.1 Bộ dữ liệu minh họa 21
4.2 Phân lớp với cây quyết định 21
4.2.1 Giới thiệu 21
4.2.2 Các bước thực hiện 21
4.2.3 Phân tích kết quả 24
4.3 Phân lớp với NaiveBayes 26
4.3.1 Giới thiệu 26
4.3.2 Các bước thực hiện 26
4.3.3 Phân tích kết quả 27
TÀI LIỆU THAM KHẢO 30
Trang 31 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khái niệm về khai phá dữ liệu
- Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thứctrong CSDL Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệugiúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, Khaiphá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyềnthống trước kia (ví dụ như phương pháp thống kê)
- Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương phápđược dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt cácmối quan hệ và các mẫu chưa biết bên trong dữ liệu”
- Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyếtđịnh, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờtrong CSDL lớn”
- Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầmthường nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và
có thể hiểu được”
- Các ứng dụng của khai phá dữ liệu:
o Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tìnhhình tài chính và dự báo giá của các loại cổ phiếu trong thịtrường chứng khoán Danh mục vốn và giá, lãi suất, dữ liệu thẻtín dụng, phát hiện gian lận,
o Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định
o Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoánbệnh lưu trong các hệ thống quản lý bệnh viện Phân tích mốiliên hệ giữa các triệu chứng bệnh, chuẩn đoán và phươngpháp điều trị (chế độ dinh dưỡng, thuốc, )
o Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý
Trang 4- Các bước của quá trình khai phá dữ liệu:
o Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán Làtìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác địnhcác nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định choviệc rút ra được các tri thức hữu ích và cho phép chọn cácphương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng
và bản chất của dữ liệu
o Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là thu thập và xử lýthô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làmsạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi
dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếmnhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức Do
dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhất, …
có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhất quán,đầy đủ, được rút gọn và rời rạc hoá
o Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức Là khai phá dữliệu, hay nói cách khác là trích ra các mẫu hoặc/và các mô hình
ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm cáccông đoạn như: chức năng, nhiệm vụ và mục đích của khai phá
dữ liệu, dùng phương pháp khai phá nào? Thông thường, các bàitoán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả -đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo - baogồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có Tuỳtheo bài toán xác định được mà ta lựa chọn các phương phápkhai phá dữ liệu cho phù hợp
o Bước thứ tư: Sử dụng các tri thức phát hiện được Là hiểu trithức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán.Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được
có thể được lấy trung bình trên tất cả các lần thực hiện Các kếtquả của quá trình phát hiện tri thức có thể được đưa và ứng dụngtrong các lĩnh vực khác nhau Do các kết quả có thể là các dựđoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống
hỗ trợ ra quyết định nhằm tự động hoá quá trình này
- Nhiệm vụ chính trong khai thác dữ liệu:
o Phân lớp dữ liệu (phân loại dữ liệu - classification)
o Hồi qui (regression)
Trang 5o Gom cụm dữ liệu (clustering).
o Tổng hợp (summarization)
o Mô hình hoá sự phụ thuộc (dependency modeling)
o Phát hiện sự biến đổi và độ lệch (change and deviationdectection)
1.2 Các hệ thống khai phá dữ liệu
- Hệ thống khai phá dữ liệu được phát triển dựa trên khái niệm rộng củakhai phá dữ liệu: Khai phá dữ liệu là một quá trình khám phá tri thứcđược quan tâm từ lượng lớn dữ liệu trong các cơ sở dữ liệu, kho dữ liệu,hay các kho thông tin khác
- Các thành phần chính có thể có: Database, data warehouse, World WideWeb, và information repositories; Database hay data warehouse server;Knowledge base; Data mining engine; Pattern evaluation module; Userinterface
Hình 1: Kiến trúc của một hệ thống khai phá dữ liệu
Trang 6- Database, data warehouse, World Wide Web, và informationrepositories:
o Thành phần này là các nguồn dữ liệu/thông tin sẽ được khai phá
o Trong những tình huống cụ thể, thành phần này là nguồn nhập(input) của các kỹ thuật tích hợp và làm sạch dữ liệu
- Database hay data warehouse server:
o Thành phần chịu trách nhiệm chuẩn bị dữ liệu thích hợp cho cácyêu cầu khai phá dữ liệu
- Data mining engine:
o Thành phần chứa các khối chức năng thực hiện các tác vụ khaiphá dữ liệu
- Pattern evaluation module:
o Thành phần này làm việc với các độ đo (và các ngưỡng giá trị)
hỗ trợ tìm kiếm và đánh giá các mẫu sao cho các mẫu được tìmthấy là những mẫu được quan tâm bởi người sử dụng
o Thành phần này có thể được tích hợp vào thành phần Datamining engine
o Người sử dụng cũng có thể xem các lược đồ cơ sở dữ liệu/kho dữliệu, các cấu trúc dữ liệu; đánh giá các mẫu khai phá được; trựcquan hóa các mẫu này ở các dạng khác nhau
- Các đặc điểm được dùng để khảo sát một hệ thống khai phá dữ liệu:
o Kiểu dữ liệu
Trang 7o Các vấn đề hệ thống
o Nguồn dữ liệu
o Các tác vụ và phương pháp luận khai phá dữ liệu
o Vấn đề gắn kết với các hệ thống kho dữ liệu/cơ sở dữ liệu
o Khả năng co giãn dữ liệu
o Các công cụ trực quan hóa
o Ngôn ngữ truy vấn khai phá dữ liệu và giao diện đồ họa chongười dùng
- Một số hệ thống khai phá dữ liệu:
o Intelligent Miner (IBM)
o Microsoft data mining tools (Microsoft SQL Server2000/2005/2008)
o Oracle Data Mining (Oracle 9i/10g/11g)
o Enterprise Miner (SAS Institute)
o Weka (the University of Waikato, New Zealand,
www.cs.waikato.ac.nz/ml/weka)
- Phân biệt các hệ thống khai phá dữ liệu với:
o Các hệ thống phân tích dữ liệu thống kê (statistical data analysissystems)
o Các hệ thống học máy (machine learning systems)
o Các hệ thống truy hồi thông tin (information retrieval systems)
o Các hệ cơ sở dữ liệu diễn dịch (deductive database systems)
o Các hệ cơ sở dữ liệu (database systems)1.3 Các phương pháp khai phá dữ liệu
- Phương pháp suy diễn / quy nạp:
o Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic củacác thông tin trong cơ sở dữ liệu Ví dụ như toán tử liên kết ápdụng cho bảng quan hệ, bảng đầu chứa thông tin về các nhânviên và phòng ban, bảng thứ hai chứa các thông tin về các phòngban và các trưởng phòng Như vậy sẽ suy ra được mối quan hệgiữa các nhân viên và các trưởng phòng Phương pháp suy diễndựa trên các sự kiện chính xác để suy ra các tri thức mới từ cácthông tin cũ Mẫu chiết xuất được bằng cách sử dụng phươngpháp này thường là các luật suy diễn
Trang 8o Phương pháp quy nạp: phương pháp quy nạp suy ra các thông tinđược sinh ra từ cơ sở dữ liệu Có nghĩa là nó tự tìm kiếm, tạomẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đãbiết trước Các thông tin mà phương pháp này đem lại là cácthông tin hay các tri thức cấp cao diễn tả về các đối tượng trong
cơ sở dữ liệu Phương pháp này liên quan đến việc tìm kiếm cácmẫu trong CSDL Trong khai phá dữ liệu, quy nạp được sử dụngtrong cây quyết định và tạo luật
- Phương pháp ứng dụng K-láng giềng gần:
o Sự miêu tả các bản ghi trong tập dữ liệu khi trỏ vào không giannhiều chiều là rất có ích đối với việc phân tích dữ liệu Việc dùngcác miêu tả này, nội dung của vùng lân cận được xác định, trong
đó các bản ghi gần nhau trong không gian được xem xét thuộc vềlân cận (hàng xóm – láng giềng) của nhau Khái niệm này đượcdùng trong khoa học kỹ thuật với tên gọi K-láng giềng gần, trong
đó K là số láng giềng được sử dụng Phương pháp này rất hiệuquả nhưng lại đơn giản Ý tưởng thuật toán học K-láng giềng gần
là “thực hiện như các láng giềng gần của bạn đã làm”
o Ví dụ: Để dự đoán hoạt động của cá thể xác định, K-láng giềngtốt nhất của cá thể được xem xét, và trung bình các hoạt động củacác láng giềng gần đưa ra được dự đoán về hoạt động của cá thểđó
o Kỹ thuật K-láng giềng gần là một phương pháp tìm kiếm đơngiản Tuy nhiên, nó có một số mặt hạn chế giới là hạn phạm viứng dụng của nó Đó là thuật toán này có độ phức tạp tính toán làluỹ thừa bậc 2 theo số bản ghi của tập dữ liệu Vấn đề chính liênquan đến thuộc tính của bản ghi Một bản ghi gồm hiều thuộctính độc lập, nó bằng một điểm trong không gian tìm kiếm có sốchiều lớn Trong các không gian có số chiều lớn, giữa hai điểmbất kỳ hầu như có cùng khoảng cách Vì thế mà kỹ thuật K-lánggiềng không cho ta thêm một thông tin có ích nào, khi tất cả cáccặp điểm đều là các láng giềng Cuối cùng, phương pháp K-lánggiềng không đưa ra lý thuyết để hiểu cấu trúc dữ liệu Hạn chế đó
có thể được khắc phục bằng kỹ thuật cây quyết định
- Phương pháp sử dụng cây quyết định và luật:
Trang 9o Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quátrình xây dựng mô hình sẽ cho ra một cây quyết định Cây nàyđược sử dụng trong quá trình phân lớp các đối tượng dữ liệuchưa biết hoặc đánh giá độ chính xác của mô hình Tương ứngvới hai giai đoạn trong quá trình phân lớp là quá trình xây dựng
và sử dụng cây quyết định
o Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểudiễn tất cả các mẫu dữ liệu Sau đó, các mẫu sẽ được phân chiamột cách đệ quy dựa vào việc lựa chọn các thuộc tính Nếu cácmẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụngmột độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở đểphân chia các mẫu ra các lớp Theo từng giá trị của thuộc tínhvừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫuvào các nhánh đã tạo Lặp lại quá trình trên cho tới khi tạo rađược cây quyết định, tất cả các nút triển khai thành lá và đượcgán nhãn
o Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sauđược thỏa mãn:
Tất cả các mẫu thuộc cùng một nút
Không còn một thuộc tính nào để lựa chọn
Nhánh không chứa mẫu nào
o Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung
là sử dụng nhiều bộ nhớ Lượng bộ nhớ sử dụng tỷ lệ thuận vớikích thước của mẫu dữ liệu huấn luyện Một chương trình sinhcây quyết định có hỗ trợ sử dụng bộ nhớ ngoài song lại có nhượcđiểm về tốc độ thực thi Do vậy, vấn đề tỉa bớt cây quyết định trởnên quan trọng Các nút lá không ổn định trong cây quyết định sẽđược tỉa bớt
- Phương pháp phát hiện luật kết hợp
o Phương pháp này nhằm phát hiện ra các luật kết hợp giữa cácthành phần dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuậtkhai phá dữ liệu là tập luật kết hợp tìm được Ta có thể lấy một ví
dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thànhphần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéotheo sự xuất hiện của B trong cùng bản ghi đó: A => B
2 PHÂN LỚP DỮ LIỆU
Trang 102.1 Tổng quan về phân lớp dữ liệu
- Phân lớp dữ liệu là dạng phân tích dữ liệu nhằm rút trí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
- Quá trình gồm hai bước:
o Bước học (giai đoạn huấn luyện): xây dựng bộ phân loại(classifier) bằng việc phân tích/học tập huấn luyện
o Bước phân loại (classification): phân loại dữ liệu/đối tượng mớinếu độ chính xác của bộ phân loại được đánh giá là có thể chấpnhận được (acceptable)
- y = f (X) với y là nhãn (phần mô tả) của một lớp (class) và X là dữ liệu/
Bước học/huấn luyện
Trang 112.2 Phân lớp dữ liệu với cây quyết định
- Cây quyết định là một cây trong đó:
o nút trong = một phép kiểm tra trên một thuộc tính
o nhánh của cây = đầu ra của một phép kiểm tra
o nút lá = nhãn phân lớp hoặc sự phân chia vào lớp
- Tạo cây quyết định
o xây dựng cây
bắt đầu, tất cả các mẫu huấn luyện đều ở gốc
phân chia các mẫu dựa trên các thuộc tính được chọn
Bước phân loại (đánh giá và áp dụng)
A?
Trang 12 kiểm tra các thuộc tính được chọn dựa trên một độ đothống kê hoặc heuristic
o thu gọn cây
xác định và loại bỏ những nhánh nhiễu hoặc tách khỏinhóm
- Rút luật phân lớp từ cây quyết định
Trang 13o Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sự liên
o Nút lá giữ quyết định phân lớp dự đoán
o Các luật tạo được dễ hiểu hơn các cây
- Các thuật toán trên cây quyết định
o Thuật toán căn bản
xây dựng một cây đệ quy phân chia và xác định đặc tính
từ trên xuống
các thuộc tính được xem là rõ ràng, rời rạc
tham lam (có thể có tình trạng cực đại cục bộ)
o Nhiều dạng khác nhau
ID3, C4.5, CART, CHAID
Điểm khác biệt chính: tiêu chuẩn/thuộc tính phân chia, độ
đo để chọn lựa
- Các độ đo để lựa chọn thuộc tính
o Độ lợi thông tin (Information gain)
o Gini index
o c2 – số thống kê bảng ngẫu nhiên (contingency table statistic)
o G- thống kê (statistic)
- Độ lợi thông tin
o Chọn thuộc tính có chỉ số có độ lợi thông tin lớn nhất
o Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử lớp P
và n phần tử lớp N
o Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có
thuộc về lớp P hay N hay không là
I( p,n )=− p
p+nlog2
p p+n−
n p+nlog2
n p+n
o Cho các tập {S1, S2 , …, Sv} là một phân hoạch trên tập S, khi
sử dụng thuộc tính A
o Cho mỗi Si chứa pi mẫu lớp P and ni mẫu lớp N
o entropy, hay thông tin mong muốn cần thiết để phân lớp các đốitượng trong tất cả các cây con Si là
E( A )=∑
i=1
ν p i+ni
p+n I( p i , n i)
o Thông tin có được bởi việc phân nhánh trên thuộc tính A là
Gain( A )=I( p,n)−E( A )
Trang 142.3 Phân lớp dữ liệu với mạng Bayesian
- Dựa trên định lý của Bayes
o Phân loại Nạve Bayesian
Giả định: độc lập cĩ điều kiện lớp (class conditionalindependence)
o Phân loại Bayesian belief networks
- Phương pháp phân loại dựa trên xác suất
- Định lý Bayes
o X: một tuple/đối tượng (evidence)
o H: giả thuyết (hypothesis)
X thuộc về lớp C
Trang 15o P(H|X): posterior probability
Xác suất có điều kiện của H đối với X
Ví dụ: P(buys_computer=yes|age=young, income=high) làxác suất mua máy tính của khách hàng có tuổi “young” vàthu nhập “high”
o P(X|H): posterior probability
Xác suất có điều kiện của X đối với H
Ví dụ: P(age=young, income=high|buys_computer=yes) làxác suất khách hàng mua máy tính có tuổi “young” và thunhập “high”
P(age=young, income=high|buys_computer=yes) = 0P(age=young, income=high|buys_computer=no) = 2/5 =0.4
o P(X): prior probability
Xác suất của X
Trang 16 Ví dụ: P(age=young, income=high) là xác suất khách hàng
có tuổi “young” và thu nhập “high”
buys_computer=yes)P(buys_computer=yes)/P(age=young, income=high) = 0
P(buys_computer=no|age=young, income=high) = P(age=young, income=high|
buys_computer=no)P(buys_computer=no)/P(age=young, income=high) = 0.4*0.357/0.143 = 0.9986
- Cho trước tập dữ liệu huấn luyện D với mô tả (nhãn) của các lớp Ci,i=1 m, quá trình phân loại một tuple/đối tượng X = (x1, x2, …, xn) vớimạng Bayesian như sau:
X được phân loại vào Ci nếu và chỉ nếu