2.4 .Giới thiệu cơng cụ BI trong hệ quản trị cơ sở dữ liệu SQL 2008
2.4.4 .Giới thiệu một số thuật tốn sử dụng trong BIDS
Dịch vụ phân tích giới thiệu một tập các thuật tốn khai thác dữ liệu chuẩn. Phạm vi luận văn sẽ giới thiệu 1 thuật tốn cơ bản:
Thuật tốn Decision Tree
Cây quyết định (decision tree) là một phương pháp rất mạnh và phổ biến cho cả hai nhiệm vụ của khai phá dữ liệu là phân loại và dự báo. Mặt khác, cây quyết định cịn cĩ thể chuyển sang dạng biểu diễn tương đương dưới dạng tri thức là các luật If-Then.
Cây quyết định là cấu trúc biễu diễn dưới dạng cây. Trong đĩ, mỗi nút trong
(internal node) biễu diễn một thuộc tính, nhánh (branch) biễu diễn giá trị cĩ thể cĩ của thuộc tính, mỗi lá (leaf node) biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi
là gốc (root). Cây quyết định cĩ thể được dùng để phân lớp bằng cách xuất phát từ gốc của cây và di chuyển theo các nhánh cho đến khi gặp nút lá. Trên cơ sở phân lớp này chúng ta cĩ thể chuyển đổi về các luật quyết định.
Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định. Cây quyết định là một dạng đặc biệt của cấu trúc cây. Cĩ khá nhiều thuật tốn Datamining hay và được ứng dụng nhiều, nhưng trong phạm vi kiến thức và thời gian nghiên cứu, đề tài quyết định chọn thuật tốn ID3.
a.Thuật tốn
Thuật tốn ID3(Iterative Dichotomiser 3) do Quinlan phát triển vào năm 1979, mục đích xây dựng nên một cây quyết định dựa vào tập dữ liệu dataset, với mỗi thuộc tính sẽ cĩ những giá trị đi cùng.
-Mỗi nút (khơng phải lá) của một cây quyết định tương ứng với một thuộc tính đầu vào, và mỗi một nhánh con đi ra tiếp theo chính là giá trị của thuộc tính đĩ. Một nút lá tương ứng với giá trị kỳ vọng của các thuộc tính trước đĩ mà được xác định bằng cách đi từ nút gốc cho đến nút lá đĩ (ta cĩ thể hiểu đĩ là kết quả kì vọng cuối cùng được đưa ra sau khi đã duyệt qua tất cả những thuộc tính cĩ liên quan trước đĩ tuân theo những luật, ràng buộc được nêu ra)
-Một cây quyết định “tốt” là cây cĩ mỗi nút lá tương ứng với một thuộc tính mà thuộc tính đĩ cĩ giá trị ý nghĩa tốt nhất trong tồn bộ những thuộc tính chưa được duyệt (tính từ nút gốc cho đến nút hiện tại). Tức là, chúng ta muốn dự đốn giá trị của thuộc tính bằng cách dựa vào số lượng những nghi vấn nhỏ nhất trên tổng số những nghi vấn trung bình (mức độ tin cậy và chính xác càng cao thì sẽ được chọn)
Entropy:
Entropy được sử dụng để xác định thơng tin đầu vào một thuộc tính đặc biệt là về các thuộc tính đầu ra cho một tập hợp các dữ liệu huấn luyện, định mức giá trị cho những nguồn thơng tin khơng chắc chắn, nguồn thơng tin đưa vào càng khơng chắc chắn thì càng cần cĩ thêm thơng tin mơ tả về nĩ.
Số lượng trung bình của lượng thơng tin cần thiết để xác định mỗi nguồn tin là một thước đo sự khơng chắc chắn của đối tượng tiếp nhận về nguồn tin đĩ, và được gọi là entropy của nguồn. Giả thiết rằng nguồn S cĩ n thơng tin {m1,m2,..., mn}, những thơng tin
này khơng phụ thuộc vào nhau, ta gọi xác suất của mỗi milà pi . Nếu nguồn S tuân theo luật phân bố P = (p1, p2,..., pn) thì ta cĩ cơng thức tính Entropy của P là:
j t j p t j p t Entropy( ) ( | )log ( | )
Bây giờ, ta chia thuộc tính T thành những tập dữ liệu con mức dưới T1, T2,..., Tn. Như vậy, lượng thơng tin cần để xác định những thành phần trong T chính là lượng thơng tin trung bình cần để xác định những đối tượng dữ liệu con của T như trên:
1 | | ( , ) ( ) | | n i i i T H X T H T T
Trong quá trình dựng cây quyết định, ta sẽ luơn cần biết lượng thơng tin được cung cấp tương ứng từ mỗi thuộc tính X. Đĩ chính là sự chênh lệch giữa giá trị thơng tin cần để phân chia các thành phần của T trước khi biết giá trị của X, H(T) và giá trị cần để phân chia thành tập dữ liệu con của T sau khi đã biết giá trị của X, H(T). Từ đĩ ta cĩ khái niệm Information Gain cho thuộc tính X cùng với tập dữ liệu T của nĩ:
Gain (X,T) = H(T) – H(X,T)
Dựa vào chỉ số Gain ta chọn thuộc tính để phân nhánh cho cây quyết định. Gain(X) càng nhỏ thì các tập con càng đồng nhất hơn. Bởi vậy chúng ta chọn thuộc tính cho Gain(X) lớn nhất để phân nhánh.
b.Ví dụ minh họa
Tìm luật phân lớp trong bảng sau đây.
TT Quê quán Điểm vào Điểm
năm 1 Giới tính Xếp loại 1 Hà Nội Khá TB Nữ Khá
2 Hà Nội Giỏi Khá Nam Giỏi
3 Thái nguyên TB Khá Nam Giỏi
4 Hà Nội TB Khá Nữ Khá
5 Thái Bình Khá Giỏi Nữ Khá
6 Thái nguyên Giỏi Giỏi Nữ Giỏi
7 Thái nguyên Khá Giỏi Nữ Giỏi
8 Hà Nội TB TB Nam Giỏi
Bảng 1. Ví dụ phân lớp
Bƣớc 1:
Các thuộc tính và miền giá trị tương ứng baogồm:
- Thuộc tính Quê quán cĩ miền giá trị {Hà Nội, Thái Nguyên, Thái Bình} - Thuộc tính Điểm vào cĩ miền giá trị {Giỏi, Khá, TB}
- Thuộc tính Giới tính cĩ miền giá trị { Nam, Nữ}
- Thuộc tính phân lớp Xếp loại cĩ miền giá trị {P, N} (P ứng với Khá và N là Giỏi)
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+n))*log2(p/(p+n))-(n/(p+n))*log2(n/(p+n)) I(5,3) = -(5/8)* log2(5/8)-(3/8)* log2(3/8) = 0,954
Tính Entropy cho thuộc tính Quê quán
Quê quán pi ni I(pi,ni)
Hà Nội 2 2 1
Thái Nguyên 3 0 0
Thái Bình 0 1 0
Bảng 2. Ví dụ Entropy thuộc tính Quê quán Ta cĩ: Ta cĩ:
E(Quê quán) = (4/8)*I(2,2) + (3/8)*I(3,0) + (1/8)*I(0,1) = 0,5 Do đĩ:
Gain(Quê quán) = I(5,3) – E(Quê quán) = 0,954 – 0,5 = 0,454 Tính Entropy cho thuộc tính Điểm vào
Điểm vào pi ni I(pi,ni)
Giỏi 2 0 0
Khá 1 2 0,918
TB 2 1 0,918
Bảng 3. Ví dụ Entropy thuộc tính Điểm vào E(Điểm vào) = (2/8)*I(2,0) + (3/8)*I(1,2) + (3/8)*I(2,1) = 0,689 E(Điểm vào) = (2/8)*I(2,0) + (3/8)*I(1,2) + (3/8)*I(2,1) = 0,689 Gain(Điểm vào) = 0,954 – 0,689 = 0,265
Tính Entropy cho thuộc tính Điểm năm 1
Điểm năm 1 pi ni I(pi,ni)
Giỏi 2 1 0,918
Khá 2 1 0,918
Bảng 4. Ví dụ Entropy thuộc tính Điểm năm 1 E(Điểm năm 1) = (3/8)*I(2,1) + (3/8)*I(2,1) + (2/8)*I(1,1) = 0,939 E(Điểm năm 1) = (3/8)*I(2,1) + (3/8)*I(2,1) + (2/8)*I(1,1) = 0,939 Gain(Điểm năm 1) = 0,954 – 0,939 = 0,015
Tính Entropy cho thuộc tính Giới tính
Giới tính pi ni I(pi,ni)
Nam 3 0 0
Nữ 2 3 0,970
Bảng 5. Ví dụ Entropy thuộc tính Giới tính E(Giới tính) = (3/8)*I(3,0) + (5/8)*I(2,3) = 0,607 E(Giới tính) = (3/8)*I(3,0) + (5/8)*I(2,3) = 0,607
Gain(Giới tính) = 0,954 – 0,607 = 0,347
Chọn thuộc tính cĩ độ lợi thơng tin lớn nhất là thuộc tính “Quê Quán”, ta cĩ cây cĩ dạng:
Bƣớc 2:
Trong cây này ta thấy ứng với Quê quán Hà Nội cịn 2 phần tử cĩ trị P và 2 phần tử cĩ trị N. Tiếp tục áp dụng ID3 cho nút con này cho đến khi đạt đến nút lá hoặc nút cĩ entropy=0. Ta cĩ tập dữ liệu (con) ứng với Quê quán Hà nội như sau:
Điểm vào Điểm năm 1 Giới tính Xếp loại Khá TB Nữ Khá
Giỏi Khá Nam Giỏi
TB Khá Nữ Khá
TB TB Nam Giỏi
Các thuộc tính và miền giá trị tương ứng baogồm: Quê quán
2P, 2N P (3) N (1)
Hà Nội
Thái nguyên
- Thuộc tính Điểm vào cĩ miền giá trị {Giỏi, Khá, TB} - Thuộc tính Điểm năm thứ 1 cĩ miền giá trị { Khá, TB } - Thuộc tính Giới tính cĩ miền giá trị { Nam, Nữ}
- Thuộc tính phân lớp Xếp loại cĩ miền giá trị {P, N} (P ứng với Khá và N là Giỏi)
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+n))*log2(p/(p+n))-(n/(p+n))*log2(n/(p+n)) I(2,2) = 1
Tính Entropy cho thuộc tính Điểm vào
Điểm vào pi ni I(pi,ni)
Giỏi 1 0 0
Khá 0 1 0
TB 1 1 1
E(Điểm vào) = (1/4)*I(1,0) + (1/4)*I(0,1) + (2/4)*I(1,1) = 0,5 Gain(Điểm vào) = 1 – 0,5 = 0,5
Tính Entropy cho thuộc tính Điểm năm 1
Điểm năm 1 pi ni I(pi,ni)
Khá 1 1 1
TB 1 1 1
E(Điểm năm 1) = (2/4)*I(1,1) + (2/4)*I(1,1) = 1 Gain(Điểm năm 1) = 0,954 – 1 = -0,046
Tính Entropy cho thuộc tính Giới tính
Giới tính pi ni I(pi,ni)
Nam 2 0 0
Nuec 0 2 0
E(Giới tính) = (2/4)*I(2,0) + (2/8)*I(0,2) = 0 Gain(Giới tính) = 0,954 – 0 = 0,954
Như vậy các luật được tạo ra như sau:
IF (Quê quán = Thái Nguyên) THEN xếp loại Giỏi
ELSE IF Quê quán = Hà Nội AND Giới tính = Nam THEN Giỏi
ELSE IF (Quê quán = Thái Bình THEN Khá
ELSE Khá
Hay rút gọn luật như sau:
IF (Quê quán =Thái Nguyên) OR (Quê quán = Hà Nội AND Giới tính = Nam) THEN xếp loại Giỏi
ELSE Khá
Hai phân lớp trên phù hợp với luật được suy ra từ giải thuật ID3.
2.4.5.Quy trình xây dựng mơ hình khai phá dữ liệu với BIDS như sau:
-Tạo mới 1 project (Analysis Services Project) -Tạo một Data Source
-Tạo một Data Source View
-Tạo một Mining model structure. -Tạo các Mining models.
-Khai thác Mining models.
-Kiểm tra độ chính xác của Mining Models. -Sử dụng Mining Models để dự đốn.