Tải bản đầy đủ (.doc) (37 trang)

Tìm hiểu khả năng phân lớp tự động của SQL Server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (625.47 KB, 37 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Đề tài:
Tìm hiểu khả năng phân lớp tự động của SQL Server
Giáo viên hướng dẫn : PGS. TS. Đỗ Phúc
Học viên thực hiện : Nguyễn Xuân Sơn
Mã số học viên : CH1102007
Hà nội, 2014
1
Kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những vấn đề
nguyên cứu mở rộng hiện nay; tập trung chủ yếu vào thống kê, máy học và mạng
nơtrôn.
Kĩ thuật phân lớp được đánh giá là một kĩ thuật khai phá dữ liệu được sử dụng
rộng rãi nhất với nhiều mở rộng.
Sự kết hợp của kỹ thuật phân lớp và cơ sở dữ liệu là một lĩnh vực hứa hẹn bởi vì
đáp ứng được một vấn đề hết sức quan trọng của ứng dụng cơ sở dữ liệu đó là tính
uyển chuyển cao.
Với những ý nghĩa và vai trò hết sức quan trọng của kĩ thuật phân lớp đã nêu ở
trên , bài thu hoạch này tập trung nguyên cứu sâu những kĩ thuật phân lớp ,những cách
tiếp cận khác nhau đối với kỹ thuật phân lớp cùng với những tìm hiểu và đánh giá
những cải tiến của kĩ thuật phân lớp trong thời gian gẩn đây từ những kết quả được
đăng tải trên một số báo cáo khoa học tại những hội nghị khoa học quốc tế về Khai Phá
Dữ Liệu cũng như việc tìm hiểu và sử dụng kĩ thuật phân lớp trong sản phẩm thương
mại Microsoft SQL Server 2000.
Học viên
Nguyễn Xuân Sơn
2
MỤC LỤC


1. Giới thiệu về phân lớp: 4
2. Phân lớp bằng phương pháp qui nạp cây quyết định : 4
a. Khái niệm cây quyết định : 4
b. Thuật toán qui nạp cây quyết định : 4
c. Độ lợi thông tin (Information Gain) trong cây quyết định : 5
d. Nội dung giải thuật học cây quyết định cơ bản ID3 : 5
e. Những thiếu sót của giải thuật ID3: 7
f. Mở rộng qui nạp cây quyết định cơ bản : 7
g. Giải thuật mở rộng C4.5 : 8
h. Thu giảm cây quyết định và những tập luật suy dẫn : 8
i. Giải thuật mở rộng See5/C5.0: 9
j. Giải thuật See5/C5.0 là tốt hơn C4.5: 10
k. Phân lớp với GiniIndex(IBM IntelligenMiner) : 11
l. Tránh việc quá khít (overfitting) trong việc phân lớp : 11
3. Sự phân lớp cây quyết định trong cơ sở dữ liệu lớn: 12
a. SLIQ : A Fast Scalable Classifier for Data Mining : 12
b. Từ SLIQ sang SPRINT : A Scalable Parallel Classifier for DataMining 13
c. PUBLIC: Tích hợp sự phát triển của cây quyết định và tỉa cây: 13
d. RainForest: A Generic Framework: 14
e. Qui nạp cây quyết định dữ liệu dựa trên khối: 14
4. Phương pháp phân lớp Bayesian: 14
5. Phân lớp bằng mạng lạn truyền ngược: 17
6. Phân lớp dựa trên nguyên lý khai phá luật kết hợp: 18
7. Những phương thức phân lớp khác: 18
a. Những phương thức dựa trên khoảng cách: 18
b. Giải thuật Di truyền (Genetic Algorithms): 19
c. Tiếp cận tập thô : 19
d. Tiếp cận tập mờ: 20
e. Phân lớp bằng suy luận dựa trên trường hợp ( case-based reasoning): 20
8. Tiên đoán và phân lớp: 20

9. Khai phá dữ liệu với Microsoft OLE DB 21
10. Tạo cây quyết định trong Microsoft SQL Server 2000 25
3
1. Giới thiệu về phân lớp:
Phân lớp dữ liệu là kĩ thuật dựa trên tập huấn luyện và những giá trị hay hay là
nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệu
mới. Phân lớp cũng là tiên đoán loại lớp của nhãn. Bên cạnh kĩ thuật phân lớp có một
hình thức tương tự là kĩ thuật tiên đoán, kĩ thuật tiên đoán khác với phân lớp ở chỗ
phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hình
những hàm đánh giá liên tục .
Kĩ thuật phân lớp được tiến hành bao gồm 2 bướ c : Xây dựng mô hình và sử
dụng mô hình .
Xây dựng mô hình : là mô tả một tập những lớp được định nghĩa trước trong đó:
mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trước như là được xát
định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụng trong việc sử dụng
mô hình được gọi là tập huấn luyện. Mô hình được biểu diễn là những luật phân lớp,
cây quyết định và những công thức toán học .
Sử dụng mô hình : Việc sử dụng mô hình phục vụ cho mục đích phân lớp dữ
liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến. Trước khi sử
dụng mô hình người ta thường phải đánh giá tính chính xát của mô hình trong đó: nhãn
được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mô hình, độ chính
xác là phần trăm của tập hợp mẫu kiểm tra mà phân loại đúng bởi mô hình, tập kiểm
tra là độc lập với tập huấn luyện.
Phân lớp là một hình thức học được giám sát tức là: tập dữ liệu huấn luyện
(quan sát, thẩm định ) đi đôi với những nhãn chỉ định lớp quan sát, những dữ liệu
mới được phân lớp dựa trên tập huấn luyện .
Ngược lại với hình thức học được giám sát là hình thức học không được giám sát
lúc đó nhãn lớp của tập dữ liệu huấn luyện là không được biết đến.
2. Phân lớp bằng phương pháp qui nạp cây quyết định :
a. Khái niệm cây quyết định :

Cây quyết định là một flow-chart giống cấu trúc cây , nút bên trong biểu thị một
kiểm tra trên một thuộc tính , nhánh biểu diễn đầu ra của kiểm tra , nút lá biểu diễn
nhãn lớp hoặc sự phân bố của lớp .
Việc tạo cây quyết định bao gồm 2 giai đoạn : Tạo cây và tỉa cây .
Để tạo cây ở thời điểm bắt đầu tất cả những ví dụ huấn luyện là ở gốc sau đó
phân chia ví dụ huấn luyện theo cách đệ qui dựa trên thuộc tính được chọn .
Việc tỉa cây là xát định và xóa những nhánh mà có phần tử hỗn loạn hoặc những
phần tử nằm ngoài (những phần tử không thể phân vào một lớp nào đó) .
Việc sử dụng cây quyết định như sau : Kiểm tra những giá trị thuộc tính của
mẫu đối với cây quyết định .
b. Thuật toán qui nạp cây quyết định :
Giải thuật cơ bản (giải thuật tham lam) được chia thành các bước như sau:
4
1. Cây được xây dựng đệ qui từ trên xuống dưới (top-down) và theo cách thức
chia để trị (divide-conquer);
2. Ở thời điểm bắt đầu , tất cả những ví dụ huấn luyện ở gốc;
3. Thuộc tính được phân loại (nếu là giá trị liên tục chúng được rời rạc hóa);
4. Những ví dụ huấn luyện được phân chia đệ qui dựa trên thuộc tính mà nó chọn
lựa;
5. Kiểm tra những thuộc tính được chọn dựa trên nền tảng của heristic hoặc của
một định lượng thống kê.
Điều kiện để dừng việc phân chia:
1. Tất cả những mẫu huấn luyện đối với một node cho trước thuộc về cùng một
lớp;
2. Không còn thuộc tính còn lại nào để phân chia tiếp;
3. Không còn mẫu nào còn lại.
c. Độ lợi thông tin (Information Gain) trong cây quyết định :
Information gain là đại lượng được sử dụng để chọn lựa thuộc tính với
information gain lớn nhất .Giả sử có hai lớp , P và N . Cho tập hợp của những ví dụ S
chứa p phần tử của lớp P và n phần tử của lớp N. Khối lượng của thông tin, cần để

quyết định nếu những mẫu tùy ý trong S thuộc về P hoặc N được định nghĩa như là:
I(p,n) = -[p/(p+n)]log
2
[p/(p+n)] – [n/(p+n)]log
2
[n/(p+n)]
Giả sử rằng sử dụng thuộc tính A một tập hợp S được phân hoạch thành những
tập hợp {S
1
,S
2
, ,S
v
} . Nếu S
i
chứa những mẫu của P và n
i
mẫu của N
i
entropy hoặc
thông tin mong đợi cần để phân loại những đối tượng trong cây con S
i
là :

v
E(A) = Σ [(p
i
+n
i
)/(p+n)] I(p

i
,n
i
)

i=1
Thông tin nhận được ở nhánh A là : Gain(A) = I(p,n)-E(A)
d. Nội dung giải thuật học cây quyết định cơ bản ID3 :
ID3 là một giải thuật học cây quyết định được phát triển bởi Ross Quinlan (1983).
Ý tưởng cơ bản của giải thuật ID3 là để xây dựng cây quyết định bằng việc sử dụng
một cách tìm kiếm từ trên xuống trên những tập hợp cho trước để kiểm tra mỗi thuộc
tính tại mỗi nút của cây. Để chọn ra thuộc tính mà hữu ích nhất cho sự phân loại trên
những tập hợp cho trước , chúng ta sẽ đưa ra một hệ đo độ lợi thông tin.
Để tìm ra một cách tối ưu để phân loại một tập hợp thông tin , vấn đề đặt ra là
chúng ta cần phải làm tối thiểu hóa (Chẳng hạn, tối thiểu chiều cao của cây). Như vậy
chúng ta cần một số chức năng mà có thể đánh giá trường hợp nào nào cho ra một sự
phân chia cân bằng nhất . Hệ đo độ lợi thông tin sẽ là hàm như vậy.
ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V)
Return Decision Tree.
5
Begin
Đầu tiên nạp learning sets , tạo nút gốc cho cây quyết định
'rootNode', thêm learning set S vào trong nút gốc như là tập con
của nó.
For rootNode, đầu tiên chúng ta tính
Entropy(rootNode.subset)
If Entropy(rootNode.subset)==0, then
rootNode.subset bao gồm records
tất cả với cùng giá trị cho cùng giá trị thuộc tính xát định, trả về
một nút lá với decision attribute:attribute value;

If Entropy(rootNode.subset)!=0, then
tính độ lợi thông tin (information gain) cho mỗi thuộc tính trái
(chưa được sử dụng để phân chia), tìm thuộc tính A với
Maximum(Gain(S,A)). Tạo những nút con của rootNode này và
thêm vào rootNode trong cây quyết định.
For mỗi con của rootNode, áp dụng
ID3(S,A,V) một cách đệ qui cho đến khi đạt được
node mà có entropy=0 hay đạt được nút lá.
End ID3.
Ví dụ :
Để mô tả hoạt động của ID3 chúng ta sử dụng ví dụ “Play Tennis”. Sự mô tả
tượng trưng thuộc tính như sau:
Attribute Possible Values:
Outlook sunny, overcast , rain
Temperature hot , mild, cood
Humidity high,normal
Windy true,false
Decision n(negative),p(positive)
Tập Leaning set cho ví dụ chơi tennis:
Outlook Temperature Humidity Windy Decision
sunny hot high false n
sunny hot high true n
overcast hot high false p
rain mild high false p
rain cool normal false p
rain cool normal false n
overcast cool normal true p
sunny mild high false p
sunny mild normal true p
rain mild normal false p

sunny mild normal true p
overcast mild high true p
6
overcast hot normal false p
rain mild high true n
Giải thuật ID3 thực hiện như sau :
1. Tạo nút gốc( rootNode) , chứa đựng toàn bộ learning set như là những tập
hợp con của chúng (subset) sau đó tính :
Entropy(rootNode.subset)= -(9/14)log
2
( 9/14 ) – ( 5/14)log
2
(5/14)= 0.940
2. Tính toán thông tin nhận được cho mỗi thuộc tính :
Gain(S,Windy)= Entropy(S)-(8/14)Entropy(S
false
) – (6/14)Entropy(S
true
) =
0.048
Gain(S,Humidity) = 0.151
Gain(S,Temperature) = 0.029
Gain(S,Outlook) = 0.246
3. Chọn lựa những thuộc tính với thông tin nhận được tối đa , đó chính là sự
phân chia theo thuộc tính “outlook” .
4. Áp dụng ID3 cho mỗi nút con của nút gốc này , cho đến khi đạt đến nút lá hoặc
nút có entropy = 0.
e. Những thiếu sót của giải thuật ID3:
Trường hợp thiếu sót thứ nhất :
Một thiếu sót quan trọng của ID3 là không gian phân chia hợp lệ tại một node là

cạn kiệt . Một sự phân chia là sự phân hoạch của mỗi trường hợp của không gian mà
kết quả đạt được từ việc thử nghiệm tại một node quyết định ID3 và con cháu của nó
cho phép sự kiểm tra tại tại một thuộc tính đơn và nhánh trong kết quả cho ra từ sự
kiểm tra này.
Trường hợp thiếu sót thứ hai :
Một thiếu sót mà ID3 mắc phải là nó dựa vào rất nhiều vào số lượng của những
tập hợp dữ liệu đưa vào. Quản lý sự tạp nhiễu của tập dữ liệu vào là vô cùng quan
trọng khi chúng ta ứng dụng giải thuật học cây quyết định vào thế giới thực .Cho ví
dụ , khi có sự lẫn tạp trong tập dữ liệu đưa vào hoặc khi số lượng ví dụ đưa vào là quá
nhỏ để tạo ra một ví dụ điển hình của hàm mục tiêu đúng. ID3 có thể dẫn đến việc tạo
quyết định sai.
Có rất nhiều những mở rộng từ giải thuật ID3 cơ bản đã phát triển để áp dụng
những luật học cây quyết định vào thế giới thực, như là những post-pruning tree, quản
lý những thuộc tính giá trị thực, liên quan đến việc thiếu những thuộc tính, sử dụng
những tiêu chuẩn chọn lựa thuộc tính khác hơn thu thập thông tin .
f. Mở rộng qui nạp cây quyết định cơ bản :
Việc mở rộng qui nạp cây quyết định được áp dụng cho những thuộc tính giá trị
liên tục : Định nghĩa một cách uyển chuyển những thuộc tính giá trị bị rời rạc mà sự
phân chia giá trị thuộc tính thành một tập rời rạc của những khoảng .
7
Mở rộng qui nạp cây quyết định cũng được áp dụng cho những giá trị thuộc tính
thiếu sót bằng cách: Gán những giá trị thiếu sót bằng giá trị thông thường nhất của
thuộc tính hoặc gán khả năng có thể với mỗi giá trị có thể .
Việc mở rộng qui nạp cây quyết định cũng được áp dụng cho xây dựng thuộc
tính: Tạo những thuộc tính dựa trên những cái đã tồn tại mà chúng thể hiện thưa thớt.
Điều này sẽ giúp thu giảm việc phân mảnh, sự lặp lại và việc tạo bản sao.
g. Giải thuật mở rộng C4.5 :
C4.5 là sự mở rộng của giải thuật ID3 trên một số khía cạnh sau:
Trong việc xây dựng cây quyết định, chúng có thể liên hệ với tranning set mà có
những records với những giá trị thuộc tính không được biết đến bởi việc đánh giá việc

thu thập thông tin hoặc là tỉ số thu thập thông tin, cho những thuộc tính bằng việc xem
xét chỉ những record mà ở đó thuộc tính được định nghĩa .
Trong việc sử dụng cây quyết định, chúng ta có thể phân loại những record mà có
những giá trị thuộc tính không biết bằng việc ước lượng những kết quả có khả năng sãy
ra. Trong ví dụ chơi đánh gôn của chúng ta, nếu chúng ta được đưa một record mới mà
outlook là sunny và humidity chưa cho biết, chúng ta sẽ xử lý như sau:
Chúng ta di chuyển từ nút gốc Outlook đến nút Humidity theo cung được đánh
nhãn là sunny. Ở điểm đó từ lúc chúng ta không biết giá trị của Humidity chúng ta để ý
rằng nếu humidity là ở 75 có 2 records, và nếu humidity là lớn hơn 75 có 3 records
trong đó có 1 record không hoạt động. Như vậy điều đó có thể đưa ra như câu trả lới
cho record khả năng (0.4,06) cho chơi gôn hoặc không chơi Golf.
Chúng ta có thể liên hệ đến những giá trị liên tục. Giả sử rằng thuộc tính Ci có
tầm giá trị thuộc tính liên tục. Chúng ta sẽ xem xét những giá trị này trong tập learning
set. Cho rằng chúng được xắp sếp thứ tự tăng dần A1, A2, , Am sau đó với mỗi giá trị
Ai i=1,2, ,m.Chúng ta chia những records thành những cái có giá trị từ Ci trở lên và
bao gồm cả Aj và những cái có những giá trị lớn hơn Aj.Với những lần phân hoạch này
chúng ta tính lại giá trị thu thập và tỉ số thu thập và chọn ra phân hoạch có tỉ số thu
thập thông tin nhận được tối đa.
Trong ví dụ về chơi Golf của chúng ta, đối với humidity T là training set chúng ta
sẽ xát định thông tin cho mỗi lần phân chia và tìm được sự phân chia tốt nhất tại 75.
Phạm vi của thuộc tính này trở thành {<=75,>75}. Chú ý rằng phương pháp này liên
quan đến một con số quan trọng của việc tính toán.
h. Thu giảm cây quyết định và những tập luật suy dẫn :
Việc xây dựng cây quyết định nhờ vào training set bởi vì cách chúng xây dựng
liên quan nghiêm ngặt đến hầu hết các record trong tập huấn luyện. Trong thực tế, để
làm như vậy nó có thể là điều hoàn toàn phức tạp. Với những đường đi dài và không
đều.
Việc thu giảm cây quyết định được thực hiện bằng việc thay thế những cây con
thành những nút lá. Sự thay thế này sẽ được thực hiện tại nơi mà luật quyết định được
thiết lập nếu tần suất lỗi gây ra trong cây con là lớn hơn trong một nút lá. Cho ví dụ với

cây đơn giản như sau:
8
Color
red blue
Success Failure
Chứa 2 records thứ nhất là training red success và thứ hai là trainning blue
failures và sau đó trong Test Set chúng ta tìm thấy 3 red failures và một blue success,
chúng ta có thể xem xét việc thay thế cây con này bằng việc thay thế bằng một node
đơn Failure. Sau việc thay thế này chúng ta sẽ còn lại 2 lỗi thay vì 5 lỗi .
Winston chỉ ra rằng làm thế nào để sử dụng Fisher's exact test để xát định nếu
thuộc tính phân loại là thực sự phụ thuộc vào một thuộc tính không xát định. Nếu điều
này không sãy ra thì thuộc tính không xác định không cần phải xuất hiện trong đường
đi hiện tại của cây quyết định.
Quinlan và Breiman đề nghị những heuristic phức tạp hơn cho việc thu giảm cây
quyết định. Một điều dễ dàng làm là có thể dẫn ra một luật từ một cây quyết định: viết
ra một luật từ mỗi đường trong cây quyết định đi từ gốc đến lá. Vế trái của luật được
xây dựng dễ dàng từ nhãn của những nút và nhãn của những cung.
Những luật rút ra có thể được rút gọn như sau:
Gọi LHS là LHS của luật Cho LHS’ nhận được bằng cách thu giảm một số điều
kiện của LHS. Chúng ta có thể chắc chắn thay thế LHS bằng LHS’ trong luật này nếu
tập con của training set thỏa mãn LHS và LHS’ là tương đương.
Một luật có thể được thu giảm bằng cách sử dụng metacondition ví dụ như
“không có luật khác có thể áp dụng ”.
i.Giải thuật mở rộng See5/C5.0:
“See5 là một dạng nghệ thuật của hệ thống xây dựng sự phân loại trong dạng
thức của những cây quyết định và tập luật .”
See5 đã được thiết kế và hoạt động trên cơ sở dữ liệu lớn và sự kết hợp đổi mới
như là boosting. Kết quả tạo ra bởi See5 và C5.0 là tương tự nhau . Hoạt động trước
đây trên Windows95/98/NT của C5.0 là phần hoạt động của nó trên Unix . See 5 và
C5.0 là những công cụ khai khái dữ liệu phức tạp cho những mẫu khai phá dữ liệu mà

phát họa ra những loại tập hợp chúng thành những đối tượng phân loại và sử dụng
chúng để tiên đoán.
Đặc điểm chính của C5.0 là :
 C5.0 được thiết kế để phân tích những cơ sở dữ lịêu quan trọng chứa đựng
hàng ngàn đến hàng trăm ngàn những records. Và hàng chục đến hàng trăm
số liệu và hoặc tên field.
 Để tối đa khả năng giải thích , đối tượng phân loại của See5.0/C5.0 được
diễn tả như là cây quyết định hoặc tập của những luật if – then. Dạng thức
của nó dễ hiểu hơn so với neutron network .
9
 C5.0 dễ dàng sử dụng do đó không được gọi là kiến thức cao cấp của thống
kê và máy học.
j. Giải thuật See5/C5.0 là tốt hơn C4.5:
C5.0 trong hệ thống Unix và bản sao của nó See5 trong Windows là những phiên
bản cao cấp hơn C4.5 trên nhiều khía cạnh quan trọng .
Chúng ta sẽ thử so sánh C5.0 và C4.5 trên cùng hệ thống Unix .
Về những tập luật (Ruleset): nhanh nhiều hơn và ít tốn bộ nhớ hơn:
Cả C5.0 và C4.5 cung cấp sự lựa chọn cho những dạng thức của phân loại – cây
quyết định hoặc là những tập luật (ruleset). Trong nhiều ứng dụng thì tập luật (ruleset)
được ưu tiên sử dụng hơn vì chúng đơn giản và dễ hiểu hơn cây quyết định. Nhưng
những phương pháp để tìm ra luật trong C4.5 là chậm và chiếm nhiều bộ nhớ. C5.0 thể
hiện sự hoàn thiện trong vấn đề tạo ra tập luật và sự cải tiến này là gây ấn tượng mạnh
mẽ.
Cây quyết định: nhanh hơn và nhỏ hơn :
Với cũng những tập dữ liệu (dataset) thì C4.5 và C5.0 sản sinh ra những luật với
sự chính xát về dự đoán là như nhau.Sự khác nhau chính yếu là kích cở của cây và thời
gian tính toán.Cây của C5.0 là nhỏ hơn và nhanh hơn ở một số yếu tố.
Sự nâng lên(Boosting):
Dựa trên sự nguyên cứu của Freund và Schapire, đây là sự phát triển mới đầy hấp
dẫn mà nó không có sự tương tự nào trong C4.5.Boosting là một kỹ thuật để tạo và kết

hợp nhiều những đối tượng phân loại để cải thiện tính chính xát tiên đoán.
C5.0 hỗ trợ Booting với một số những dữ liệu số thử nghiệm. Thông thường,
C5.0 sẽ mất thời gian lâu hơn để tạo ra những đối tượng phân loại (classifier). Nhưng
những kết quả có thể phân tích định lượng sự tính toán công thêm. Boosting luôn cố
gắng để đạt được đỉnh cao nhất của sự chính xát trong tiên đoán yêu cầu phải đạt tới.
Đặc biệt khi những đối tượng phân loại không được nâng lên là hoàn toàn chính xác.
Những chức năng mới:
C5.0 kết hợp nhiều chức năng như là variable misclassfication costs. Trong
C4.5 tất cả những lỗi đều được xem như nhau.Nhưng trong những ứng dụng thực tế sẽ
có một số lỗi trong quá trình phân loại là nguy hiểm hơn những cái khác. C5.0 chấp
nhận một chi phí phân chia đối với mỗi cặp lớp được tiên đoán.Nếu quan điểm này
được áp dụng, C5.0 sau đó sẽ xây dựng những đối tượng phân loại để tối thiểu hóa
những giá trị phân loại sai được mong đợi hơn là những tần suất lỗi.
C5.0 có nhiều kiểu dữ liệu hơn cả những cái đã có trong C4.5 bao gồm cả ngày
giờ, thuộc tính giá trị rời rạc được xếp thứ tự và case labels. Thêm vào đó là những giá
trị thiếu (missing value). C5.0 cho phép những giá trị được coi như là không áp dụng
được. Hơn nữa, C5.0 cung cấp những điều kiện dễ dàng để định nghĩa những thuộc
tính mới như những hàm của những thuộc tính khác.
Những ứng dụng khai phá dữ liệu gần đây được hình thức hoá với kích thước lớn
hơn, với hàng trăm thậm chí hàng ngàn những thuộc tính. C5.0 có thể tự động lọc
những thuộc tính, loại bỏ những cái xuất hiện bên lề trước khi một lớp phân loại được
xây dựng. Đối với ứng dụng của loại này, sự phân loại có thể dẫn đến những đối tượng
10
nhỏ hơn và sự tiên đoán chính xát hơn và thậm chí thu giảm được thời gian tạo ra tập
luật.
C5.0 cũng dễ dàng được sử dụng hơn. Những chọn lựa được đơn giản hóa và mở
rộng để hỗ trợ sự lấy mẫu và cross-validation, trong lúc đó chương trình C4.5 để tạo
ra cây quyết định và tập luật được kết hợp vào một chương trình duy nhất.
Phiên bản trên windows See5 đã xây dựng được một giao diện đồ họa thân thiện
và thêm vào một số chức năng hỗ trợ khác.Ví dụ Cross-Reference Window làm cho

những đối tượng phân loại dễ hiểu hơn bằng việc liên kết những trường hợp đến những
phần liên quan đến việc phân loại.
k. Phân lớp với GiniIndex(IBM IntelligenMiner) :
Tương tự như đại lượng Gain ở trên IBM đã đưa ra một đại lượng cho việc phân
lớp là gini như sau:
Nếu một tập dữ liệu T chứa những mẫu từ n lớp, gini index, gini(T) được định
nghĩa như sau:
trong đó p
j
là tần số liên quan của lớp j trong T.
Nếu một tập hợp dữ liệu T được chia thành 2 tập con T
1
và T
2
với kích thước
tương ứng là N
1
và N
2 .
gini index của dữ liệu chia cắt chứa những ví dụ từ n lớp , gini index gin(T) được
định nghĩa như sau:
Thuộc tính cung cấp giá trị gini
split
(T) nhỏ nhất được chọn để phân chia nút.
Thể hiện tri thức theo dạng thức những luật IF-THEN . Trong đó một luật được
tạo dựa trên mỗi con đường từ nút gốc đến lá . Mỗi cặp thuộc tính theo một con đường
tạo thành một sự kết hợp và nút lá nằm giữ toàn bộ lớp tiên đoán . Những luật tạo ra rất
dễ hiểu đối với con người.
l. Tránh việc quá khít (overfitting) trong việc phân lớp :
Cây được tạo ra có thể quá khít với dữ liệu huấn luyện. Việc quá khít có thể xảy

ra trong những trường hợp sau đây:
Quá nhiều những nhánh , một số có thể phản ánh sự dị thường vì những phần tử
hỗn loạn (noise) hoặc những phần tử nằm ngoài phân lớp (outlier).
Kết quả nhận được thiếu chính xát đối với những mẫu chưa thấy.
Có hai cách tiếp cận để tránh quá khít dữ liệu.
11
 Tỉa trước : Dừng sự xây dựng của cây sớm – không chia một node nếu
điều này tạo kết quả ở dưới một ngưỡng theo một hệ đánh giá tốt . Một
khó khăn trong việc tỉa trước là điều này sẽ tạo ra sự khó khăn trong việc
tạo ra một ngưỡng thích hợp .
 Tỉa sau : Loại những nhánh từ một cây “ lớn đầy đủ “ - tạo một thứ tự
của những cây bị tỉa tăng dần lên trong đó ta sử dụng một tập dữ liệu
khác nhau từ dữ liệu huấn luyện để xát định cái nào là “cây được tỉa tốt
nhất “ (best pruned tree).
Tiếp cận xác định kích cỡ cây cuối cùng:
Thông thường người ta phân chia tập huấn luyện thành tập dữ liệu huấn luyện
(2/3) và dữ liệu thử (1/3), người ta sử dụng sự đánh giá chéo .
Cũng có một cách khác là sử dụng tất cả dữ liệu để huấn luyện , nhưng áp dụng
kiểm tra thống kê để định lượng khi nào mở rộng hoặc tỉa bớt một nút có thể cải thiện
toàn bộ sự phân phối.
Một cách thứ ba là sử dụng nguyên tắc mô tả chiều dài tối thiểu: trong đó người
ta dừng sự phát triển của cây khi sự mã hóa được tối thiểu.
3. Sự phân lớp cây quyết định trong cơ sở dữ liệu lớn:
Sự phân lớp là một vấn đề cổ điển được nguyên cứu một cách mở rộng bởi
những nhà thống kê và những nhà nguyên cứu máy học. Hướng phát triển hiện nay là
của việc phân lớp là phân lớp những tập dữ liệu với hàng tỉ những mẫu thử và hàng
trăm thuộc tính với tốc độ vừa phải.
Qui nạp cây quyết định được đánh giá cao trong khai phá dữ liệu lớn vì những
nguyên nhân sau :
 Tốc độ học tương đối nhanh hơn so với những phương pháp phân loại

khác.
 Có thể hoán chuyển được thành những luật phân lớp đơn giản và dễ hiểu.
 Có thể sử dụng truy vấn SQL để truy xuất cơ sở dữ liệu.
 Sự chính xát phân lớp có thể so sánh được với những phương pháp khác.
Những phương pháp qui nạp cây quyết định trong nguyên cứu về Khai phá
trên tập dữ liệu lớn:
a. SLIQ : A Fast Scalable Classifier for Data Mining :
Những giải thuật phân lớp được thiết kế chỉ theo cách cho dữ liệu thường trú
trong bộ nhớ. Phương pháp này thảo luận đưa ra việc xây dựng một công cụ phân loại
có khả năng leo thang và thể hiện SLIQ (Superived Learning In Quest) như một công
cụ phân loại mới, SLIQ là một công cụ cây quyết định mà có thể quản lý cả thuộc tính
số và thuộc tính xác thực. Nó sử dụng một kỹ thuật sắp xếp trước (pre-sorting) trong
giai đoạn phát triển cây (tree-grow).Thủ tục sắp xếp trước này được tính hợp với chiến
thuật phát triển cây theo chiều rộng để cho phép sự phân lớp của tập dữ liệu thường trú
ở đĩa. SLIQ cũng sử dụng một giải thuật tỉa cây mà chi phí không quá cao với kết quả
đạt được khả quan và những cây khá chính xác. Sự kết hợp của những kĩ thuật này cho
phép SLIQ leo thang với tập dữ liệu lớn và tập dữ liệu phân lớp mà không để ý đến số
12
lượng của những lớp, những thuộc tính và những record .
Trong phương pháp này thì tập dữ liệu huấn luyện không thể được tổ chức trong
bộ nhớ.
b. Từ SLIQ sang SPRINT : A Scalable Parallel Classifier for DataMining
Phương pháp này thể hiện một giải thuật phân lớp dựa trên cây quyết định có khả
năng loại bỏ sự giới hạn của bộ nhớ, thực thi nhanh và có khả năng leo thang. Giải
thuật này được thiết kế để dễ dàng cho song song hóa, cho phép nhiều bộ xử lý làm
việc với nhau để xây dựng một mô hình nhất quán.
Danh sách lớp trong SLIQ phải chứa trong bộ nhớ
Cổ chai: danh sách lớp có thể lớn
SPRINT: đặt thông tin lớp vào danh sách thuộc tính và không có danh sách lớp
nào.

Song song phân lớp: phân chia danh sách những thuộc tính.
c. PUBLIC: Tích hợp sự phát triển của cây quyết định và tỉa cây:
Phương pháp này để cập một cải tiến của công cụ cây quyết định được cải tiến mà
tích hợp giai đoạn tỉa cây với giai đoạn xây dựng ban đầu. Trong PUBLIC, một nút
không được mở rộng trong suốt giai đoạn xây dựng, nếu nó được xác định rằng nó sẽ
bị tỉa trong suốt giai đoạn tỉa sau. Do đó, để tạo sự quyết định cho node này trước khi
nó được mở rộng, PUPLIC tính toán một biên dưới trên giá trị tối thiểu cây con được
13
đặt tại nút. Sự ước lượng này sẽ được sử dụng bởi PUBLIC để xát định những nút mà
chắc chắn được tỉa và đối với những nút như vậy mà không tiểu tốn trong việc phân
chia chúng.
Tích hợp phát triển và tỉa: mỗi nút, kiểm tra chi phí của sự phát triển của những
cây con.
d. RainForest: A Generic Framework:
Phương pháp này trình bày một khung làm việc hợp nhất cho những công cụ tạo
cây quyết định mà tách rời những khía cạnh về khả năng leo thang của giải thuật cho
việc xây dựng một cây quyết định từ những đặc tính trung tâm mà xát định phẩm chất
của cây. Loại giải thuật này dễ dàng hoạt động cụ thể với những giải thuật riêng biệt từ
tài liệu nguyên cứu bao gồm C4.5, CART, CHAID, FACT, ID3 và những mở rộng,
SLIQ, SPRINT và QUEST.
Cổ chai của khả năng leo thang: Tính toán thuộc tính giá trị,nhãn lớp (AVC-
Group) cho mỗi node.
RainForest đưa ra một tập hợp của những giải thuật cho tính toán nhanh AVC-
group.
e. Qui nạp cây quyết định dữ liệu dựa trên khối:
Qui nạp cây quyết định của dữ liệu dựa trên khối là sự tích hợp của tổng quát hóa
với qui nạp cây quyết định
Phân lớp nhiều cấp dựa trên khối có hai vấn đề quan trọng đó là phân tích liên
quan dựa trên nhiều cấp độ và phân tích thông tin nhận được với chiều và cấp.
4. Phương pháp phân lớp Bayesian:

Lý thuyết Bayesian cung cấp một tiếp cận theo xác xuất để suy diễn. Nó dựa trên
giả thuyết rằng số lượng của khuynh hướng bị chi phối bởi phân bố xác xuất và quyết
định tối ưu có thể được tạo bởi sự suy luận về những xác xuất đi liền với dữ liệu được
quan sát. Đây là vấn đề quan trọng của máy học bởi vì nó cung cấp một tiếp cận định
lượng cho việc xem xét cẩn thận bằng chứng hỗ trợ những giả thuyết thay đổi. Lý
thuyết Bayesian cung cấp giải thuật học cơ bản mà vận dụng những xác xuất cũng như
là một khung làm việc cho sự phân tích sự hoạt động của những giải thuật mà không
thể vận dụng rõ ràng.
Học theo xát suất: Tính xát suất hiện cho giả thuyết, trong số những tiếp cận thực
dụng nhất cho các kiểu chắc chắn của những vấn đề học.
Tính tăng dần: mỗi ví dụ huấn luyện có thể gia tăng việc tăng hoặc giảm mà
không gian giả thuyết đúng. Kiến thức trước có thể kết hợp với dữ liệu được quan sát.
Tiên đoán xát suất: Tiên đoán nhiều không gian giả thuyết, được đo bởi xát suất
của nó.
Tiêu chuẩn: Thậm chí khi phương thức Bayesian khó tính toán, chúng cũng cung
cấp một tiêu chuẩn tốt nhất cho việc tạo quyết định.
Định lý Bayesian:
Cho trước một tập huấn luyện D, xát suất posteriori của một giả thuyết h, p(h\D)
cho bởi định lý Bayesian:
14
Giả thuyết tối đa posteriori MAP:
Khó khăn thực tế của phương pháp phân lớp Bayesian ở chỗ nó đòi hỏi kiến thức
khởi tạo của nhiều khả năng có thể sãy ra và chi phí tính toán đáng kể.
Phân lớp Naive Bayes:
Giả thuyết đơn giản: những thuộc tính là độc lập theo điều kiện
Chi phí tính toán thu giảm đáng kể , chỉ tính đến sự phân bố lớp.
Với một tập hợp cho trước chúng ta có thể tính toán khả năng sãy ra
Vấn đề phân lớp có thể được thể thức hóa sử dụng xát suất a-posteriori như sau:
P(C|X)= xát suất của mẫu ví dụ x=<x
1

, ,x
k
> là lớp của C .
Ý tưởng : gán mẫu X vào lớp nhãn C sao cho P(C|X) là lớn nhất .
Định lý Bayes phát biểu như sau :
P(C|X) = P(X|C).P(C)/P(X) , trong đó :
P(X) là hằng cho tất cả lớp
P(C) = tần suất tương đối của mẫu lớp C
C mà ở đó P(C|X) là lớn nhất = C mà ở đó P(X|C).P(C) là lớn nhất .
Phân lớp Naive Bayesian :
Giả thuyết Naive : thuộc tính là độc lập
P(x
1
, ,x
k
|C)=P(x
1
|C) P(x
k
|C)
Nếu thuộc tính thứ i là xát thực :
P(x
i
|C) được ước lượng như là tần suất tương đối của những mẫu có giá trị x
i
như là thuộc tính thứ i trong lớp C.
Nếu thuộc tính thứ i là liên tục P(x
i
|C) được ước lượng thông qua hàm mật độ
Gaussian .Việc tính toán là dễ dàng trong cả hai trường hợp .Ví dụ play-tennis : phân

lớp X .Cho mẫu chưa được thấy như sau X=<rain,hot,high,false>
15
P(D\h)P(h)
P(h\D) =
P(D)
P(X|p).P(p) = P(rain|p).P(hot|p).P(high|p).P(false|p).P(p)
= 3/9.2/9.3/9.6/9.9/14 = 0.010582
P(rain|n).P(hot|n).P(high|n).P(false|n).P(n)=2/5.2/5.4/5.5/14=0.018286
Mẫu X được phân lớp vào lớp n.
Giải thuật Naïve Bayes viết bằng mã giả như sau:
Sự độc lập của giả thuyết:
Những giả thuyết độc lập nhau sẽ giúp cho việc tính toán trở nên dễ dàng. Độ lợi
phân lớp tốt nhất đạt được rất ít trong thực tế vì những thuộc tính (biến) thường liên
quan với nhau.
Để vượt qua những giới hạn này người ta giải quyết bằng 2 cách:
16
 Dùng mạng Bayesian, đây chính là sự kết hợp của lý luận và quan hệ
nhân quả giữa những thuộc tính.
 Cây quyết định mà suy luận trên một thuộc tính ở thời điểm xem xét
những thuộc tính quan trọng đầu tiên.
Mạng Bayesian Tin cậy ( Bayesian belief network ):
Bayesian belief network cho phép một tập con của những biến độc lập theo điều
kiện.
Trong Bayesian belief người ta sử dụng mô hình đồ thị của quan hệ nhân quả . Có
nhiều cách học của Bayesian belief networks như sau:
- Cho trước cả cấu trúc mạng và những biến : đây là cách dễ dàng.
- Cho trước cấu trúc mạng nhưng chỉ có một vài biến chứ không phải là tất cả.
- Cấu trúc mạng là hoàn toàn không được biết.
5. Phân lớp bằng mạng lạn truyền ngược:
Neural Networks (Mạng Nơtrôn):

Cấu trúc của một neural như sau:
Vector x
n
chiều được ánh xạ vào biến y dựa trên tích vô hướng và một hàm ánh
xạ phi tuyến.
Mạng huấn luyện:
Mục tiêu cơ bản của việc huấn luyện:
 Đạt được một một tập hợp của những trọng số mà có thể làm cho hầu hết
tất cả những bộ trong tập huấn luyện được phân lớp đúng.
Những bước của quá trình huấn luyện :
 Khởi tạo trọng số với những giá trị ngẫu
nhiên .
 Lần lược đưa mỗi bộ vào trong mạng .
 Đối với mỗi đơn vị :
- Tính toán mạng input cho mỗi đơn vị như là một sự kết hợp tuyến tính
của tất cả những input đối với đơn vị .
- Tính toán giá trị output sử dụng hàm kích hoạt .
- Tính toán lỗi .
- Cập nhật trọng số và khuynh hướng .
Mạng thu giảm và rút trích luật :
Mạng thu giảm :
17
 Mạng kết nối hoàn toàn sẽ khó nối khớp với nhau .
 Với n node input , n hidden node và m output node dẫn đến
h(m+N) trọng số .
 Thu giảm ở điểm : loại một số liên kết mà không ảnh hưởng phân
lớp chính xát của mạng .
Những ích lợi của mạng nơtrôn có thể kể đến như sau:
 Tiên đoán chính xát cao .
 Hoạt động mạnh , làm việc được ngay khi các mẫu chứa lỗi.

 Output có thể là giá trị rời rạc, giá trị thực hoặc vector của nhiều thuộc
tính rời rạc hoặc giá trị thực .
 Đánh giá nhanh hàm mục tiêu được học .
Yếu điểm :
 Thời gian huấn luyện lâu .
 Khó có thể hiểu được hàm học ( trọng số).
 Khó có thể kết hợp tri thức lĩnh vực.
6. Phân lớp dựa trên nguyên lý khai phá luật kết hợp:
Có nhiều phương thức đối với sự phân lớp dựa trên luật kết hợp.
 ARCS: Khai phá sự kết hợp số lượng và gom cụm của những luật kết
hợp .
 Phân loại kết hợp : Khai phá độ hỗ trợ cao và độ tin cậy cao trong công
thức “cond_set =>y” trong đó y là một nhãn lớp .
 CAEP(Phân lớp bằng cách tập hợp lại những mẫu nỗi bậc) : trong đó
những mẫu nổi bật (Emerging patterns) : những tập thành phần itemset
hỗ trợ gia tăng quan trọng từ một lớp sang lớp khác . Khai phá những
mẫu nổi bật dựa trên độ hỗ trợ tối thiểu và tốc độ phát triển .
7. Những phương thức phân lớp khác:
a. Những phương thức dựa trên khoảng cách:
Chứa những ví dụ huấn luyện và trì hoãn xử lý cho đến khi một thực thể mới
được phân lớp .
Những cách tiếp cận thông thường :
 Tiếp cận người láng giềng gần nhất k-nearest neighbor .
 Hồi qui trọng lượng cục bộ : bằng cách xây dựng những xấp xỉ cục bộ .
 Lập luận dựa trên trường hợp : Người ta sử dụng biểu diễn kí hiệu và tri
thức dựa trên suy diễn .
Giải thuật K-Nearest Neighbor :
Tất cả những thực thể tương ứng với những điểm trên không gian n-D. Người
láng giềng gần nhất được định nghĩa trong biểu thức của khoảng cách Euclidean.
Hàm mục tiêu có thể được rời rạc hóa hoặc giá trị thực.

Đối với những giá trị rời rạc, k-NN trả về hầu hết giá trị thông thường giữa k ví
dụ huấn luyện gần nhất với xq.
18
Biểu đồ Vonoroi: bề mặt quyết định được qui vào bởi 1-NN đối với một tập điển
hình của những ví dụ huấn luyện.
Giải thuật k-NN đối với giá trị liên tục đối với những hàm mục tiêu giá trị liên
tục.
Tính toán giá trị trung bình của k láng giềng gần nhất.
Giải thuật khoảng cách trọng lượng người láng giềng gần nhất. Trọng lượng đóng
góp của mỗi láng giềng theo khoảng cách của chúng đến điểm truy vấn x
q
, gán trọng
lượng lớn hơn cho láng giềng gần hơn
Tương tự , đối với những hàm mục tiêu giá trị thực .
Mạnh đối với dữ liệu hỗn loạn bởi trung bình k-nearest neighbor.
Trở ngại của chiều : Khoảng cách giữa những láng giềng có thể bị chi phối bởi
những thuộc tính quan trọng . Để vượt qua điều này , kéo dãn trục hoặc loại trừ
những thuộc tính ít quan trọng nhất .
b. Giải thuật Di truyền (Genetic Algorithms):
Giải thuật di truyền: dựa trên một tương tự đối với một sự tiến bộ sinh học. Mỗi
luật được biểu diễn bởi một chuỗi dữ liệu bit. Một mẫu khởi tạo được tạo ra bao hàm
những luật được tạo một cách ngẩu nhiên.
Dựa trên khái niệm của cái thích hợp nhất tồn tại. Những qui luật phù hợp nhất sẽ
được biểu diễn bởi sự phân lớp chính xác của nó trên một tập hợp của những ví dụ
huấn luyện.
Sự thích hợp của một luật được biểu diễn bởi độ chính xát sự phân lớp của nó
trên tập hợp những ví dụ huấn luyện.
Kết quả được tạo ra bởi sự giao nhau và sự biến đổi .
c. Tiếp cận tập thô :
Tập thô được sử dụng để xấp xỉ hoặc định nghĩa “thô” những lớp tương đương.

Một tập thô cho một lớp C được xấp xỉ bởi 2 tập hợp: một xấp xỉ dưới (chắc chắn ở
trong C) và một xấp xỉ trên.
Tìm kiếm tập rút gọn của những thuộc tính (đối với đặc tính rút gọn) là NP khó
nhưng ma trận phân biệt được sử dụng để thu giảm cường độ tính toán.
19
1
w ≡ ________
d (x
q
,x
i
)
2
d. Tiếp cận tập mờ:
Logic mờ sử dụng những giá trị thực giữa 0.0 và 1.0 để biểu diễn độ của quan hệ
thành viên (ví dụ như là sử dụng đồ thị thành viên mờ).
Những giá trị thuộc tính được chuyển sang những giá trị mờ . Đối với một ví dụ
mới cho trước , nhiều hơn một giá trị mờ có thể được áp dụng.
Mỗi luật có thể áp dụng có thể áp dụng đóng góp một đề cử cho thành viên theo
thể loại . Thông thường, những giá trị thực đối với thể loại được tiên đoán được tổng
kết.
e. Phân lớp bằng suy luận dựa trên trường hợp ( case-based
reasoning):
Những thực thể được biểu diễn bởi sự mô tả giàu tính tượng trưng (ví dụ như
hàm đồ thị). Kết hợp nhiều trường hợp nhận được, suy luận dựa trên tri thức và vấn đề
giải quyết.
8. Tiên đoán và phân lớp:
Tiên đoán và vấn đề tượng tự như phân loại. Việc tiên đoán được xây dựng như
sau:
Đầu tiên là xây dựng mô hình. Tiếp theo là sử dụng mô hình để tiên đoán những

giá trị tiếp theo. Phương pháp chính để tiên đoán là phương pháp hồi qui. Có nhiều
kiểu hồi qui: hồi qui tuyến tính, hồi qui đa tuyến và hồi không tuyến tính. Tiên đoán
khác với phân lớp ở chỗ: Phân lớp đề cập đến tiên đoán loại lớp dữ liệu. Tiên đoán mô
hình những hàm giá trị liên tục.
Mô hình tiên đoán: Tiên đoán dữ liệu hoặc cấu trúc tổng quát những mô hình
tuyến tính dựa trên cơ sở dữ liệu. Những nét chính của phương pháp bao gồm:
 Tối tiểu tổng quát.
 Phân tích liên quan thuộc tính.
 Xây dựng mô hình tuyến tính tổng quát.
 Tiên đoán.
Xác định những yếu tố chính ảnh hưởng đến việc tiên đoán. Phân tích liên quan
dữ liệu: đánh giá tính không chắc chắn, phân tích entropy, thẩm định chuyên gia
Tiên đoán nhiều cấp: phân tích drill-down và roll-up.
Phân tích hồi qui và mô hình tiên đoán log-linear:
Hồi qui tuyến tính : Y = α +βX
Hai thông số α, β xát định đường thẳng và được thiết lập bởi sử dụng dữ liệu bằng
tay.
Đa hồi qui : Y = b0 + b1X1 + b2X2
Nhiều hàm không tuyến tính không hồi qui có thể được chuyển dạng sang những
dạng ở trên.
Những mô hình log-linear : bảng nhiều chiều của khả năng kết nối được xấp xỉ
bởi một sản phẩm của những bảng thứ tự thấp.
p(a,b,c,d) = αab βacχad δbcd
Hồi qui gia trọng địa phương:
20
Xây dựng một xấp xỉ tường minh cho f trên một vùng địa phương xung quanh
một thực thể truy vấn xq.
Hồi qui tuyến tính gia trọng địa phương : hàm mục tiêu f là hàm xấp xỉ gần xq sử
dụng hàm tuyến tính : f(x) = w
0

+ w
1
a
1
(x)+ +W
n
a
n
(x) .
Độ chính xát của phân lớp : Ước lượng tần suất lỗi :
Phân chia huấn luyện và kiểm tra : sử dụng hai tập dữ liệu độc lập,tập huấn luyện
(2/3) và tập kiểm tra (1/3). Sử dụng cho tập dữ liệu với số lượng mẫu lớn.
Thẩm định chéo : chia tập dữ liệu thành k mẫu con .Sử dụng k-1 mẫu con như là
dữ liệu huấn luyện và một mẫu con như là dữ liệu kiểm tra.
9. Khai phá dữ liệu với Microsoft OLE DB
Tại sao phải khai phá dữ liệu với OLE DB.
Tiêu chuẩn công nghiệp là tới hạn của sự phát triển khai phá dữ liệu, việc sử
dụng, thao tác giữa các phần và trao đổi .
OLEDB cho khai phá dữ liệu là một cuộc đổi mới tự nhiên từ OLEDB và OLDB
thành OLAP.
Xây dựng những ứng dụng khai phá trên cơ sở dữ liệu quan hệ là đáng kể. Ta cần
những giải thuật khai phá dữ liệu tùy biến khác nhau, công việc quan trọng trên phần
của những người xây dựng ứng dụng.
Mục tiêu: xóa bỏ gánh nặng của việc phát triển ứng dụng trong cơ sở dữ liệu quan
hệ lớn.
Động cơ của OLE DB đối với việc khai phá dữ liệu:
21
Làm cho phát triển của mô hình khai phá dữ liệu trở nên dễ dàng hơn. Tạo ra
những mô hình khai phá dữ liệu. Chứa đựng, bảo quản và làm tươi mô hình dữ liệu
được cập nhật. Chương trình sử dụng mô hình trên tập dữ liệu khác. Duyệt qua mô

hình.
Cho phép những người phát triển ứng dụng tích hợp để tham gia trong việc xây
dựng những giải pháp khai phá dữ liệu.
Những đặc điểm của OLE đối với khai phá dữ liệu:
Độc lập của nhà cung cấp phần mềm. Không đưa ra một mô hình xác định nào
cho việc khai phá. Được cấu trúc để cung cấp dữ liệu cho tất cả những mô hình khai
phá nổi tiếng.
Tổng quan:
Lõi cơ chế quan hệ thể hiện ở những API dựa trên ngôn ngữ. Server phân tích thể
hiện OLE DB OLAP và OLE DB DM. Bảo trì SQL ẩn chứa. Sử dụng lại những khái
niệm đang tồn tại.
Những toán tử chính để hỗ trợ dữ liệu mô hình khai phá:
Định nghĩa một mô hình khai phá. Những thuộc tính được tiên đoán. Những
thuộc tính được sử dụng để tiên đoán. Giải thuật được sử dụng để xây dựng mô hình.
Chuyển đến một mô hình khai phá dữ liệu từ một dữ liệu huấn luyện. Tiên đoán những
thuộc tính cho những dữ liệu mới. Duyệt một mô hình khai phá từ việc báo và trực
quan hóa.
Data Mining Module là tương tự với một bảng trong SQL:
Tạo một đối tượng data mining module :
CREATE MINING MODEL[model_name]
Chèn vào dữ liệu huấn luyện dữ liệu vào mô hình và huấn luyện nó .
INSERT INTO [model_name]
Sử dụng mô hình khai phá dữ liệu :
SELECT relation_name.[id],[mode_name].[predict_arr]
quan tâm nội dung DMM để tạo tiên đoán và duyệt thống kê chứa bởi mô hình .
Sử dụng DELETE để làm rổng / reset dữ liệu .
Tiên đoán trong cơ sở dữ liệu : tiên đoán kết nối giữa một mô hình và tập dữ liệu
(table).
Khai triển DMM bởi chỉ viết lệnh SQL.
Hai thành phần chính:

Trường hợp và tập trường hợp: dữ liệu đầu vào.
Một bảng hoặc những bảng lồng (cho dữ liệu phân cấp).
Mô hình khai phá dữ liệu : một kiểu đặc biệt của bảng.
Một tập hợp những trường hợp là liên quan với một mô hình khai phá dữ liệu và
một thông tin thô trong khi tạo một DMM.
Lưu giải thuật khai phá và kết quả tổng quan thay vì của dữ liệu chính nó.
Những toán tử cơ bản : CREATE, INSERT INTO, PREDICTION JOIN,
SELECT, DELETE FROM, và DROP.
Biểu diễn bảng logic được lồng nhau :
22
Sử dụng dịch vụ tạo hình dữ liệu để tạo một tập những hàng phân cấp . Phần của
những sản phẩm Microsoft Data Access Component (MDAC).
Những bảng lồng nhau:
Không cần thiết cho những hệ thống con chứa đựng để hỗ trợ những record lồng
nhau. Những trường hợp chỉ được cụ thể hóa như là tập những hàng lồng nhau trước
huấn luyện, tiên đoán những mô hình khai phá dữ liệu. Cùng dữ liệu vật lý có thể được
sử dụng để tạo những tập trường hợp khác.
Định nghĩa mô hình khai phá dữ liệu:
Việc định nghĩa tên mô hình khai phá dữ liệu bao gồm những giai đoạn sau:
 Đặt tên của mô hình .
 Thiết lập giải thuật và những thông số đầu vào .
 Những cột của caseset và những quan hệ giữa những cột .
 “những cột nguồn” và “những cột tiên đoán”.
Ví dụ :
CREATE MINING MODEL [Age Prediction] %Name of Model
(
[Customer ID] LONG KEY, %source column
[Gender] TEXT DISCRETE, %source column
[Age] Double DISCRETIZED() PREDICT, %prediction column
[Product Purchases] TABLE %source column

(
[Product Name] TEXT KEY, %source column
[Quantity] DOUBLE NORMAL CONTINUOUS, %source column
[Product Type] TEXT DISCRETE RELATED TO [Product Name]
%source column
))
USING [Decision_Trees_101] %Mining algorithm used
Column Specifiers :
KEY ( khóa )
ATTRIBUTE (thuộc tính)
RELATION (quan hệ) (RELATED TO clause)
QUALIFIER (từ hạn định) (OF clause)
PROBABILITY: [0, 1]
VARIANCE
SUPPORT
PROBABILITY-VARIANCE
ORDER
23
TABLE
Attribute Types :
DISCRETE
ORDERED
CYCLICAL
CONTINOUS
DISCRETIZED
SEQUENCE_TIME
Chuyển đến một mô hình phân tích dữ liệu:
Sử dụng phát biểu INSERT INTO. Tiêu tốn thời gian cho một trường hợp sử
dụng mô hình khai phá dữ liệu . Sử dụng phát biểu SHAPE để tạo bảng lồng nhau từ
dữ liệu input .Ví dụ:

INSERT INTO [Age Prediction]
(
[Customer ID], [Gender], [Age],
[Product Purchases](SKIP, [Product Name], [Quantity], [Product Type])
)
SHAPE
{SELECT [Customer ID], [Gender], [Age] FROM Customers ORDER BY [Customer ID]}
APPEND
{SELECT [CustID], {product Name], [Quantity], [Product Type] FROM Sales
ORDER BY [CustID]}
RELATE [Customer ID] TO [CustID]
)
AS [Product Purchases]
Sử dụng mô hình dữ liệu để tiên đoán:
Tiên đoán kết nối. Tiên đoán trong tậpdữ liệu D sử dụng mô hình khai phá liệu
M. Khác với equi-join. Mô hình khai phá dữ liệu: là một “truth table”
. Phát biểu SELECT liên quan với PREDICTION JOIN những giá trị xát định
tách ra từ DMM.Ví dụ :
SELECT t.[Customer ID], [Age Prediction].[Age]
FROM [Age Prediction]
PRECTION JOIN
(SHAPE
{SELECT [Customer ID], [Gender] FROM Customers ORDER BY [Customer ID]}
APPEND
(
{SELECT [CustID], [Product Name], [Quantity] FROM Sales ORDER BY [CustID]}
RELATE [Customer ID] TO [CustID]
)
AS [Product Purchases]
)

AS t
ON [Age Prediction].[Gender]=t.[Gender] AND
[Age Prediction].[Product Purchases].[Product Name]=t.[Product Purchases].[Product Name] AND
[Age Prediction].[Product Purchases].[Quantity]=t.[Product Purchases].[Quantity]
24
Duyệt qua mô hình khai phá dữ liệu:
Duyệt qua mô hình khai phá dữ liệu là quá trình trực quan hoá dữ liệu
visualization.
Kết luận:
OLE DB cho khai phá dữ liệu là sự tích hợp khai phá dữ liệu và hệ thống cơ sở
dữ liệu.
OLE DB cho khai phá dữ liệu là một tiêu chuẩn tốt cho xây dựng ứng dụng khai
phá dữ liệu.
10. Tạo cây quyết định trong Microsoft SQL Server 2000
Trong phần này sẽ trình bày cách thức Microsoft Analysis services được sử dụng
để hiện thực mô hình cây quyết định trong phần mềm Microsoft SQL Server 2000.
Chúng ta đề cập đến tạo mô hình cây quyết định với hai mô hình - một sử dụng những
bảng quan hệ chuẩn như là nguồn và một cái khác sử dụng OLAP cubes.
Tạo mô hình
Bước đầu tiên trong hoạt động khai phá dữ liệu là tạo mô hình. Mô hình khai phá
dữ liệu được tạo ra từ những mẫu tin chứa trong một nguồn dữ liệu (data source). Một
vài nguồn dữ liệu có thể được kết nối thông qua OLE DB có thể được sử dụng để tạo
mô hình. Những nguồn này bao gồm cơ sở dữ liệu quan hệ, OLAP cubes, FoxPro
tables, text file, hoặc thậm chí Microsoft Excel spreadsheets. Chúng ta cũng sẽ tập
trung vào cách thức để sử dụng những nguồn dữ liệu này để lưu trữ test case được sử
dụng để tạo tiên đoán và cách thức để chứa kết quả của những tiên đoán.
Analysis Manager
Điểm xuất phát để tạo mô hình khai phá dữ liệu với Analysis Manager bao gồm
trong Analysis Services Installation package trong SQL Server 2000 CD-ROM.
Trước khi bắt đầu, ta phải đăng ký với analysis server mà ta muốn tạo kết nối

bằng cách kích chuột phải trên Analysis Server folder và chọn Register Server.
25

×