Trong những năm gần đây Công nghệ thông tin phát triển mạnh mẽ và có
những tiến bộ vượt bậc. Cùng với sự phát triển của Công nghệ thông tin là sự
bùng nổ thông tin. Các thông tin tổ chức theo phương thức sử dụng giấy trong
giao dịch đang dần được số hóa, do nhiều tính năng vượt trội mà phương thức
này mang lại như: có thể lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm một cách
nhanh chóng. Đó làlý do khiến cho số lượng thông tin số hóa ngày nay đang
tăng dần theo cấp số nhân.
Hiện nay, không một lĩnh vực nào lại không cần đến sự hỗ trợ của công
nghệ thông tin và sự thành công của các lĩnh vực đó phụ thuộc rất nhiều vào
việc nắm bắt thông tin một cách nhạy bén, nhanh chóng và hữu ích. Với nhu cầu
như thế nếu chỉ sử dụng thao tác thủ công truyền thống thì độ chính xác không
cao và mất rất nhiều thời gian. Do vậy việc khai phá tri thức từ dữ liệu trong các
tập tài liệu lớn chứa đựng thông tin phục vụ nhu cầu nắm bắt thông tin có vai trò
hết sức to lớn. Việc khai phá tri thức đã có từ lâu nhưng sự bùng nổ của nó thì
mới chỉ xảy ra trong những năm gần đây. Các công cụ thu thập dữ liệu tự động
và các công nghệ cơ sở dữ liệu được phát triển dẫn đến vấn đề một lượng dữ liệu
khổng lồ được lưu trữ trong cơ sở dữ liệu và trong các kho thông tin của các tổ
chức, cá nhân.Do đó việc khai phá tri thức từ dữ liệu là một trong những vấn
đề đã và đang nhận được nhiều sự quan tâm của các nhà nghiên cứu. Một vấn đề
quan trọng và phổ biến trong kỹ thuật khai phá dữ liệu là phân lớp, nó đã và
đang được ứng dụng rộng rãi trong thương mại, y tế, công nghiệp.
58 trang |
Chia sẻ: nhungnt | Lượt xem: 5042 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng cây quyết định trong khai
phá dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i
TRƯỜNG ………………….
KHOA……………………….
----------
Báo cáo tốt nghiệp
Đề tài:
PHÂN TÁCH CỤM DANH TỪ CƠ SỞ TRIẾNG ViỆT SỬ DỤNG MÔ HÌNH CRFs
ii
LỜI CAM ĐOAN
Tôi xin cam đoan, kết quả luận văn hoàn toàn là kết quả của tự bản thân
tôi tìm hiểu, nghiên cứu. Các tài liệu tham khảo được trích dẫn và chú thích đầy
đủ.
Học viên
Nguyễn Thanh Huyền
iii
LỜI CẢM ƠN
Trong suốt thời gian học tập, hoàn thành luận văn tôi đã được các Thầy,
Cô truyền đạt cho các kiến thức cũng như phương pháp nghiên cứu khoa học rất
hữu ích và được gia đình, cơ quan, đồng nghiệp và bạn bè quan tâm, động viên
rất nhiều.
Trước hết, tôi muốn gửi lời cảm đến các Thầy, Cô trong khoa Công nghệ
thông tin- Trường Đại học Công nghệ - Đại học Quốc gia Hà nội đã truyền đạt
các kiến thức quý báu cho tôi trong suốt thời gian học tập tại trường. Đặc biệt,
tôi xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn PGS.TS Đoàn Văn Ban,
người Thầy đã tận tình chỉ bảo và hướng dẫn về mặt chuyên môn cho tôi trong
suốt quá trình thực hiện luận văn này.
Cũng qua đây, tôi xin gửi lời cảm ơn đến ban giám hiệu trường Trung cấp
kinh tế Hà Nội, nơi tôi đangcông tác đã tạo mọi điều kiện thuận lợi cho tôi trong
thời gian học tập cũng như trong suốt quá trình làm luận văn tốt nghiệp.
Cuối cùng, tôi xin cảm ơn bố mẹ, anh, chị, chồng, con và các bạn bè,
đồng nghiệp đã luôn ủng hộ, động viên tôi rất nhiều để tôi yên tâm nghiên cứu
và hoàn thành luận văn. Trong suốt quá trình làm luận văn, bản thân tôi đã cố
gắng tập trung tìm hiểu, nghiên cứu và tham khảo thêm nhiều tài liệu liên quan.
Tuy nhiên, do thời gian hạn chế và bản thân còn chưa có nhiều kinh nghiệm
trong nghiên cứu khoa học, chắc chắn bản luận văn vẫn còn nhiều thiếu sót. Tôi
rất mong được nhận sự chỉ bảo của các Thầy Cô giáo và các góp ý của bạn bè,
đồng nghiệp để luận văn được hoàn thiện hơn.
Hà Nội, ngày 12 tháng 06 năm 2011
Nguyễn Thanh Huyền
iv
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................. i
LỜI CẢM ƠN ................................................................................................................. iii
MỤC LỤC ........................................................................................................................ iv
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ....................................... vi
DANH MỤC CÁC BẢNG ......................................................................................... vii
DANH MỤC CÁC HÌNH .........................................................................................viii
MỞ ĐẦU............................................................................................................................ 1
Chương 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ LÝ THUYẾT
TẬP THÔ .......................................................................................................................... 3
1.1. Giới thiệu về khai phá dữ liệu .............................................................. 3
1.1.1 Khám phá tri thức ...................................................................................... 3
1.1.2. Khai phá dữ liệu........................................................................................ 4
1.2. Ứng dụng của khai phá dữ liệu ............................................................ 5
1.3. Một số phương pháp khai phá dữ liệu thông dụng................................ 6
1.3.1. Phân lớp (Classification) ......................................................................... 6
1.3.2. Phân cụm (Clustering) ............................................................................. 8
1.3.3. Luật kết hợp (Association Rules) .......................................................... 9
1.4. Lý thuyết tập thô .................................................................................. 9
1.4.1. Hệ thông tin ............................................................................................. 10
1.4.2. Bảng quyết định ...................................................................................... 10
1.4.3. Quan hệ không phân biệt được ........................................................... 12
1.4.4. Xấp xỉ tập hợp ......................................................................................... 12
1.5. Kết luận chương 1.............................................................................. 14
Chương 2- CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN XÂY DỰNG
CÂY QUYẾT ĐỊNH..................................................................................................... 15
2.1. Tổng quan về cây quyết định ............................................................. 15
2.1.1. Định nghĩa................................................................................................ 15
2.1.2. Thiết kế cây quyết định ......................................................................... 16
2.1.3. Phương pháp tổng quát xây dựng cây quyết định............................. 18
2.1.3. Ứng dụng cây quyết định trong khai phá dữ liệu ............................. 19
2.2. Thuật toán xây dựng cây quyết định dựa vào Entropy........................ 20
2.2.1. Tiêu chí chọn thuộc tính phân lớp ....................................................... 20
2.2.2. Thuật toán ID3 ........................................................................................ 21
2.2.3. Ví dụ về thuật toán ID3 ......................................................................... 23
2.3. Thuật toán xây dựng cây quyết định dựa vào độ phụ thuộc của thuộc
tính ........................................................................................................... 28
v
2.3.1. Độ phụ thuộc của thuộc tính theo lý thuyết tập thô ......................... 28
2.3.2. Độ phụ thuộc chính xác theo lý thuyết tập thô .............................. 28
2.3.3. Tiêu chí chọn thuộc tính để phân lớp.................................................. 28
2.3.4. Thuật toán xây dựng cây quyết định ADTDA .................................. 29
2.3.5. Ví dụ.......................................................................................................... 30
2.4. Thuật toán xây dựng cây quyết định dựa vào Entropy và độ phụ thuộc
của thuộc tính ........................................................................................... 33
2.4.1. Tiêu chí chọn thuộc tính để phân lớp.................................................. 33
2.4.2. Thuật toán FID3 (Fixed Iterative Dichotomiser 3 [5] ) ................... 34
2.4.3. Ví dụ.......................................................................................................... 35
2.5. Kết luận chương 2.............................................................................. 39
Chương 3 - ỨNG DỤNG KIỂM CHỨNG VÀ ĐÁNH GIÁ.............................. 40
3.1. Giới thiệu bài toán ............................................................................. 40
3.2. Giới thiệu về cơ sở dữ liệu ................................................................. 40
3.3. Cài đặt ứng dụng................................................................................ 41
3.4. Kết quả và đánh giá thuật toán ........................................................... 42
3.4.1. Mô hình cây quyết định tương ứng với tập dữ liệu Bank_data...... 42
3.4.2. Các luật quyết định tương ứng với tập dữ liệu Bank_data ............. 44
3.4.3. Đánh giá thuật toán ................................................................................ 44
3.4.4. Ứng dụng cây quyết định trong khai phá dữ liệu ............................. 45
3.5. Kết luận chương 3.............................................................................. 46
KẾT LUẬN ..................................................................................................................... 47
TÀI LIỆU THAM KHẢO .......................................................................................... 49
vi
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
CÁC KÝ HIỆU:
S = (U, A) Hệ thông tin
Va Tập các giá trị của thuộc tính a
IND(B) Quan hệ tương đương của tập thuộc tính B
[ui]p Lớp tương đương chứa đối tượng ui
U/B Phân hoạch của U sinh ra bởi quan hệ IND(B)
DT=(U,CD) Bảng quyết định
)(XB B-Xấp xỉ dưới của X
)(XB B-xấp xỉ trên của X
)(SC dPO Miền C-khẳng định của d
|DT| Tổng số các đối tượng trong DT
|U| Lực lượng của tập U
[U]d Phân hoạch của U sinh ra bởi quan hệ IND(d)
CÁC CHỮ VIẾT TẮT:
ADTDA Algorithm for Buiding Decision Tree Based on Dependency
of Attributes
FID3 Fixed Iterative Dichotomiser 3
ID3 Iterative Dichotomiser 3
IG Information Gain
vii
DANH MỤC CÁC BẢNG
Bảng 1. Hệ thông tin đơn giản......................................................................... 10
Bảng 2. Một bảng quyết định với C={Age, LEMS} và D={Walk}..................... 11
Bảng 3. Dữ liệu huấn luyện .............................................................................. 23
Bảng 4. Bảng các thuộc tính của tập dữ liệu Bank_data................................... 41
Bảng 5. Độ chính xác của các thuật toán ......................................................... 45
viii
DANH MỤC CÁC HÌNH
Hình 1. Quá trình phân lớp dữ liệu – Bước xây dựng mô hình ........................... 7
Hình 2. Quá trình phân lớp dữ liệu – Ước lượng độ chính xác mô hình ............. 8
Hình 3. Quá trình phân lớp dữ liệu –Phân lớp dữ liệu mới ................................ 8
Hình 4. Xấp xỉ tập đối tượng trong Bảng 2 bởi các thuộc tính điều kiện Age và
LEMS ............................................................................................................... 14
Hình 5. Mô tả chung về cây quyết định............................................................. 15
Hình 6. Ví dụ về Cây quyết định ....................................................................... 16
Hình 7. Mô hình phân lớp các mẫu mới ........................................................... 19
Hình 8. Cây sau khi chọn thuộc tính Humidity (ID3)........................................ 25
Hình 9. Cây sau khi chọn thuộc tính Outlook (ID3).......................................... 26
Hình 10. Cây kết quả (ID3) .............................................................................. 27
Hình 11. Cây sau khi chọn thuộc tính Humidity (ADTDA) ............................... 31
Hình 12. Cây sau khi chọn thuộc tính Outlook (ADTDA) ................................. 32
Hình 13. Cây kết quả (ADTDA)........................................................................ 33
Hình 14. Cây quyết định sau khi chọn thuộc tính Humidity (FID3) .................. 36
Hình 15. Cây quyết định sau khi chọn thuộc tính Windy (FID3)....................... 38
Hình 16. Cây kết quả (FID3) ............................................................................ 39
Hình 17. Dạng cây quyết định ID3 ................................................................... 42
Hình 18. Dạng cây quyết định ADTDA............................................................. 42
Hình 19. Dạng cây quyết định FID3................................................................. 43
Hình 20. Một số luật của cây quyết định ID3 ................................................... 44
Hình 21. Một số luật của cây quyết định ADTDA ............................................. 44
Hình 22. Một số luật của cây quyết định FID3 ................................................. 44
Hình 23. Giao diện ứng dụng ........................................................................... 46
1
MỞ ĐẦU
Lý do chọn đề tài
Trong những năm gần đây Công nghệ thông tin phát triển mạnh mẽ và có
những tiến bộ vượt bậc. Cùng với sự phát triển của Công nghệ thông tin là sự
bùng nổ thông tin. Các thông tin tổ chức theo phương thức sử dụng giấy trong
giao dịch đang dần được số hóa, do nhiều tính năng vượt trội mà phương thức
này mang lại như: có thể lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm một cách
nhanh chóng. Đó là lý do khiến cho số lượng thông tin số hóa ngày nay đang
tăng dần theo cấp số nhân.
Hiện nay, không một lĩnh vực nào lại không cần đến sự hỗ trợ của công
nghệ thông tin và sự thành công của các lĩnh vực đó phụ thuộc rất nhiều vào
việc nắm bắt thông tin một cách nhạy bén, nhanh chóng và hữu ích. Với nhu cầu
như thế nếu chỉ sử dụng thao tác thủ công truyền thống thì độ chính xác không
cao và mất rất nhiều thời gian. Do vậy việc khai phá tri thức từ dữ liệu trong các
tập tài liệu lớn chứa đựng thông tin phục vụ nhu cầu nắm bắt thông tin có vai trò
hết sức to lớn. Việc khai phá tri thức đã có từ lâu nhưng sự bùng nổ của nó thì
mới chỉ xảy ra trong những năm gần đây. Các công cụ thu thập dữ liệu tự động
và các công nghệ cơ sở dữ liệu được phát triển dẫn đến vấn đề một lượng dữ liệu
khổng lồ được lưu trữ trong cơ sở dữ liệu và trong các kho thông tin của các tổ
chức, cá nhân....Do đó việc khai phá tri thức từ dữ liệu là một trong những vấn
đề đã và đang nhận được nhiều sự quan tâm của các nhà nghiên cứu. Một vấn đề
quan trọng và phổ biến trong kỹ thuật khai phá dữ liệu là phân lớp, nó đã và
đang được ứng dụng rộng rãi trong thương mại, y tế, công nghiệp...
Trong những năm trước đây, phương pháp phân lớp đã được đề xuất,
nhưng không có phương pháp tiếp cận phân loại nào là cao hơn và chính xác
hơn hẳn những phương pháp khác. Tuy nhiên với mỗi phương pháp có một lợi
thế và bất lợi riêng khi sử dụng. Một trong những công cụ khai phá tri thức hiệu
quả hiện nay là sử dụng cây quyết định để tìm ra các luật phân lớp.
Phân lớp sử dụng lý thuyết tập thô, được đề xuất bởi Zdzislaw Pawlak vào
năm 1982, và đã được nghiên cứu rộng rãi trong những năm gần đây. Lý thuyết
tập thô cung cấp cho nhiều nhà nghiên cứu và phân tích dữ liệu với nhiều kỹ
thuật trong khai phá dữ liệu như là các khái niệm đặc trưng bằng cách sử dụng
một số dữ kiện. Nhiều nhà nghiên cứu đã sử dụng lý thuyết tập thô trong các
ứng dụng như phân biệt thuộc tính, giảm số chiều, khám phá tri thức, và phân
2
tích dữ liệu thời gian,... Đây là một công cụ toán học mới được áp dụng trong
khai phá dữ liệu có thể được dùng để lựa chọn thuộc tính để phân nhánh trong
việc xây dựng cấu trúc cây quyết định và có nhiều cách tiếp cận khác nhau để
chọn thuộc tính phân nhánh tối ưu, làm cho cây có chiều cao nhỏ nhất. Chính vì
vậy, trong luận văn này tôi đã tìm hiểu về các phương pháp xây dựng cây quyết
định dựa vào tập thô. Việc ứng dụng cây quyết định để khai phá dữ liệu đã và
đang được tiếp tục tìm hiểu, nghiên cứu. Với mong muốn tìm hiểu và nghiên
cứu về lĩnh vực này, tôi đã chọn đề tài “Ứng dụng cây quyết định trong khai
phá dữ liệu” làm luận văn tốt nghiệp.
Mục tiêu nghiên cứu
Mục đích của luận văn là nghiên cứu các vấn đề cơ bản của lý thuyết tập
thô, cây quyết định và các thuật toán xây dựng cây quyết định trên hệ thông tin
đầy đủ dựa trên tập thô; cài đặt và đánh giá các thuật toán xây dựng cây quyết
định đã nghiên cứu; bước đầu áp dụng mô hình cây quyết định đã xây dựng vào
trong khai phá dữ liệu (hỗ trợ ra quyết định trong vay vốn).
Bố cục luận văn
Luận văn gồm 3 chương chính:
Chương 1: Tổng quan về khai phá tri thức và lý thuyết tập thô
Trong chương này trình bày tổng quan về khai phá dữ liệu và lý thuyết tập
thô.
Chương 2: Cây quyết định và các thuật tóan xây dựng cây quyết định.
Trong chương này giới thiệu tổng quan về cây quyết đinh, phương pháp
tổng quát xây dựng cây quyết định và ba thuật toán xây dựng cây quyết định:
ID3, ADTDA, FID3
Chương 3: Thực nghiệm và đánh giá.
Phát biểu bài toán, cài đặt ứng dụng và đánh giá.
3
Chương 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ
LÝ THUYẾT TẬP THÔ
1.1. Giới thiệu về khai phá dữ liệu
1.1.1 Khám phá tri thức
Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu
ngày càng phát triển nhanh chóng tạo điều kiện cho các đơn vị thu thập dữ liệu
nhiều hơn và tốt hơn. Đặc biệt trong lĩnh vực kinh doanh, các doanh nghiệp đã
nhận thức được tầm quan trọng cuả việc nắm bắt và xử lí thông tin. Nó hỗ trợ
các chủ doanh nghiệp trong việc đưa ra các chiến lược kinh doanh kịp thời mang
lại những lợi nhuận to lớn cho doanh nghiệp của mình. Tất cả lí do đó khiến cho
các cơ quan, đơn vị và các doanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ
Gigabyte thậm chí là Terabyte cho riêng mình. Các kho dữ liệu ngày càng lớn và
tiềm ẩn nhiều thông tin có ích. Sự bùng nổ đó dẫn tới một yêu cầu cấp thiết là
phải có những kĩ thuật và công cụ mới để biến kho dữ liệu khổng lồ kia thành
những thông tin cô đọng và có ích. Khám phá tri thức từ dữ liệu (Knowledge
Discovery from Data - KDD) ra đời như một kết quả tất yếu đáp ứng các nhu
cầu đó.
Quá trình khám phá tri thức từ dữ liệu thông thường gồm các bước chính
sau [2]-[7]:
Bước 1: Xác định vấn đề và lựa chọn nguồn dữ liệu (Problem
Understanding anh Data Understanding)
Trong giai đoạn này các chuyên gia trong lĩnh vực cần phải thảo luận
với các chuyên gia tin học, để xác định được chúng ta mong muốn khám
phá những gì, thống nhất giải pháp cho quá trình khám phá dữ liệu (muốn
có các luật hay muốn phân lớp, phâm cụm dữ liệu…). Đây là một giai đoạn
quan trọng vì nếu xác định sai vấn đề thì toàn bộ quá trình phá sản, nó trở
nên vô ích.
Bước 2: Chuẩn bị dữ liệu (Data preparation)
Bao gồm các quá trình sau:
- Thu thập dữ liệu (data gathering)
4
- Làm sạch dữ liệu (data cleaning)
- Tích hợp dữ liệu ( data integeration)
- Chọn dữ liệu (data selection)
- Biến đổi dữ liệu (data transformation)
Đây cũng là một giai đoạn rất quan trọng vì nếu dữ liệu đầu vào
không chính xác thì hiển nhiên sẽ không thể nào có một kết quả chính xác
được.
Bước 3 : Khai phá dữ liệu (Data Mining)
Đây là bước xác định nhiệm vụ khai phá dữ liệu và lựa chọn kỹ thuật
khai phá dữ liệu. Kết quả của quá trình này sẽ tìm ra các tri thức, mô hình
hay các quy luật tiềm ẩn bên trong dữ liệu.
Bước 4: Đánh giá mẫu (Partern Evalution)
Đánh giá xem tri thức thu được có chính xác và có giá trị hay không,
nếu không có thể quay lại các bước trên. Việc đánh giá này được thực hiện
thông qua các chuyên gia trong lĩnh vực và người dùng là chính chứ không
phải là các chuyên gia tin học.
Bước 5: Biểu diễn tri thức và triển khai (Knowlegde presentation and
Deployment)
Biểu diễn tri thức phát hiện được dưới dạng tường minh, thân thiện và
hữu ích với đa số người dùng và tiến hành đưa tri thức phát hiện được vào
các ứng dụng cụ thể.
1.1.2. Khai phá dữ liệu
Khai phá dữ liệu chỉ là một bước trong quá trình khám phá tri thức từ cơ sở
dữ liệu. Khai phá dữ liệu bao gồm các giai đoạn sau [7]:
Giai đoạn 1: Gom dữ liệu (Gathering)
Đây là bước tập hợp các dữ liệu được khai thác trong một cơ sở dữ liệu,
một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.
Giai đoạn 2: Trích lọc dữ liệu (Selection)
5
Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu
chuẩn nào đó, ví dụ chọn tất cả những người có tuổi đời từ 25 – 35 và có trình
độ đại học.
Giai đoạn 3: Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing,
Pre-processing and Preparation)
Giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một
bước rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải
trong khi gom dữ liệu là tính không đủ chặt chẽ, logíc. Vì vậy, dữ liệu thường
chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu. Ví dụ: tuổi =
673. Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói
trên. Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị.
Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu không được “làm
sạch - tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kết quả sai l