3.Thuật toán MS Naive Bayes

Một phần của tài liệu Đồ án SQL báo cáo SSAS (Trang 33 - 39)

a. Giới thiệu

Thuật toán MS Naive Bayes là một thuật toán phân loại đợc Microsoft SQL Server 2005 cung cấp để sử dụng trong mô hình KPDL.

Khi mô hình KPDL sử dụng thuật toán này, chúng ta có thể xác định một số thuộc tính đầu vào giúp việc phân loại các trạng thái của thuộc tính dự đoán tốt nhất, và giả sử rằng các thuộc tính độc lập với nhau. Do giả thiết này nên thuật toán có tên là Naive Bayes.

Thuật toán MS Naive Bayes xây dựng mô hình khai phá nhanh hơn các thuật toán khác. Thuật toán này chỉ hỗ trợ các thuộc tính rời rạc (discrete, ví dụ: Gới tính), nếu tạo một mô hình Naive Bayes với thuộc tính liên tục (continuous) sẽ sinh ra lỗi.

b. Nguyên tắc cơ bản của giải thuật

Thuật toán tính xác suất có điều kiện các trạng thái của mỗi cột đầu vào với mỗi trạng thái của cột dự báo.

Định nghĩa về xác suất có điều kiện nh sau:

Xác suất của biến cố A với điều kiện biến cố B xảy ra đợc ký hiệu P(A/B) và

P(A/B)= ( ) ) ( B P AB P

Ví dụ : Trong chiến lợc quảng cáo về mẫu xe đạp mới của phòng Marketing thuộc công ty Adventure Works Cycle, họ quyết định dùng cách phát tờ rơi. Để giảm chi phí, họ muốn chỉ gửi đến những khách hàng quan tâm đến mặt hàng này.

Công ty đã lu thông tin về những đặc điểm của khách hàng mua sản phẩm của công ty trong một vài năm trớc đây (cơ sở dữ liệu đính kèm bộ cài SQL Server 2005). Họ muốn sử dụng dữ liệu này để thấy các đặc điểm nh tuổi hay vùng...có thể giúp họ dự đoán sự hởng ứng của khách hàng với chiến dịch quảng cáo, bằng cách xem xét những ngời đã từng mua hay không mua xe đạp tại công ty chủ yếu là thuộc độ tuổi nào, khoảng cách từ nhà đến nơi làm việc bao nhiêu xa...Đặc biệt, họ muốn thấy đợc sự khác nhau giữa đặc điểm của các khách hàng đã mua và không mua xe đạp của công ty nh thế nào?

Bằng cách sử dụng thuật toán MS Naive Bayes để xây dựng mô hình khai phá, phòng Marketing có thể nhanh chóng đa ra kế hoạch quảng cáo của mình.

Xây dựng mô hình TM Naive Bayes với cấu trúc nh sau:

Structure TM Naive Bayes Diễn giải

CommuteDistance Input Tuổi

BikeBuyer Predict Có mua xe không?

Age Input K/C từ nhà đến nới làm

việc

CustomerKey Key Mã khách hàng

Education Input Trình độ tiếng anh

Gender Input Giới tính

House Owner Flag Input Có là chủ nhà không? Marital Status Input Tình trạng hôn nhân Number Car Owner Input Số xe hơi sở hữu Number Children At Home Input Số đứa trẻ ở nhà

Region Input Vùng Total Children Input Tổng số đứa trẻ

Bảng 2.1: Cấu trúc của mô hình TM Naive Bayes

Thuộc tính dự đoán BikeBuyer với hai trạng thái 0 và 1 tơng ứng với sự không mua và mua xe của khách hàng.

Nh đã nói ở trên: Thuật toán tính xác suất có điều kiện các trạng thái của mỗi cột đầu vào với mỗi trạng thái của cột dự báo. Trong ví dụ này với cột đầu vào CommuteDistance, từ cở sở dữ liệu về 18484 khách hàng của công ty ta có bảng thống kế sau:

CommuteDistance Số ngời mua Số ngời không mua

0-1 Miles (6310) 3538 2772 1-2 Miles (3232) 1529 1703 2-5 Miles (3234) 1839 1395 5-10 Miles (3214) 1318 1896 10+ Miles (2494) 908 1586 Tổng =18484 9132 9352

Bảng 2.2: Số khách hàng với thuộc tính CommuteDistance

Gọi A là biến cố ngời đó thuộc nhóm khách hàng có khoảng cách từ nhà đế chỗ làm việc từ 0-1 Miles. B1 là biến cố ngời đó mua xe đạp, thuật toán MS Naive Bayes sẽ tính xác suất P1(A/B1) = ( ) ) ( 1 1 B P AB P =9132:18484 18484 : 3538 = 0,387

Nếu vẫn gọi A là biến cố nh trên, B2 là biến cố ngời đó không mua xe đạp, ta có:

P2(A/B2) = ) ( ) ( 2 2 B P AB P = 9352:18484 18484 : 2772 =0,296

Nh vậy, trong số những ngời mua xe đạp của công ty, chọn ra một ngời thì xác suất ngời đó đi từ nhà tới chỗ làm việc từ 0-1 Miles là 0,387. Và với những khách hàng không mua xe đạp của công ty, chọn ra một khách hàng thì xác suất ngời đó đi từ nhà đến chỗ làm việc từ 0-1 Miles là 0,296.

Tơng tự với các trạng thái khác của thuộc tính đầu vào CommuteDistance ta có bảng sau:

CommuteDistance P1(A/B1) P2(A/B2)

0-1 Miles 0,387 0,296

1-2 Miles 0,167 0,182

2-5 Miles 0,201 0,149

5-10 Miles 0,144 0,203

10+ Miles 0,099 0,170

Bảng 2.3: Xác suất có điều kiện các trạng thái của CommuteDistance

Hoàn toàn tơng tự với thuộc tính CommuteDistance, xét với các thuộc tính còn lại trong mô hình ta đợc kết quả nh các kết quả hiển thị ở Microsoft Naive Bayes Viewer trong Business Intelligence Development Studio.

Hình 2.1: Xác suất có điều kiện trên MS Naive Bayes Viewer.

Dựa vào các xác suất này chúng ta có thể thấy đợc trạng thái của của thuộc tính đầu vào nào giúp cho phân biệt đợc các trạng thái của thộc tính dự báo. Xét với 1000 khách hàng mua xe và 1000 khách hàng không mua xe, chúng ta có 387 khách hàng mua xe đi làm từ 0-1 Miles, cũng với khoảng cách này có 296 khách hàng không mua xe tại công ty. Theo đó, với trạng thái 0-1 Miles của thuộc tính CommuteDistance chúng ta có số chênh lệch giữa số khách hàng mua và số khách hàng không mua xe tại công ty là 387-296 = 91 khách hàng, tơng tự với các trạng thái khác ta có bảng: CommuteDistanc e Số ngời mua Số ngời không mua Chênh lệch 0-1 Miles 387 296 91 1-2 Miles 201 149 52 2-5 Miles 167 182 -15 5-10 Miles 144 203 -59 10+ Miles 99 170 -71 Bảng 2.4: Xét với 1000 khách hàng

Vậy với trạng thái 0-1 Miles phân biệt giữa các khách hàng mua và không mua xe rõ nhất, và trạng thái 10+ Miles phân biệt giữa khách hàng không mua và khách hàng mua xe tại công ty rõ ràng nhất, điều này đợc thể hiện ở Tab Attribute Discrimination trong Microsoft Naive Bayes Viewer . Tơng tự với các trạng thái của các thuộc tính đầu vào ta có hình sau:

Hình 2.2:Hai trạng thái của thuộc tính CommuteDistance

Nh vậy, trong chiến lợc quảng cáo của phòng Marketing của công ty Adventure Works Cycle, họ sẽ chủ yếu phát tờ rơi cho những ngời đi từ 0-1 Miles để làm việc và hạn chế phát tờ rơi cho những ngời phải đi trên 10 Miles để làm việc.

c. Các tham số của thuật toán MS Navie Bayes:

Thuật toán MS Navie Bayes khá đơn giản, vì vậy không có nhiều tham số. Các tham số đảm bảo thuật toán hoàn thành trong một lợng thời gian hợp lí.

 MAXIMUM_INPUT_ATTRIBUTES : xác số thuộc tính đầu vào lớn nhất. Nếu nh số thuộc tính đầu vào lớn hơn giá trị của tham số, thuật toán sẽ chọn số đầu vào

bằng giá trị này. Thiết lập tham số này bằng 0 để thuật toán tính đên tất cả các thuộc tính đầu vào. Giá trị mặc định là 255.

 MAXIMUM_OUTPUT_ATTRIBUTES : xác định số thuộc tính đầu ra lớn nhất. Nếu mô hình có số đầu ra lớn hơn giá trị của tham số, thuật toán sẽ chọn số đầu ra bằng giá trị này. Thiết lập tham số này bằng 0 để thuật toán tính đến tất cả đầu ra. Giá trị mặc định là 255.

 MAXIMUM_STATES : chỉ ra số trạng thái lớn nhất của một thuộc tính đợc tính đến. Nếu một thuộc tính có số trạng thái lớn hơn giá trị của tham số, thuật toán sẽ chọn số trạng thái bằng giá trị của tham số này. Tham số này đợc sử dụng khi một thuộc tính có nhiều trạng thái , chẳng hạn nh mã bu điện. Cũng nh các tham số khác, thiết lập bằng 0 xét đến tất cả các trạng thái. Giá trị mặc định là 100.

 MINIUMUM_DEPENDENCY_PROBABILITY: là một số từ 0 đến 1, giá trị của tham số này đợc thiết lập để giới hạn kích thớc của nội dung mô hình đợc tạo ra bởi thuật toán. Giá trị này lớn thì sẽ giảm số thuộc tính trong nội dung của mô hình. Giá trị mặc định là 0.5

Một phần của tài liệu Đồ án SQL báo cáo SSAS (Trang 33 - 39)

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

(39 trang)
w