[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
MỤC LỤC
1 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
1. 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ức
trong CSDL. Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu
giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, Khai
phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền
thố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ác
mố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ầm
thườ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ình
hì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án
bệnh lưu trong các hệ thống quản lý bệnh viện. Phân tích mối
liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương
phá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ý
sự cố.
o Text mining và Web mining: Phân lớp văn bản và các trang
Web, tóm tắt văn bản,
o Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh
vật học, tìm kiếm, so sánh
o các hệ gene và thông tin di truyền, mối liên hệ gene và một số
bệnh di truyền,
o Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống
giám sát lỗi, sự cố, chất lượng dịch vụ,
- Các bước của quá trình khai phá dữ liệu:
2 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
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 định
các nhiệm vụ cần phải hoàn thành. Bước này sẽ quyết định cho
việc rút ra được các tri thức hữu ích và cho phép chọn các
phươ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àm
sạ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ếm
nhiề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ác
cô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ài
toá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 - bao
gồ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áp
khai 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 tri
thứ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ết
quả của quá trình phát hiện tri thức có thể được đưa và ứng dụng
trong 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).
o Gom cụm dữ liệu (clustering).
o Tổng hợp (summarization).
3 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
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 deviation
dectection).
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ủa
khai 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 Wide
Web, và information repositories; Database hay data warehouse server;
Knowledge base; Data mining engine; Pattern evaluation module; User
interface.
Hình 1: Kiến trúc của một hệ thống khai phá dữ liệu
- Database, data warehouse, World Wide Web, và information
repositories:
o Thành phần này là các nguồn dữ liệu/thông tin sẽ được khai phá.
4 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
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ác
yêu cầu khai phá dữ liệu.
- Knowledge base:
o Thành phần chứa tri thức miền, được dùng để hướng dẫn quá
trình tìm kiếm, đánh giá các mẫu kết quả được tìm thấy.
o Tri thức miền có thể là các phân cấp khái niệm, niềm tin của
người sử dụng, các ràng buộc hay các ngưỡng giá trị, siêu 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ụ khai
phá 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ìm
thấ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 Data
mining engine.
- User interface:
o Thành phần hỗ trợ sự tương tác giữa người sử dụng và hệ thống
khai phá dữ liệu.
o Người sử dụng có thể chỉ định câu truy vấn hay tác vụ khai phá
dữ liệu.
o Người sử dụng có thể được cung cấp thông tin hỗ trợ việc tìm
kiếm, thực hiện khai phá dữ liệu sâu hơn thông qua các kết quả
khai phá trung gian.
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ực
quan 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
o 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
5 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o Ngôn ngữ truy vấn khai phá dữ liệu và giao diện đồ họa cho
ngườ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 Server
2000/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 analysis
systems)
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ủa
các thông tin trong cơ sở dữ liệu. Ví dụ như toán tử liên kết áp
dụng cho bảng quan hệ, bảng đầu chứa thông tin về các nhân
viên và phòng ban, bảng thứ hai chứa các thông tin về các phòng
ban 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ễn
dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các
thông tin cũ. Mẫu chiết xuất được bằng cách sử dụng phương
pháp này thường là các luật suy diễn.
o 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ạo
mẫ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ác
thô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ác
mẫu trong CSDL. Trong khai phá dữ liệu, quy nạp được sử dụng
trong cây quyết định và tạo luật.
- Phương pháp ứng dụng K-láng giềng gần:
6 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o Sự miêu tả các bản ghi trong tập dữ liệu khi trỏ vào không gian
nhiều chiều là rất có ích đối với việc phân tích dữ liệu. Việc dùng
cá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 được
dù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ệu
quả 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ềng
tốt nhất của cá thể được xem xét, và trung bình các hoạt động của
cá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 đơn
giả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ên
quan đến thuộc tính của bản ghi. Một bản ghi gồm hiều thuộc
tí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ểm
bất kỳ hầu như có cùng khoảng cách. Vì thế mà kỹ thuật K-láng
giềng không cho ta thêm một thông tin có ích nào, khi tất cả các
cặp điểm đều là các láng giềng. Cuối cùng, phương pháp K-láng
giề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:
o 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ệu
chưa biết hoặc đánh giá độ chính xác của mô hình. Tương ứng
vớ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ểu
diễn tất cả các mẫu dữ liệu. Sau đó, các mẫu sẽ được phân chia
một cách đệ quy dựa vào việc lựa chọn các thuộc tính. Nếu các
mẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụng
một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để
7 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
phân chia các mẫu ra các lớp. Theo từng giá trị của thuộc tính
vừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫu
và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à được
gá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ới
kích thước của mẫu dữ liệu huấn luyện. Một chương trình sinh
câ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ác
thành phần dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật
khai 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ành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo
theo sự xuất hiện của B trong cùng bản ghi đó: A => B.
2. PHÂN LỚP DỮ LIỆU
2.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ới
nếu độ chính xác của bộ phân loại được đánh giá là có thể chấp
nhậ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/đối tượng
o Bước học: X trong tập huấn luyện, một trị y được cho trước với
X à xác định f
8 | P a g e
Bước học/huấn luyện
Bước phân loại (đánh giá và áp dụng)
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o Bước phân loại: đánh giá f với (X’, y’) và X’ <> mọi X trong tập
huấn luyện; nếu acceptable thì dùng f để xác định y’’ cho X’’
(mới)
2.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
9 | P a g e
A?
B? C?
D?
Yes
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
- 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
kiểm tra các thuộc tính được chọn dựa trên một độ đo
thố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ỏi
nhóm
- Rút luật phân lớp từ cây quyết định
10 | P a g e
P
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o Mỗi một đường dẫn từ gốc đến lá trong cây tạo thành một luật.
o 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 χ
2
– 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
11 | P a g e
IF th i ti t=n ngờ ế ắ
AND đ m=v aộ ẩ ừ
THEN play tennis
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
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à
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 đối
tượng trong tất cả các cây con Si là
o Thông tin có được bởi việc phân nhánh trên thuộc tính A là
o Ví dụ
Lớp P: plays_tennis = “yes”
Lớp N: plays_tennis = “no”
Thông tin cần thiết để phân lớp một mẫu được cho là:
Tính entropy cho thuộc tính thời tiết:
Ta có:
Do đó:
Tính tương tự:
2.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 Naïve Bayesian
Giả định: độc lập có điều kiện lớp (class conditional
independence)
12 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
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.
o 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à thu
nhập “high”.
P(age=young, income=high|buys_computer=yes) = 0
P(age=young, income=high|buys_computer=no) = 2/5 =
0.4
o P(H): prior probability
Xác suất của H
Ví dụ: P(buys_computer=yes) là xác suất mua máy tính
của khách hàng nói chung.
13 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
P(buys_computer=yes) = 9/14 = 0.643
P(buys_computer=no) = 5/14 = 0.357
o P(X): prior probability
Xác suất của X
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”.
P(age=young, income=high) = 2/14 = 0.143
o P(H), P(X|H), P(X) có thể được tính từ tập dữ liệu cho trước.
o P(H|X) được tính từ định lý Bayes.
P(buys_computer=yes|age=young, income=high) =
P(age=young, income=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ới
mạng Bayesian như sau:
X được phân loại vào C
i
nếu và chỉ nếu
P(C
i
|X) > P(C
j
|X) với 1<=j<=m, j<>i
Tối đa hóa P(C
i
|X) (i.e. chọn C
i
nếu P(C
i
|X) là trị lớn nhất)
Tối đa hóa P(X|C
i
)P(C
i
)
à P(C
1
) = P(C
2
) = = P(C
m
) hoặc P(C
i
) = |C
i,D
|/|D| …
14 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o P(X|Ci) được tính với giả định class conditional independence.
o xk, k = 1 n: trị thuộc tính Ak của X
o P(xk|Ci) được tính như sau:
Ak là thuộc tính rời rạc.
P(xk|Ci) = |{X’|x’k = xk ∧ X’ ∈ Ci}|/|Ci,D|
Ak là thuộc tính liên tục.
P(xk|Ci) tuân theo một phân bố xác suất nào đó (ví dụ:
phân bố Gauss).
o Nếu P(x
k
|C
i
) = 0 thì P(X|C
i
) = 0
Ban đầu
• P(x
k
|C
i
) = |{X’|x’
k
= x
k
∧ X’ ∈ C
i
}|/|C
i,D
|
Laplace (Pierre Laplace, nhà toán học Pháp, 1749-1827)
• P(x
k
|C
i
) = (|{X’|x’
k
= x
k
∧ X’ ∈ C
i
}|+1)/(|C
i,D
| + m)
z-estimate
• P(x
k
|C
i
) = (|{X’|x’
k
= x
k
∧ X’ ∈ C
i
}| + z*P(x
k
))/(|
C
i,D
| + z)
3. GIỚI THIỆU PHẦN MỀM MÃ NGUỒN MỞ WEKA
15 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
3.1. Giới thiệu phần mềm Weka
- WEKA – Waikato Environment for Knowledge Analysis. Là phần
mềm khai thác dữ liệu, thuộc dự án nghiên cứu của đại học Waikato,
New Zealand.
- WEKA được xây dựng bằng ngôn ngữ Java, cấu trúc gồm hơn 600 lớp,
tổ chức thành 10 packages.
- Các chức năng chính của phần mềm:
o Khảo sát dữ liệu: tiền xử lí dữ liệu, phân lớp dữ liệu, gom cụm
dữ liệu, và khai thác luật kết hợp.
o Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng,
đánh giá các mô hình học.
o Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau.
- Các phiên bản của Weka:
o Snapshots là các bản vá lỗi mới nhất, thường là được cập nhật
hàng đêm.
o Book versions là các phiên bản thể hiện những chức năng được
mô tả trong quyển sách Data Mining: Practical Machine
Learning Tools and Techniques (2nd Edition) của Ian.H.Witten
và Eibe Frank.
o Developer versions là các phiên bản thử nghiệm, hỗ trợ nhiều
tính năng mới nhưng còn chưa ổn định.
3.2. Các chức năng của phần mềm Weka
- Khảo sát dữ liệu:
16 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
Explorer: là ứng dụng con cho phép thực nghiệm các nhiệm vụ khai
thác dữ liệu thường gặp như:
o Tiền xử lý dữ liệu
o Khai thác luật kết hợp
o Phân lớp dữ liệu
o Gom cụm dữ liệu
- Thực nghiệm mô hình:
Experimenter: là ứng dụng con cung cấp môi trường thực nghiệm để
kiểm chứng các mô hình học, so sánh với nhau để đánh giá.
17 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
- Thiết kế các bước của một thì nghiệm:
KnowledgeFlow: Là môi trường cho phép tương tác đồ họa kiểu kéo-
thả đề thiết kế các bước (hay các thành phần) của một thí nghiệm.
- Giao tiếp dòng lệnh:
Simple CLI: Là giao diện cho phép thực hiện các công việc theo kiểu
dòng lệnh (như MS-DOS)
18 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
3.3. Chức năng phân lớp trong Weka
- Phân lớp (classify) là một nhiệm vụ khai thác dữ liệu, trong đó: cho
trước một tập hợp các lớp, tìm cách gán một mẫu mới vào phân lớp sao
cho có độ chính xác cao nhất có thể.
- Ví dụ:
o Dự đoán khối u là u lành hay u ác.
o Phân loại văn bản theo chủ đề tin tức, thể thao, giáo dục
o Xác định một email thuộc “spam” hoặc “non-spam”.
o Xác định loại bệnh của bệnh nhân dựa vào các triệu chứng của
họ.
- Weka hỗ trợ phân lớp trong phần chức năng Explorer của nhóm chức
năng Applications.
19 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
- Tab Classify: Đây là Tab cho phép thực hiện chức năng phân lớp trong
Weka.
- Nút Choose: Đây là chức năng cho phép người dùng chọn lựa một trong
các thuật toán phân lớp đã cài đặt sẵn để áp dụng lên dữ liệu. Các bước
thực hiện như sau:
o Bước 1: nhấn nút Choose để mở hộp thoại chọn thuật toán.
o Bước 2: nhấn vào ô chữ hiển thị thuật toán để mở hộp thoại chọn
tham số.
o Bước 3: nhấn nút Start để chạy thuật toán với dữ liệu hiện có.
- Khung Classifier output: Nơi thể hiện dữ liệu thu được sau khi thực
hiện thành công, gồm thông tin về tập dữ liệu, mô hình phân lớp (cây
quyết định, giá trị xác suất…), kết quả dự đoán trên tập dữ liệu kiểm thử
và số liệu thống kê.
- Khung Result list (right-click for options): là nơi lưu lại thông tin các
lần chạy. Ta có thể ghi lại kết quả chạy thuật toán sang tập tin để lưu
trữ.
- Khung Test options: Là bảng chọn lựa chế độ kiểm thử để đánh giá
hiệu quả của bộ phân lớp đã được xây dựng.
o Use training set: sử dụng tập huấn luyện làm tập kiểm thử.
o Supplied test set: chỉ định tập dữ liệu mới làm tập kiểm thử.
o Cross-validation: kiểm thử bằng phương pháp cross-validation.
20 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
o Percentage split: chia tập dữ liệu ban đầu thành tập huấn luyện
và tập kiểm thử theo tỉ lệ %.
- Nút More options…: Lựa chọn chế độ xuất kết quả.
4. PHÂN LỚP DỮ LIỆU BẰNG WEKA
4.1. Bộ dữ liệu minh họa
Tập dữ liệu huấn luyện mẫu được cho trong bảng sau:
Ten MauToc ChieuCao CanNang DungKem? KetQua
Sarah Vang Trung binh Nhe Khong ChayNang
Dana Vang Cao Trung binh Co Khong
Alex Nau Thap Trung binh Co Khong
Annie Vang Thap Trung binh Khong ChayNang
Emilie Do Trung binh Nang Khong ChayNang
Peter Nau Cao Nang Khong Khong
John Nau Trung binh Nang Khong Khong
Kare Vang Thap Nhe Co Khong
4.2. Phân lớp với cây quyết định
4.2.1. Giới thiệu
- Là mô hình phân lớp dạng cây sao cho bắt đầu từ một số thuộc tính nào
đó (nút trung gian) có thể đi đến quyết định phân lớp cho một mẫu (nút
lá).
- Ví dụ: ID3, J48…
4.2.2. Các bước thực hiện
Đưa mẫu huấn luyện vào Weka
21 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
Chọn chức năng phân lớp dữ liệu tại Tab Classify
Chọn phân lớp theo thuật toán J48 của cây quyết định
22 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
Chọn “Use training set” để phân lớp theo tập huấn luyện và chọn thuộc
tính “KetQua” làm thuộc tính phân lớp
23 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
Chọn nút “Start” để thực hiện phân lớp
4.2.3. Phân tích kết quả
Thông tin tóm tắt về lượt chạy: thuật toán sử dụng, dữ liệu đầu vào
(tên, các thuộc tính…), kiểu test
=== Run information ===
Scheme:weka.classifiers.trees.J48 -C 0.25
-M 2
Relation: HuanLuyen2
Instances: 8
Attributes: 6
Ten
MauToc
ChieuCao
CanNang
DungKem?
KetQua
Test mode:evaluate on training data
Cây quyết định được xây dựng từ thuật toán J48 với các thông tin:
Số nút lá: 2; kích thước cây: 3
=== Classifier model (full training set)
===
J48 pruned tree
DungKem? = Khong: ChayNang (5.0/2.0)
24 | P a g e
[PHÂN TÍCH KHẢ NĂNG PHÂN LỚP DỮ LIỆU TRONG
WEKA]
DungKem? = Co: Khong (3.0)
Number of Leaves : 2
Size of the tree : 3
Time taken to build model: 0 seconds
Confusion matrix: Ma trận thể hiện phân bố các lớp do Weka dự
đoán so với thực tế.
o Cột: chỉ số mẫu phân bố về lớp tương ứng do Weka thực hiện.
o Dòng: chỉ số mẫu thuộc về lớp tương ứng trong thực tế.
=== Confusion Matrix ===
a b < classified as
3 0 | a = ChayNang
2 3 | b = Khong
4.3. Phân lớp với NaiveBayes
4.3.1. Giới thiệu
- Là mô hình phân lớp dựa trên xác suất thống kê theo định lý Bayes.
- Trong Weka, chúng ta quan tâm đến dạng Bayes đơn giản nhất, đó là
NaiveBayesSimple.
4.3.2. Các bước thực hiện
Chọn phân lớp theo dạng NaiveBayesSimple
25 | P a g e