Phân lớp Bayees

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số thử nghiệm khai phá dữ liệu trong cơ sở dữ liệu ORACLE (Trang 37 - 39)

Phân lớp Bayees là phƣơng pháp phân lớp thống kê dự đoán xác suất các thành viên thuộc lớp. Các phân lớp Bayees cho tính chính xác và tốc độ cao khi áp dụng vào các CSDL lớn. Phƣơng pháp Naive Bayees là một phƣơng pháp phân lớp

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle

Bayees đơn giản. Phƣơng pháp này giả thiết ảnh hƣởng của một giá trị thuộc tính tới lớp là độc lập với các giá trị thuộc tính khác - gọi là độc lập điều kiện lớp.

1. Lý thuyết Bayees [11]

Cho X là dữ liệu ví dụ của một lớp chƣa biết. H là giả thiết X thuộc lớp C nào đó. Bài toán phân lớp sẽ xác định P(H|X) - là xác suất giả thuyết H chứa ví dụ X khi quan sát hay nói cách khác - là xác suất hậu nghiệm của H với điều kiện X .

Ví dụ: Đối tƣợng hoa quả đƣợc mô tả bằng hình dáng và màu sắc. Giả sử X là đỏ và tròn, giả thiết H là „quả táo‟. P(H|X) thể hiện độ chắc chắn mà X là quả táo khi thấy X là đỏ và tròn. P(H) là xác xuất tiên nghiệm của H – là xác suất đối tƣợng là quả táo mà không cần biết trông đối tƣợng nhƣ thế nào (độc lập với X). Xác suất hậu nghiệm P(H|X) dựa trên các thông tin hơn là dựa trên xác suất tiên nghiệm P(H). Tƣơng tự có P(X|H) là xác suất hậu nghiệm của X với điều kiện H - là độ chắc chắn mà nếu X là tròn và đỏ thì X là quả táo và P(X) xác suất tiên nghiệm của X.

Công thức Bayees là:

P(H|X)=P(X|H)P(H)/P(X) (II.5.1) 2. Phân lớp Naive Bayees

1. Mỗi dữ liệu ví dụ đƣợc biểu diễn bằng một véctơ X=(x1,...xn) mô tả n độ đo của n thuộc tính A1,..An.

2. Giả sử có m lớp C1,...Cm. Cho một trƣờng hợp X chƣa biết lớp, phân lớp sẽ dự đoán X thuộc về lớp Ci có xác suất điều kiện X cao nhất, nghĩa là

X Ci P(Ci|X)>P(Cj | X) 1<=j<=m j # i. Theo công thức Bayees ta có

P(Ci|X) = P(X | Ci)P(Ci)/ P(X)

Trong đó Ci - đƣợc gọi là giả thiết hậu nghiệm lớn nhất.

3. Nếu P(X) là hằng chỉ cần tìm max P(X|Ci)P(Ci). Nếu xác suất đến trƣớc chƣa biết và giả sử P(C1)=P(C2)...thì tìm Ci có max P(X|Ci)P(Ci). (II.5.2)

4. Nếu dữ liệu có nhiều thuộc tính chi phí tính toán P(X|Ci) có thể rất lớn, vì vậy

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle với giả thiết các thuộc tính độc lập điều kiện lớp thì có thể tính

P(X|Ci)= P(Xk|Ci) (k=1..n). Trong đó P(Xk|Ci) đƣợc tính nhƣ sau:

Với giả sử Ak là thuộc tính giá trị tên thì P(Xk|Ci)= Sik/Si , trong đó Sik số ví dụ huấn luyện của lớp Ci có giá trị Xk với Ak, Si là số ví dụ thuộc lớp Ci.

5. Để phân lớp cho đối tƣợng X chƣa biết lớp: Tính các giá trị P(X|Ci) cho mọi lớp Ci và X thuộc lớp Ci khi và chỉ khi: P(X|Ci)=Max(P(X|Ci)P(Ci).

Ví dụ: Với dữ liệu huấn luyện bảng 3 ở trên sử dụng phân lớp Bayees dự đoán lớp (có mua máy tính hay không?) cho trƣờng hợp X với X (tuổi=‟<30‟, thunhap=‟TB‟, sinhvien=‟C‟, TT=‟K‟). Tính theo thuật toán:

P(C1) = P(mua=‟C‟)=9/14=.643; P(C2) = P(mua=‟K‟)=5/14=.357 P(X1|C1)=P(tuổi=‟<30‟, mua=‟C‟)=2/9=..0222

P(tuổi=‟<30‟, mua=‟K‟)=3/5=..06

P(thunhap=‟TB‟, mua=‟C‟)=4/9=..0444, P(thunhap=‟TB‟, mua=‟K‟)=2/5=.04

P(svien=‟C‟, mua=‟C‟)=6/9=.0667 P(svien=‟C‟, mua = ‟K‟)=1/5=..2 P(TT=‟K‟, mua=‟C‟)=6/9=.0667 P(TT=‟K‟, mua =‟K‟)=2/5=.4 P(X|C1)P(C1) = (0.222x0.444x.667x.667)x..643 = .0028

P(X|C2)P(C2) = (0.600x0.400x..200x.400)x.357 = .0007

Nhƣ vậy có thể dự báo đối tƣợng X sẽ thuộc vàp lớp C1 „Có mua máy tính‟.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số thử nghiệm khai phá dữ liệu trong cơ sở dữ liệu ORACLE (Trang 37 - 39)

Tải bản đầy đủ (PDF)

(97 trang)