Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định.Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng.. Phân nhóm dữ liệu Phân nhóm là k
Trang 1BÀI THU HOẠCH MÔN HỌC KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 2
Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
1.1 Khái niệm 3
1.2 Kiến trúc của một hệ thống khai phá dữ liệu 3
1.3 Các giai đoạn của quá trình khai phá dữ liệu 4
1.4 Một số kỹ thuật khai phá dữ liệu 7
1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu 10
1.6 Các phương pháp chính trong khai phá dữ liệu 12
1.7 Các ứng dụng của khai phá d ữ liệu 13
1.8 Khai phá dữ liệu và các lĩnh vực liên quan 13
1.9 Các thách thức trong phát hiện tri thức và khai phá dữ liệu 14
1.10 Kết luận chương 1 16
Chương 2: PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG MICROSOFT SQL SERVER 17 2.1 Giới thiệu về phân lớp : 17
2.2 Các phương pháp phân lớp 17
2.2.1 Phân lớp bằng phương pháp qui nạp cây quyết định : 17
2.2.2 Phân lớp với GiniIndex(IBM IntelligenMiner) : 24
2.2.3 Sự phân lớp cây quyết định trong cơ sở dữ liệu lớn: 26
2.2.4 Phương pháp phân lớp Bayesian: 28
2.2.5 Phân lớp bằng mạng lan truyền ngược: 31
2.2.6 Phân lớp dựa trên nguyên lý khai phá luật kết hợp: 32
2.2.7 Những phương thức phân lớp khác: 32
2.3 Khai phá dữ liệu với Microsoft OLE DB 35
2.4 Tạo cây quyết định trong Microsoft SQL Server 40
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 56
HVTH: Trịnh Ngọc Thư – CH1102017 Page 1
Trang 4LỜI MỞ ĐẦU
Kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những vấn đề nghiê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ơron
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, em đã làm bài thu hoạch về: “Tìm hiểu về các phương pháp phân lớp trong Khai
phá dữ liệu và khả năng phân lớp của phần mềm Microsoft SQL Server ”
Bài thu hoạch này tập trung nghiê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 cũng như việc tìm hiểu và sử dụng kĩ thuật phân lớp trong Microsoft SQL Server.
Trang 5Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 80,
nó là quá trình tìm kiếm, khám phá dưới nhiều góc độ khác nhau nhằm phát hiệncác mối liên hệ, quan hệ giữa các dữ liệu, đối tượng bên trong CSDL, kết quả củaviệc khai phá là xác định các mẫu hay các mô hình tồn tại bên trong nhưng chúngnằm ẩn ở các CSDL Về bản chất nó là giai đoạn duy nhất rút trích và tìm ra đượccác mẫu, các mô hình h ay thông tin mới, tri thức tiềm ẩn có trong CSDL chủ yếuphục vụ cho mô tả và dự đoán Đây là giai đoạn quan trọng nhất trong quá trình pháthiện tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra quyết định, điều hànhtrong khoa học và kinh doanh
Khai phá dữ liệu là tiến trình khám phá tri thức tiềm ẩn trong các CSDL,
cụ thể hơn, đó là tiến trình lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn,chưa biết những thông tin hữu ích từ các CSDL lớn
1.2 Kiến trúc của một hệ thống khai phá dữ liệu
Khai phá dữ liệu là quá trình rút trích thông tin bổ ích từ những kho dữ liệulớn
Khai phá dữ liệu là quá trình chính trong khai phá tri thức từ cơ sở dữ liệu.Kiến trúc của một hệ thống khai phá dữ liệu có các thành phần như sau:
Hình 1.1 Khám phá tri thức trong cơ sở dữ liệu điển hình HVTH: Trịnh Ngọc Thư – CH1102017 Page 3
Trang 6 CSDL, kho dữ liệu hoặc lưu trữ thông tin khác: Đây là một hay các tậpCSDL, các kho dữ liệu, các trang tính hay các dạng khác của thông tin được lưu trữ.Các k ỹ thuật làm sách dữ liệu và tích hợp dữ liệu có thể được thực hiện.
Máy chủ CSDL (Database or Warehouse Server): Máy chủ có trách
nhiệm lấy những dữ liệu thích hợp dựa trên những yêu cầu khám phá của ngườidùng
Cơ sở tri thức (Knowledge-base): Đây là miền tri thức dùng để tìm kiếm
hay đánh giá độ quan trọng của các mẫu kết quả thu được Tri thức này có thểbao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trịthuộc tính ở các mức trừu tượng khác nhau
Máy khai phá dữ liệu (Data mining engine): là một hệ thống khai phá
dữ liệu cần phải có một tập các Modul chức năng để thực hiện công việc, chẳnghạn như kết hợp, phân lớp, phân cụm
Modul đánh giá mẫu (Pattern evaluation): Bộ phận tương tác với các
Modul khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng được quantâm Nó có thể dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được.Cũng có thể Modul đánh giá mẫu được tích hợp vào Modul khai phá dữ liệu,tùy theo cách cài đặt của phương pháp khai phá dữ liệu được dùng
Giao diện đồ họa cho người dùng (Graphical user interface): Bộ phận
này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thông quagiao diện này người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầukhai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm vàthực hiện khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra bộphận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu,các đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau
1.3 Các giai đoạn của quá trình khai phá dữ liệu
Các thuật toán khai phá dữ liệu thường được mô tả như những chương trình
h o ạ t động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống
kê trước đây, bước đầu tiên là thuật toán thường nạp toàn bộ tệp (file) dữ liệu vào
Trang 7trong bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khaiphá các kho dữ liệu lớn, mô hình này không thể đáp ứng được Không
HVTH: Trịnh Ngọc Thư – CH1102017 Page 5
Trang 8chỉ bởi nó không thể nạp hết dữ liệu vào trong bộ nhớ mà còn khó có thể chiếtxuất dữ liệu ra các tệp đơn giản để phân tích.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng việc xác định chính xác vấn đềcần giải quyết Sau đó sẽ xác định dữ liệu liên quan dùng để xây dựng giải pháp.Tiếp theo là thu thập dữ liệu có liên quan và xử lý chúng thành dạng sao cho thuậttoán khai phá dữ liệu có thể hiểu được
Quá trình khai phá dữ liệu trải qua ba bước:
Bước một: Lọc dữ liệu được thực hiện trong quá trình tiền xử lý Công việc
đầu tiên là tích hợp và chỉnh sửa dữ liệu Khi dữ liệu được thu thập từ nhiều nguồnkhác nhau nên có thể có những sự sai sót, dư thừa và trùng lặp Lọc dữ liệu là cắt
bỏ những dư thừa để dữ liệu được định dạng thống nhất Dữ liệu sau khi lọc vàchỉnh sửa sẽ nhỏ hơn, xử lý nhanh chóng hơn
Ví dụ, trong bài toán tìm quy luật mua hàng của khách hàng trong mộtsiêu thị, ta tìm xem khách hàng thường cùng mua những mặt hàng nào để sắpxếp những món hàng đó gần nhau Từ dữ liệu nguồn do siêu thị cung cấp, có thể cónhiều thuộc tính không cần thiết cho khai phá dữ liệu như: Mã khách hàng, nhà
dữ liệu liên quan
Thu thập và tiền xử
lý dữ liệu
Giải thuật khai phá dữ liệuThống kê tóm tắt
Hình 1.2 Các bước của quy trình khai phá dữ liệu
DL trực tiếp
Mẫu
Trang 9cung cấp, đơn giá hàng, người bán hàng… Các dữ liệu này cần cho quản lý bánhàng nhưng không c ần cho khai phá dữ liệu, ta loại bỏ các thuộc tính này khỏi
dữ liệu trước khi khai phá dữ liệu
Bước hai: Khai phá dữ liệu là công việc chính, sử dụng các thuật toán khác
nhau để khai phá các kiến thức tiềm ẩn trong dữ liệu
Bước ba: Sau xử lý, là quá trình ước lượng kết quả khai phá theo yêu cầu
của người dùng Nhiều kỹ thuật khai phá dữ liệu được ứng dụng cho một nguồn dữliệu, các kỹ thuật cho các kết quả có thể khác nhau Các kết quả được ước lượngbởi những quy tắc nào đó, nếu cuối cùng kết quả không thỏa mãn yêu cầu, chúng taphải làm lại với kỹ thuật khác cho đến khi có k ết quả mong muốn
1.4 Một số kỹ thuật khai phá dữ liệu
Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinhdoanh hay cho nghiên cứu khoa học… Do đó, ta có thể xem mục đích của khai phá
dữ liệu sẽ là mô tả các sự kiện và dự đoán Các mẫu khai phá dữ liệu phát hiệnđược nhằm vào mục đích này Dự đoán liên quan đến việc sử dụng các biến hoặccác đối tượng (bản ghi) trong CSDL để chiết xuất ra các mẫu, dự đoán đượcnhững giá trị chưa biết hoặc những giá trị tương lai của các biến đáng quan tâm
Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểuđược
Để đạt được những mục đích này, nhiệm vụ chính của khai phá dữ liệubao gồm như sau:
Phân lớp dữ liệu
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000 Phânlớp dữ liệu là xây dựng một mô hình mà có thể phân các đối tượng thành nhữnglớp để dự đoán giá trị bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trịcủa dữ liệu sẽ xuất hiện trong tương lai
Quá trình phân lớp dữ liệu được thực hiện qua hai bước Bước thứ nhất:
HVTH: Trịnh Ngọc Thư – CH1102017 Page 7
Trang 10Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô hình mô tả những đặctrưng của những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có giám
sát, h ọc theo mẫu được cung cấp trước Bước thứ hai: Từ những lớp dữ liệu
hoặc những khái niệm đã được xác định trước, dự đoán giá trị của những đối tượngquan tâm
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định.Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng Kỹthuật này đã được nhiều tác giả nghiên cứu và đưa ra nhiều thuật toán
Một ví dụ tiêu biểu về cây quyết định:
Trong hình 1.3 là một cây quyết định cho lớp mua laptop, chỉ ra mộtkhách hàng sẽ mua hay không mua một laptop Mỗi nút lá đại diện một lớp màđánh giá mua laptop là Yes hay No Sau khi mô hình này được xây dựng, chúng ta
có thể dự đoán việc có thể mua một laptop hay không dựa vào những thuộc tínhkhách hàng m ới là tuổi và nghề nghiệp Cây quyết định có thể ứng dụng rộng
rãi trong nhiều hoạt động của đời sống thực.
Phân nhóm dữ liệu
Phân nhóm là k ỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu.Tuy nhiên, sự phân nhóm dữ liệu là quá trình học không được giám sát, là quátrình nhóm những đối tượng vào trong những lớp tương đương, đến những đối
Hình 1.3: Cây quyết định
Trang 11tượng trong một nhóm là tương đương nhau, chúng phải khác với những đốitượng trong những nhóm khác Trong phân lớp dữ liệu, một bản ghi thuộc vềlớp nào là phải xác định trước, trong khi phân nhóm không xác định trước.Trong phân nhóm, những đối tượng được nhóm lại cùng nhau dựa vào sự giốngnhau của chúng Sự giống nhau giữa những đối tượng được xác định bởi nhữngchức năng giống nhau Thông thường những sự giống nhau về định lượng nhưkhoảng cách hoặc độ đo khác được xác định bởi những chuyên gia trong lĩnhvực của mình
Hồi qui (Regression): Là việc học một hàm ánh xạ từ một tập dữ liệu thành một
biến dự đoán có giá t r ị thực Nhiệm vụ hồi qui tương tự như phân lớp, điểmkhác nhau chính là ở chỗ thuộc t ính để dự báo là liên tục chứ không rời rạc Việc
dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điểnchẳng hạn như hồi qui tuyến tính Tuy nhiên, phương pháp mô hình hóa cũng được
sử dụng
Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phátquang hiện thời trong khi rừng bằng cách dò tìm vi sóng bằng thiết bị cảm biến từxa; dự đoán khả năng tử vong của bệnh nhân khi biết các kết quả xét nghiệmchuẩn đoán; dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêuquảng cáo…
Tổng hợp (summarization): Là công việc liên quan đến các phương pháp tìm kiếm
một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được áp dụngtrong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động
Mô hình hóa phụ thuộc (dependency modeling): Là việc tìm kiếm mô hình mô
tả các phụ thuộc quan trọng giữa các biến Mô hình phụ thuộc tồn tại ở hai mức:
Mức cấu trúc của mô hình (thường dưới dạng đồ thị) xác định các biến phụthuộc cục bộ vào các biến khác;
Mức định lượng của mô hình xác định mức độ phụ thuộc của các biến Nhữngphụ thuộc này thường được biểu thị dưới dạng luật
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Đó là
HVTH: Trịnh Ngọc Thư – CH1102017 Page 9
Trang 12đồ thị có hướng không có dạng chu trình, các nút biểu diễn thuộc tính và trọng sốchỉ liên kết phụ thuộc giữa các nút đó.
Phát hiện sự thay đổi và độ lệch (change and deviation dectection): Nhiệm vụ
này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vào các giátrị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của tậpcon dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng là lệch theothời gian và lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có nghĩa của dữliệu theo thời gian Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tậpcon dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa
là xác định dữ liệu trong một nhóm con của đối tượng có khác nhau đáng kể so vớitoàn bộ đối tượng
1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữliệu thành các loại khác nhau
Cơ sở dữ liệu quan hệ
Đến nay, hầu hết dữ liệu được lưu giữ dưới dạng cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng
mà chúng ta cần khai phá Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được
mô tả bởi một tập những thuộc tính và lưu trong những bảng Khai phá dữ liệutrên cơ sở dữ liệu quan hệ chủ yếu tập trung khai phá mẫu Ví dụ, trong cơ sở dữliệu của một ngân hàng, ta có thể tìm được những khách hàng có mức chi tiêucao, ta có thể phân loại những khách hàng này dựa vào quá trình chi tiêu của họ.Cũng với việc phân tích những mục chi tiêu của khách hàng, chúng ta có thểcung cấp một số thông tin của khách hàng đến những doanh nghiệp khác Giả sửrằng một khách hàng chi mỗi tháng 500 đô la cho thời trang, nếu được phép,ngân hàng có t h ể cung cấp thông tin về khách hàng này cho những cửa hàngthời trang
Cơ sở dữ liệu giao tác
Cơ sở dữ liệu giao tác là tập hợp những bản ghi giao dịch, trong đa số các
Trang 13trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổchức Với tính phổ biến của máy tính và thương mại điện tử, ngày nay có rấtnhiều cơ sở dữ liệu giao tác Khai phá dữ liệu trên cơ sở dữ liệu giao tác tậptrung vào khai phá l u ậ t kết hợp, tìm mối tương quan giữa những mục dữ liệucủa bản ghi giao dịch Nghiên cứu sâu về cơ sở dữ liệu giao tác được mô tả chitiết ở phần sau.
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phần: Phần thứ nhất là dữ liệuquan hệ hay giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý.Những luật kết hợp trên cơ sở dữ liệu không gian mô tả mối quan hệ giữa cácđặc trưng trong cơ sở dữ liệu không gian Dạng của luật kết hợp không gian códạng X ⇒ Y, với X, Y là tập hợp những vị từ không gian Những thuật toánkhai phá luật kết hợp không gian tương tự như khai phá luật kết hợp nhưng thêmnhững vị từ về không gian
Cơ sở dữ liệu có yếu tố thời gian
Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tố thời gian baogồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thôngtin về thời gian xuất hiện dữ liệu ở phần thứ nhất Những luật kết hợp có yếu tốthời gian có nhiều thông tin hơn những luật kết hợp cơ bản Ví dụ, từ luật kết hợp
cơ bản {Bia} ⇒ {Thuốc lá}, với dữ liệu có yếu tố thời gian chúng ta có thể cónhiều luật: Độ hỗ trợ của luật {Bia} ⇒ {Thuốc lá} là 20% từ 9 giờ đ ến 13 giờ, là50% trong thời gian 19 giờ tới 22 giờ Rõ ràng rằng, những người bán lẻ có thể xácđịnh chiến lược để buôn bán tốt hơn
Hầu hết nghiên cứu về lĩnh vực này ngày nay hình thành một hướng khaiphá d ữ liệu mới gọi là khai phá mẫu lặp liên tục, khai phá tập mục dữ liệuthường xuyên trong cơ sở dữ liệu thời gian
Cơ sở dữ liệu đa phương tiện
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi,duyệt web đã là nhu cầu của mọi tầng lớp trong xã hội Thông tin trên web đang phát
HVTH: Trịnh Ngọc Thư – CH1102017 Page 11
Trang 14triển với tốc độ rất cao, khai phá thông tin trên web (web mining) đã trở thành mộtlĩnh vực nghiên cứu chính của khai phá dữ liệu, được các nhà nghiên cứu đặc biệtquan tâm Khai phá dữ liệu web thông thường được chia thành ba phạm trù chính:Khai phá cách dùng web (web usage mining), khai phá cấu trúc web (web structuremining) và khai phá nội dung web (web content mining)
Khai phá cách dùng web tập trung vào việc khai phá thông tin của ngườitruy nhập web Với những thông tin này người khai phá dữ liệu có thể cung cấpnhững thông tin hữu ích cho người dùng và các nhà kinh doanh
1.6 Các phương pháp chính trong khai phá dữ liệu
Phân lớp và dự đoán (Classification & Prediction)
Xếp một đối tượng vào một trong những lớp đã biết Ví dụ: phân lớpvùng địa lý theo dữ liệu thời tiết Đối với hướng tiếp cận này thường áp dụngmột số kỹ thuật như học máy (Machine learning), cây quyết định (Decisiontree), mạng nơron nhân tạo (Neural network) Với hướng này, người ta còn gọi làhọc có giám sát hay học có thầy (Supervised learning)
Phân cụm và phân đoạn (Clusterring and Segmentation)
Sắp xếp các đối tượng theo từng cụm (số lượng và tên của cụm chưađược biết trước) Các đối tượng được gom cụm sao cho mức độ tương tự g iữacác đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đốitượng nằm trong các cụm khác nhau là nhỏ nhất Lớp bài toán phân cụm còn đượcgọi là học không giám sát hay học không thầy
Luật kết hợp (Association rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng khá đơn giản Mục tiêucủa phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữliệu trong cơ sở dữ liệu Mẫu đầu của giải thuật khai phá dữ liệu là tập luật kếthợp tìm được
Khai phá chuỗi theo thời gian (Sequential temporal patterns)
Cũng tương tự như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính
Trang 15thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vựctài chính và thị trường chứng khoán bởi vì chúng có tính dự báo cao.
Mô tả khái niệm và tổng hợp hóa (Summarization)
Liên quan đến các phương pháp tìm kiếm một mô tả cho một tập con dữliệu Các kỹ thuật toán tắt thường được áp dụng cho các phân tích dữ liệu tươngtác có tính thăm dò và tạo báo cáo tự động
1.7 Các ứng dụng của khai phá d ữ liệu
Khai phá dữ liệu tuy là một lĩnh vực mới nhưng đã thu hút được sự quantâm của rất nhiều nhà nghiên cứu, nhờ có nhiều những ứng dụng trong thực tiễn,các ứng dụng điển hình, có thể liệt kê như sau:
- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & decition support)
- Điều trị trong y học (Medical): mối liên hệ giữa triệu chứng, chuẩn đoán
và phương pháp điều trị (chế độ dinh dưỡng, thuốc men, phẫu thuật)
- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Textmining & Web mining)
- Tin sinh học (Bio -informatics): Tìm kiếm , đối sánh các hệ gen và thôngtin di truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền
Cơ sở dữ liệu Thống kê Máy móc, trí
tuệ nhân tạo
Tài chính, ngân hàng
Thuật toán họcCác ngành khoa
học khácGiáo dục
Y tế
Thương mại Khai phá dữ liệu
Hình 1.4: Một số lĩnh vực liên quan đến khai phá dữ liệu
Trang 16Phát hiện tri thức và khai phá dữ liệu được coi là trung tâm của nhiềungành khoa học, nó liên quan đến rất nhiều ngành, nhiều lĩnh vực khác nhaunhư tài chính, ngân hàng, thương mại, y tế, giáo dục, thống kê, máy móc, trí tuệnhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song song, thu nhận tri thức trongcác hệ chuyên gia, quan sát dữ liệu.
Lĩnh vực học máy và nhận dạng mẫu là giống nhau trong khai phá dữ liệunghiên cứu các lý thuyết và thuật toán của hệ thống trích ra các mẫu và mô hình
dữ liệu Khai phá dữ liệu tập trung vào việc mở rộng các lý thuyết và thuật toáncho các vấn đề về tìm ra các mẫu đặc biệt, đây được coi là những mẫu hữu íchhoặc tri thức quan trọng tập dữ liệu lớn
Đặc biệt, phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vựcthống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiệncác mẫu, luật…, kho dữ liệu và các công cụ xử lý trực tuyến (OLAP – onlineanalytical processing) tập trung vào phân tích dữ liệu đa chiều, tốt hơn SQLtrong tính toán và phân tích thống kê đa chiều cũng liên quan chặt chẽ đến khaiphá dữ liệu
Đặc trưng của hệ thống khai phá dữ liệu là nhờ vào các phương phápthuật toán và kỹ thuật từ những lĩnh vực khác nhau, nhằm mục đích cuối cùng làtrích ra tri thức từ dữ liệu trong CSDL khổng lồ
1.9 Các thách thức trong phát hiện tri thức và khai phá dữ liệu
Trang 17Khai phá dữ liệu ngày càng đóng một vai trò quan trọng trong việc tìm racác tri thức thực sự có ích, hiệu quả tiềm ẩn trong các khối dữ liệu thông tin khổng
lồ vẫn hàng ngày đang được thu thập, lưu trữ để giúp các cá nhân và tổ chức đưa
ra được các quyết định chính xác và nhanh chóng Tuy đã có rất nhiều các giảipháp và phương pháp được ứng dụng trong khai phá dữ liệu nhưng trên thực tếquá trình này vẫn gặp không ít khó khăn và thách thức như:
- Cơ sở dữ liệu lớn
- Số chiều các thuộc tính lớn
- Thay đ ổ i dữ liệu và tri thức có thể làm cho các mẫu đã phát h i ệ nkhông còn phù hợp
- Dữ liệu bị thiếu hoặc bị nhiễu
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- Tích hợp với các hệ thống khác
Cơ sở dữ liệu lớn có thể lớn về số lượng các bản ghi, lớn về số lượng cácthuộc tính trong CSDL Số lượng các bản ghi trong CSDL lớn có khi dunglượng tới hàng gigabyte, terabyte; số các thuộc tính trong CSDL có thể rất nhiều và
đa dạng Để giải quyết vấn đề này, người ta thường đưa ra một ngưỡng nào đócho CSDL bằng các cách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song
Trong CSDL khi mà các thuộc tính là rất lớn, cùng với số lượng lớn cácbản ghi sẽ dẫn đến kích thước độ phức tạp của bài toán tăng lên Vì vậy, khônggian tìm kiếm, không gian trạng thái gia tăng, nhiều mẫu hay mô hình thừa, trùnglặp phát sinh nhiều luật thừa, đây được coi là vấn đề nan giải trong quá trình khaiphá dữ liệu Nhằm giải quyết được những vấn đề trên , phải sử dụng một số các trithức đã biết trước để loại bỏ và trích lọc ra những dữ liệu thích hợp với yêu cầucủa bài toán
Vấn đề dữ liệu bị thay đổi phụ thuộc theo thời gian, có nghĩa là dữ liệu bịảnh hưởng và phụ thuộc vào thời điểm quan sát, lấy mẫu, thời điểm khai phá Kếtquả đạt được sau khai phá cũng gây không ít khó khăn cho khai phá dữ liệu, như
HVTH: Trịnh Ngọc Thư – CH1102017 Page 15
Trang 18các mẫu được khai phá ở bước trước , có thể không còn giá trị hay vô nghĩa đốivới thời điểm sử dụng, hoặc có thể làm nhiễu hay phát sinh hiệu ứng phụ làmsai lệch kết quả Để khắc phục được vấn đề này cần phải chuẩn hóa, cải tiến,nâng cấp các mẫu, các mô hình và có thể xem các thay đổi này là mục đích củakhai phá và tìm kiếm các mẫu bị thay đổi.
Thuộc tính không phù hợp, các bộ giá trị không đầy đủ, bị thiếu giá trịtrong các m i ề n thuộc tính đã làm ảnh hưởng rất lớn trong khai phá dữ liệu.Trong quá trình khai phá dữ liệu, khi các hệ thống tương tác với nhau phụ thuộcnhau mà t h i ế u vắng một vài giá trị nào đó, sẽ dẫn đến các mẫu không đượcchính xác, bị thiếu, không đầy đủ Để giải quyết cho vấn đề này, người ta coi sựthiếu vắng của các dữ liệu này là giá trị ẩn, chưa biết và có thể được tiên đoánbằng một số phương pháp nào đó
Quan h ệ phức tạp giữa các thuộc tính trong CSDL cũng là vấn đề cầnđược quan tâm Những bộ thuộc tính có cấu trúc, phân lớp phức tạp, có mối liên hệphức tạp với nhau trong CSDL đòi hỏi khai phá dữ liệu phải có các giải pháp, các
kỹ thuật để có thể áp dụng được, nhận ra được các mối quan hệ này trong quátrình khai phá dữ liệu
1.10 Kết luận chương 1
Các tri thức tiềm ẩn trong các CSDL có ý nghĩa rất lớn trong nhiều lĩnhvực vì vậy việc phát hiện, rút trích tự động các tri thức ẩn từ các tập hợp dữ liệulớn thông qua các mẫu, mô hình dữ liệu càng đóng một vai trò hết sức quantrọng, đặc biệt là trong bối cảnh hiện nay khi mà sự phát triển nhanh chóng củacác ứng dụng công nghệ thông tin ở nhiều ngành nghề trong đời sống xã hội,ngày càng tạo ra nhiều CSDL khổng lồ Chương này trình bày tóm tắt cácphương pháp khai phá dữ liệu phổ biến, các thành phần chủ yếu của một giảithuật khai phá dữ liệu và những thành tựu cũng như những thách thức trong khaiphá dữ liệu Trong các phương pháp khai phá dữ liệu, phân lớp dữ liệu là mộttrong những lĩnh vực đang được quan tâm và nghiên cứu mạnh mẽ
Trang 19Chương 2: PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG
MICROSOFT SQL SERVER
2.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 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ânlớ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ác định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụngtrong 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ác 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ámsá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.2 Các phương pháp phân lớp
2.2.1 Phân lớp bằng phương pháp qui nạp cây quyết định :
2.2.1.1 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ểudiễ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
HVTH: Trịnh Ngọc Thư – CH1102017 Page 17
Trang 20Việc tỉa cây là xác định và xóa những nhánh mà có phần tử hỗn loạn hoặcnhữ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
2.2.1.2 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:
1 Cây được xây dựng đệ qui từ trên xuống dưới (top-down) và theo cáchthứ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ặccủ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ùngmộ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
2.2.1.3 Độ 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ớiinformation 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ĩanhư 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ànhnhững tập hợp {S1,S2, ,Sv} Nếu Si chứa những mẫu của P và ni mẫu của Ni
entropy hoặc thông tin mong đợi cần để phân loại những đối tượng trong cây con
Si là :
v
E(A) = Σ [(pi+ni)/(p+n)] I(pi,ni) i=1
Thông tin nhận được ở nhánh A là: Gain(A) = I(p,n)-E(A)
2.2.1.4 Nội dung giải thuật học cây quyết định cơ bản ID3 :
Trang 21ID3 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ằngviệ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ấtcho 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ợithô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 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.
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ác định, trả về một nút lávới decision attribute:attribute value;
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:
HVTH: Trịnh Ngọc Thư – CH1102017 Page 19
Trang 22Outlook Temperature Humidity Windy Decision
overcast hot high false p
rain mild high false prain cool normal false prain cool normal false novercast cool normal true p
sunny mild high false psunny mild normal true prain mild normal false psunny mild normal true povercast mild high true p
overcast hot normal false p
rain mild high true nGiả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ữngtậ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(Sfalse) – (6/14)Entropy(Strue) =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
2.2.1.5 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áucủa nó cho phép sự kiểm tra 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ủanhữ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ô
Trang 23cù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ớithự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ụngnhữ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
2.2.1.6 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
Mở rộng qui nạp cây quyết định cũng được áp dụng cho những giá trị thuộctí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ấtcủ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ộctí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ưathớ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
2.2.1.7 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 đánhgiá 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ínhbằ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 xảy ra Trong ví dụ chơi đánh gôn, nếu chúng ta được đưa một recordmớ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 Humiditychú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 gôn.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ậplearning 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ớinhữ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
HVTH: Trịnh Ngọc Thư – CH1102017 Page 21
Trang 24Trong ví dụ về chơi Golf của chúng ta, đối với humidity T là training setchúng ta sẽ xác định thông tin cho mỗi lần phân chia và tìm được sự phân chia tốtnhất tại 75 Phạm vi của thuộc tính này trở thành {<=75,>75} Chú ý rằng phươngpháp này liên quan đến một con số quan trọng của việc tính toán.
2.2.1.8 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âydựng liên quan nghiêm ngặt đến hầu hết các record trong tập huấn luyện Trongthự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 đidà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âycon 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:
chứa 2 records thứ nhất là training red success và thứ hai là trainning bluefailures và sau đó trong Test Set chúng ta tìm thấy 3 red failures và một bluesuccess, 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ác đị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ác định.Nếu điều này không xảy ra thì thuộc tính không xác định không cần phải xuất hiệntrong đườ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ảmcâ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áicủ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ậtnày nếu tập con của training set thỏa mãn LHS và LHS’ là tương đương
Blue Red
Color
Trang 25Mộ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 ”
2.2.1.9 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 đổimới như là boosting Kết quả tạo ra bởi See5 và C5.0 là tương tự nhau Hoạt độngtrướ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 khaiphá 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ânloạ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 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ứccủa nó dễ hiểu hơn so với neutron network
C5.0 dễ dàng sử dụng do đó không được gọi là kiến thức cao cấp củathống kê và máy học
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ữngphiê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 :
Cũng với những tập dữ liệu (dataset) thì C4.5 và C5.0 sản sinh ra những luậtvới sự chính xác về dự đoán là như nhau Sự khác nhau chính yếu là kích cỡ củacâ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 nghiên cứu của Freund và Schapire, đây là sự phát triển mới đầyhấ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ác tiênđoán
HVTH: Trịnh Ngọc Thư – CH1102017 Page 23
Trang 26C5.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ôngthêm Boosting luôn cố gắng để đạt được đỉnh cao nhất của sự chính xác trongtiê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 đượcnâ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ếuquan điểm này được áp dụng, C5.0 sẽ xây dựng những đối tượng phân loại để tốithiể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 để địnhnghĩ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ướclớ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ự độnglọ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ânloạ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 đếnnhững đối tượng nhỏ hơn và sự tiên đoán chính xác 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ânthiện và thêm vào một số chức năng hỗ trợ khác Ví dụ Cross-Reference Windowlà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ườnghợp đến những phần liên quan đến việc phân loại
2.2.2 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ệcphâ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 đó pj là tần số liên quan của lớp j trong T
Trang 27Nếu một tập hợp dữ liệu T được chia thành 2 tập con T1 và T2 với kích thướctương ứng là N1 và N2
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ị ginisplit(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ộtcon đườ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
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ác đố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.
Tỉa trước: Dừng sự xây dựng của cây sớm – không chia một nodenế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ộtngưỡng thích hợp
Tỉa sau : Loại những nhánh từ một cây “lớn đầy đủ” - tạo thứ tự củanhữ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ác đị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ấnluyệ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 ápdụ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
HVTH: Trịnh Ngọc Thư – CH1102017 Page 25
Trang 282.2.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 nghiên cứu một cách mở rộng bởinhững nhà thống kê và những nhà nghiê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ânloạ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ác phân lớp có thể so sánh được với những phương phápkhác
Những phương pháp qui nạp cây quyết định trong nghiên cứu về Khai phá trên tập dữ liệu lớn :
2.2.3.1 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ânloạ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ânlớ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ố lượng của những lớp, những thuộctí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ứctrong bộ nhớ
Trang 292.2.3.2 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áchlớp nào
Song song phân lớp: phân chia danh sách những thuộc tính
2.2.3.3 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ảitiế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 địnhrằng nó sẽ bị tỉa trong suốt giai đoạn tỉa sau Do đó để tạo sự quyết định cho nodenà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ốithiểu cây con được đặt tại nút Sự ước lượng này sẽ được sử dụng bởi PUBLIC đểxác đị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à
HVTH: Trịnh Ngọc Thư – CH1102017 Page 27