Nghiên cứu thuật toán phân lớp dữ liệu trên cây quyết định tại Đại học Quốc gia Hà Nội

Khóa luận tốt nghiệp nghiên cứu Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định khóa luận tốt nghiệp đại học hệ, vận dụng lý thuyết vào thực tế, đề xuất giải

Trường đại học

Đại học Công Nghệ

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

khóa luận

2005

67
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH

1.1. Tổng quan về phân lớp dữ liệu trong data mining

1.2. Các vấn đề liên quan đến phân lớp dữ liệu

1.3. Các phương pháp đánh giá độ chính xác của mô hình phân lớp

1.4. Cây quyết định ứng dụng trong phân lớp dữ liệu

1.5. Các vấn đề trong khai phá dữ liệu sử dụng cây quyết định

1.6. Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu

1.7. Xây dựng cây quyết định

1.8. Thuật toán xây dựng cây quyết định

1.9. Tình hình nghiên cứu các thuật toán hiện nay

1.10. Song song hóa thuật toán phân lớp dựa trên cây quyết định tuần tự

2. CHƯƠNG 2: PHÂN TÍCH HAI THUẬT TOÁN TIÊU BIỂU

2.1. Giới thiệu chung

2.2. Thuật toán C4.5

2.2.1. Cơ chế lựa chọn thuộc tính

2.2.2. Xử lý giá trị thiếu

2.2.3. Tránh quá vừa dữ liệu

2.2.4. Chuyển đổi cây quyết định sang luật

2.2.5. Hiệu quả của thuật toán C4.5 với tập dữ liệu vừa và nhỏ

2.3. Thuật toán SPRINT

2.3.1. Cấu trúc dữ liệu trong SPRINT

2.3.2. Sử dụng Gini-index làm độ đo tìm điểm phân chia tập dữ liệu tốt nhất

2.3.3. Thực thi sự phân chia

2.3.4. Hiệu quả của thuật toán SPRINT với tập dữ liệu cực lớn

3. CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM

3.1. Môi trường thực nghiệm

3.2. Cấu trúc mô hình phân lớp C4.5

3.2.1. Mô hình phân lớp C4.5 có 4 chương trình chính

3.2.2. Cấu trúc dữ liệu sử dụng trong C4.5

3.3. Kết quả thực nghiệm

3.4. Một số đề xuất cải tiến mô hình phân lớp C4.5

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về thuật toán phân lớp dữ liệu trên cây quyết định

Thuật toán phân lớp dữ liệu trên cây quyết định là một trong những phương pháp phổ biến trong lĩnh vực khai phá dữ liệu. Cây quyết định giúp phân loại dữ liệu dựa trên các thuộc tính của nó, từ đó đưa ra các quyết định chính xác. Phương pháp này không chỉ dễ hiểu mà còn dễ triển khai trong nhiều lĩnh vực như thương mại, y tế và giáo dục. Việc hiểu rõ về cây quyết định và cách thức hoạt động của nó là rất quan trọng để áp dụng hiệu quả trong thực tiễn.

1.1. Cây quyết định là gì và cách hoạt động

Cây quyết định là một cấu trúc dữ liệu dạng cây, trong đó mỗi nút nội bộ đại diện cho một thuộc tính, mỗi nhánh đại diện cho một giá trị của thuộc tính đó, và mỗi nút lá đại diện cho một lớp phân loại. Quá trình phân lớp bắt đầu từ gốc cây và đi xuống các nhánh cho đến khi đạt được nút lá. Điều này giúp dễ dàng hình dung và hiểu rõ cách mà dữ liệu được phân loại.

1.2. Lợi ích của việc sử dụng cây quyết định trong phân lớp dữ liệu

Cây quyết định mang lại nhiều lợi ích, bao gồm khả năng giải thích dễ dàng, không yêu cầu nhiều tiền xử lý dữ liệu, và có thể xử lý cả dữ liệu số và dữ liệu phân loại. Hơn nữa, cây quyết định có thể được sử dụng để phát hiện các mối quan hệ phức tạp giữa các thuộc tính, giúp cải thiện độ chính xác của mô hình phân lớp.

II. Các thách thức trong việc phân lớp dữ liệu trên cây quyết định

Mặc dù cây quyết định là một công cụ mạnh mẽ, nhưng vẫn tồn tại nhiều thách thức trong việc áp dụng nó cho phân lớp dữ liệu. Một trong những vấn đề chính là hiện tượng quá khớp (overfitting), khi mô hình quá phức tạp và không thể tổng quát hóa cho dữ liệu mới. Ngoài ra, việc lựa chọn thuộc tính cũng có thể ảnh hưởng đến hiệu suất của mô hình.

2.1. Hiện tượng quá khớp trong cây quyết định

Quá khớp xảy ra khi cây quyết định học quá nhiều từ dữ liệu huấn luyện, dẫn đến việc mô hình không thể hoạt động tốt trên dữ liệu kiểm tra. Để khắc phục, các kỹ thuật như cắt tỉa cây (pruning) có thể được áp dụng để giảm độ phức tạp của mô hình.

2.2. Lựa chọn thuộc tính trong cây quyết định

Việc lựa chọn thuộc tính là một bước quan trọng trong quá trình xây dựng cây quyết định. Các thuật toán như C4.5 và CART sử dụng các tiêu chí khác nhau để xác định thuộc tính nào nên được chọn để phân chia dữ liệu. Sự lựa chọn này có thể ảnh hưởng lớn đến độ chính xác của mô hình.

III. Phương pháp xây dựng cây quyết định hiệu quả

Để xây dựng cây quyết định hiệu quả, cần áp dụng các phương pháp và thuật toán phù hợp. Các thuật toán như C4.5 và SPRINT đã được chứng minh là hiệu quả trong việc phân lớp dữ liệu. Mỗi thuật toán có những ưu điểm và nhược điểm riêng, và việc lựa chọn thuật toán phù hợp là rất quan trọng.

3.1. Thuật toán C4.5 trong phân lớp dữ liệu

C4.5 là một trong những thuật toán phổ biến nhất cho việc xây dựng cây quyết định. Nó sử dụng thông tin thu được từ các thuộc tính để xác định cách phân chia dữ liệu. C4.5 có khả năng xử lý các giá trị thiếu và có thể tạo ra các quy tắc phân lớp dễ hiểu.

3.2. Thuật toán SPRINT cho tập dữ liệu lớn

SPRINT là một thuật toán được thiết kế để xử lý các tập dữ liệu lớn. Nó sử dụng cấu trúc dữ liệu hiệu quả để giảm thiểu thời gian tính toán và tăng tốc độ xây dựng cây quyết định. SPRINT là lựa chọn lý tưởng cho các ứng dụng yêu cầu xử lý nhanh chóng và hiệu quả.

IV. Ứng dụng thực tiễn của thuật toán phân lớp dữ liệu trên cây quyết định

Thuật toán phân lớp dữ liệu trên cây quyết định đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau. Từ thương mại đến y tế, cây quyết định giúp các tổ chức đưa ra quyết định chính xác dựa trên dữ liệu. Việc áp dụng này không chỉ giúp tiết kiệm thời gian mà còn nâng cao hiệu quả công việc.

4.1. Ứng dụng trong thương mại

Trong lĩnh vực thương mại, cây quyết định được sử dụng để phân tích hành vi khách hàng, từ đó đưa ra các chiến lược marketing hiệu quả. Các doanh nghiệp có thể dự đoán xu hướng mua sắm và tối ưu hóa quy trình bán hàng.

4.2. Ứng dụng trong y tế

Trong y tế, cây quyết định giúp phân loại bệnh nhân dựa trên các triệu chứng và kết quả xét nghiệm. Điều này hỗ trợ bác sĩ trong việc đưa ra chẩn đoán và điều trị chính xác hơn.

V. Kết luận và tương lai của thuật toán phân lớp dữ liệu trên cây quyết định

Thuật toán phân lớp dữ liệu trên cây quyết định đã chứng minh được giá trị của nó trong nhiều lĩnh vực. Tuy nhiên, vẫn còn nhiều thách thức cần phải vượt qua để tối ưu hóa hiệu suất của nó. Tương lai của cây quyết định hứa hẹn sẽ có nhiều cải tiến và ứng dụng mới, đặc biệt trong bối cảnh dữ liệu ngày càng lớn và phức tạp.

5.1. Xu hướng phát triển trong nghiên cứu

Nghiên cứu về cây quyết định đang tiếp tục phát triển với nhiều cải tiến về thuật toán và kỹ thuật. Các nhà khoa học đang tìm kiếm cách để tối ưu hóa hiệu suất và khả năng mở rộng của cây quyết định trong các ứng dụng thực tiễn.

5.2. Tương lai của cây quyết định trong khai phá dữ liệu

Cây quyết định sẽ tiếp tục đóng vai trò quan trọng trong khai phá dữ liệu. Với sự phát triển của công nghệ và dữ liệu lớn, cây quyết định sẽ được cải tiến để đáp ứng nhu cầu ngày càng cao trong việc phân tích và dự đoán dữ liệu.

16/08/2025
Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định khóa luận tốt nghiệp đại học hệ chính quy

Trích đoạn nội dung tài liệu

Đ I H C QU C GIA HÀ N I TR NG Đ I H C CÔNG NGH Nguy n Th Thùy Linh NGHIÊN C U CÁC THU T TOÁN PHÂN L P D LI U D A TRÊN CÂY QUY T Đ NH KHÓA LU N T T NGHI P Đ I H C H CHÍNH QUY Ngành: Công ngh thông tin HÀ N I - 2005 Đ I H C QU C GIA HÀ N I TR NG Đ I H C CÔNG NGH Nguy n Th Thùy Linh NGHIÊN C U CÁC THU T TOÁN PHÂN L P D LI U D A TRÊN CÂY QUY T Đ NH KHÓA LU N T T NGHI P Đ I H C H CHÍNH QUY Ngành: Công ngh thông tin Cán b h ng d n: TS. Nguy n H i Châu HÀ N I - 2005 TÓM T T N I DUNG Phân lớp dữ liệu là một trong những h ớng nghiên cứu chính của khai phá dữ liệu. Công nghệ này đã, đang và sẽ có nhiều ứng dụng trong các lĩnh vực th ơng mại, ngân hàng, y tế, giáo dục…Trong các mô hình phân lớp đã đ ợc đề xuất, cây quyết định đ ợc coi là công cụ mạnh, phổ biến và đặc biệt thích hợp với các ứng dụng khai phá dữ liệu. Thuật toán phân lớp là nhân tố trung tâm trong một mô hình phân lớp.

Khóa luận đã nghiên cứu vấn đề phân lớp dữ liệu dựa trên cây quyết định. Từ đó tập trung vào phân tích, đánh giá, so sánh hai thuật toán tiêu biểu cho hai phạm vi ứng dụng khác nhau là C4. Với các chiến l ợc riêng về lựa chọn thuộc tính phát triển, cách thức l u trữ phân chia dữ liệu, và một số đặc điểm khác, C4.5 là thuật toán phổ biến nhất khi phân lớp tập dữ liệu vừa và nhỏ, SPRINT là thuật toán tiêu biểu áp dụng cho những tập dữ liệu có kích th ớc cực lớn. Khóa luận đã chạy thử nghiệm mô hình phân lớp C4.5 với tập dữ liệu thực và thu đ ợc một số kết quả phân lớp có ý nghĩa thực tiễn cao, đồng thời đánh giá đ ợc hiệu năng của mô hình phân lớp C4.

Trên cơ sở nghiên cứu lý thuyết và quá trình thực nghiệm, khóa luận đã đề xuất một số cải tiến mô hình phân lớp C4.5 và tiến tới cài đặt SPRINT. - i- L IC M N Trong suốt thời gian học tập, hoàn thành khóa luận em đã may mắn đ ợc các thầy cô chỉ bảo, dìu dắt và đ ợc gia đình, bạn bè quan tâm, động viên. Em xin đ ợc bày tỏ lòng biết ơn chân thành tới các thầy cô tr ờng Đại học Công Nghệ đã truyền đạt cho em nguồn kiến thức vô cùng quý báu cũng nh cách học tập và nghiên cứu khoa học. Cho phép em đ ợc gửi lời cảm ơn sâu sắc nhất tới TS.

Nguyễn Hải Châu, ng ời thầy đã rất nhiệt tình chỉ bảo và h ớng dẫn em trong suốt quá trình thực hiện khóa luận. Với tất cả tấm lòng mình, em xin bày tỏ lòng biết ơn sâu sắc đến TS. Hà Quang Thụy đã tạo điều kiện thuận lợi và cho em những định h ớng nghiên cứu. Em xin lời cảm ơn tới Nghiên cứu sinh Đoàn Sơn (JAIST) đã cung cấp tài liệu và cho em những lời khuyên quý báu.

Em cũng xin gửi lời cảm ơn tới các thầy cô trong Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin đã giúp em có đ ợc môi thực nghiệm thuận lợi. Em cũng xin gửi tới các bạn trong nhóm Seminar “Khai phá dữ liệu và Tính toán song song” lời cảm ơn chân thành vì những đóng góp và những kiến thức quý báu em đã tiếp thu đ ợc trong suốt thời gian tham gia nghiên cứu khoa học. Cuối cùng, em xin cảm ơn gia đình, bạn bè và tập thể lớp K46CA, những ng ời đã luôn ở bên khích lệ và động viên em rất nhiều. Hà Nội, tháng 6 năm 2005 Sinh viên Nguyễn Thị Thùy Linh - ii- M CL C TÓM T T N I DUNG.

iii DANH M C BI U Đ HÌNH VẼ.v DANH M C THU T NG. T NG QUAN V PHÂN L P D LI U D A TRÊN CÂY QUY T Đ NH. Tổng quan về phân lớp dữ liệu trong data mining. Phân lớp dữ liệu.

Các vấn đề liên quan đến phân lớp dữ liệu. Các ph ơng pháp đánh giá độ chính xác của mô hình phân lớp. Cây quyết định ứng dụng trong phân lớp dữ liệu. Các vấn đề trong khai phá dữ liệu sử dụng cây quyết định.

Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu. Xây dựng cây quyết định. Thuật toán xây dựng cây quyết định. Tình hình nghiên cứu các thuật toán hiện nay.

Song song hóa thuật toán phân lớp dựa trên cây quyết định tuần tự. Giới thiệu chung .5 dùng Gain-entropy làm độ đo lựa chọn thuộc tính “tốt nhất”.5 có cơ chế riêng trong xử lý những giá trị thiếu. Tránh “quá vừa” dữ liệu. Chuyển đổi từ cây quyết định sang luật .5 là một thuật toán hiệu quả cho những tập dữ liệu vừa và nhỏ.

Thuật toán SPRINT. Cấu trúc dữ liệu trong SPRINT. SPRINT sử dụng Gini-index làm độ đo tìm điểm phân chia tập dữ liệu “tốt nhất”. Thực thi sự phân chia.

SPRINT là thuật toán hiệu quả với những tập dữ liệu quá lớn so với các thuật toán khác. CÁC K T QU TH C NGHI M. Môi tr ờng thực nghiệm. Cấu trúc mô hình phân lớp C4.

Mô hình phân lớp C4.5 có 4 ch ơng trình chính:. Cấu trúc dữ liệu sử dụng trong C4. Kết quả thực nghiệm. `7Một số kết quả phân lớp tiêu biểu:.

Các biểu đồ hiệu năng. Một số đề xuất cải tiến mô hình phân lớp C4.56 TÀI LI U THAM KH O.57 - iv- DANH M C BI U Đ HÌNH VẼ Hình 1 - Quá trình phân lớp dữ liệu - (a) B ớc xây dựng mô hình phân lớp .4 Hình 2 - Quá trình phân lớp dữ liệu - (b1) ớc l ợng độ chính xác của mô hình.5 Hình 3 - Quá trình phân lớp dữ liệu - (b2) Phân lớp dữ liệu mới .5 Hình 4 - ớc l ợng độ chính xác của mô hình phân lớp với ph ơng pháp holdout .8 Hình 5- Ví dụ về cây quyết định .9 Hình 6 - Mã giả của thuật toán phân lớp dữ liệu dựa trên cây quyết định .14 Hình 7 - Sơ đồ xây dựng cây quyết định theo ph ơng pháp đồng bộ.18 Hình 8 - Sơ đồ xây dựng cây quyết định theo ph ơng pháp phân hoạch .19 Hình 9 - Sơ đồ xây dựng cây quyết định theo ph ơng pháp lai.20 Hình 10 - Mã giả thuật toán C4.22 Hình 11 - Mã giả thuật toán SPRINT.28 Hình 12 - Cấu trúc dữ liệu trong SLIQ.29 Hình 13 - Cấu trúc danh sách thuộc tính trong SPRINT – Danh sách thuộc tính liên tục đ ợc sắp xếp theo thứ tự ngay đ ợc tạo ra .30 Hình 14 - ớc l ợng các điểm phân chia với thuộc tính liên tục .32 Hình 15 - ớc l ợng điểm phân chia với thuộc tính rời rạc .33 Hình 16 - Phân chia danh sách thuộc tính của một node .34 Hình 17 - Cấu trúc của bảng băm phân chia dữ liệu trong SPRINT (theo ví dụ các hình tr ớc) .35 Hình 18 - File định nghĩa cấu trúc dữ liệu sử dụng trong thực nghiệm .39 Hình 19 - File chứa dữ liệu cần phân lớp .40 Hình 20 - Dạng cây quyết định tạo ra từ tập dữ liệu thử nghiệm.41 Hình 21 - ớc l ợng trên cây quyết định vừa tạo ra trên tập dữ liệu training và tập dữ liệu test .42 Hình 22 - Một số luật rút ra từ bộ dữ liệu 19 thuộc tính, phân lớp loại thiết lập chế độ giao diện của ng ời sử dụng (WEB_SETTING_ID).43 Hình 23 - Một số luật rút ra từ bộ dữ liệu 8 thuộc tính, phân lớp theo số hiệu nhà sản xuất điện thoại (PRODUCTER_ID) .44 Hình 24 - Một số luật sinh ra từ tập dữ liệu 8 thuộc tính, phân lớp theo dịch vụ điệnthoại mà khách hàng sử dụng (MOBILE_SERVICE_ID).45 Hình 25 - ớc l ợng tập luật trên tập dữ liệu đào tạo .46 - v- Bảng 1 - Bảng dữ liệu tập training với thuộc tính phân lớp là buys_computer .24 Bảng 2 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo 2 thuộc tính.49 Bảng 3 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo 7 thuộc tính.50 Bảng 4 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo18 thuộc tính.51 Bảng 5 - Thời gian sinh cây quyết định phụ thuộc vào số l ợng thuộc tính .52 Bảng 6 - Thời gian xây dựng cây quyết định với thuộc tính rời rạc và thuộc tính liên tục .53 Bảng 7 - Thời gian sinh cây quyết định phụ thuộc vào số giá trị phân lớp.54 Biểu đồ 1- So sánh thời gian thực thi của mô hình phân lớp SPRINT và SLIQ theo kích th ớc tập dữ liệu đào tạo.36 Biểu đồ 2 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo 2 thuộc tính.49 Biểu đồ 3 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo 7 thuộc tính.50 Biểu đồ 4 - Thời gian xây dựng cây quyết định và tập luật sản xuất phụ thuộc vào kích th ớc tập dữ liệu đào tạo18 thuộc tính.51 Biểu đồ 5 - Sự phụ thuộc thời gian sinh cây quyết định vào số l ợng thuộc tính.52 Biểu đồ 6 - So sánh thời gian xây dựng cây quyết định từ tập thuộc tính liên tục và từ tập thuộc tính rời rạc .53 Biểu đồ 7 - Thời gian sinh cây quyết định phụ thuộc vào số giá trị phân lớp.54 - vi- DANH M C THU T NG STT Ti ng Anh Ti ng Vi t 1 training data dữ liệu đào tạo 2 test data dữ liệu kiểm tra 3 Pruning decision tree Cắt, tỉa cây quyết định 4 Over fitting data Quá vừa dữ liệu 5 Noise Dữ liệu lỗi 6 Missing value Giá trị thiếu 7 Data tuple Phần tử dữ liệu Case (đ ợc hiểu nh một data 8 Case tuple, chứa một bộ giá trị của các thuộc tính trong tập dữ liệu) - vii- Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định ĐẶT V N Đ Trong quá trình hoạt động, con ng ời tạo ra nhiều dữ liệu nghiệp vụ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ