Tải bản đầy đủ (.pdf) (12 trang)

phân loại dữ liệu với cây quyết định

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 (550.75 KB, 12 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

KHOA CÔNG NGHỆ THÔNG TIN

---

---BÁO CÁO BÀI TẬP LỚN Môn: Khai Phá Dữ Liệu

ĐỀ TÀI: PHÂN LOẠI DỮ LIỆU VỚI CÂY QUYẾT ĐỊNH

---STTHọ và tênMã sinh viên1Hoàng Cơng Tồn2012103672Hồng Trường Giang2012456243Vương Hồng Hải2012001094Khổng Văn Việt Anh2012000105Vũ Thế Điều201200082

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

MỤC LỤC

I. TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU

...3

1. Phân lớp dữ liệu:...3

2. Các thuật toán phân lớp:...3

3. Phân lớp dữ liệu với cây quyết định:...3

II. THUẬT TỐN C4.5

...5

1. Mơ tả thuật tốn:...5

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

I. TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU

1. Phân lớp dữ liệu:

- Phân lớp dữ liệu là kĩ thuật dựa trên tập huấn luyện, 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.

- Mục tiêu của phương pháp phân lớp là dự đốn chính xác nhãn lớp của dữ liệu mới, chưa được nhìn thấy.

- Đây là một nhiệm vụ quan trọng trong khai thác dữ liệu vì nĩ cho phép các tổ chức đưa ra quyết định dựa trên dữ liệu.

- Phân lớp dữ liệu là quá trình gồm 2 bước: Quá trình học: xây dựng mơ hình phân lớp

Quá trình phân lớp: sử dụng mơ hình phân lớp để dự đốn nhãn lớp cho dữ liệu nhất định.

2. Các thuật tốn phân lớp:

- Các thuật tốn thường được sử dụng để phân lớp dữ liệu: Phân lớp với cây quyết định

Phân lớp với Nạve Bayesian

Phân lớp với k phần tử gần nhất (K-nearest Neighbor) Phân lớp với mạng neural (Neural Network) Phân lớp với máy vector hỗ trợ (SVM)

3. Phân lớp dữ liệu với cây quyết định:

- Cây quyết định là một cây phân cấp cĩ cấu trúc được dùng để phân lớp các đối tượng dựa vào các dãy luật. Cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp của nĩ, cây quyết định sẽ sinh ra các luật để dự đốn lớp của các đối tượng chưa biết. - Phân lớp dữ liệu bằng cây quyết định là một hình thức phân tích dữ liệu nhằm đưa ra một mơ hình cây phân cấp cĩ cấu trúc để phân lớp các đối tượng quan trọng dựa trên một dãy luật được sinh ra.

- Cách thức phân loại của cây quyết định:

Cho một bộ dữ liệu mới, x X , chưa biết nhãn lớp liên quan.∈

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Các giá trị thuộc tính của bộ dữ liệu đó được kiểm tra dựa trên cây quyết định. Một con đường là được truy tìm từ nút gốc tới nút lá, nút này chứa dự đoán lớp cho bộ dữ liệu đó.

- Ưu điểm và nhược điểm của phương pháp phân lớp với cây quyết định: Ưu điểm:

o Mơ hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗi nhánh lá là một luật của cây.

o Dữ liệu đầu vào có thể là là dữ liệu missing, khơng cần chuẩn hóa o Có thể làm việc với cả dữ liệu danh nghĩa hoặc liên tục

o Có khả năng làm việc với dữ liệu lớn Nhược điểm:

o Tốn nhiều chi phí xây dựng. o Dễ xảy ra lỗi khi có quá nhiều lớp.

o Mơ hình cây quyết định phụ thuộc rất lớn vào dữ liệu của bạn. - Các thuật toán thường được dùng để triển khai cây quyết định:

CART: Classification and regression trees (L. Breiman et al., 1984) ID3: Iterative Dichotomiser 3 (R. Quinlan, 1986)

C4.5: Một cải thiện của ID3 (R. Quinlan, 1993)

- ID3, C4.5 và CART áp dụng cách tiếp cận tham lam trong đó cây quyết định được xây dựng theo cách phân chia và chinh phục đệ quy từ trên xuống.

- Thuật toán triển khai cây quyết định cơ bản: Đầu vào:

o Phân vùng dữ liệu D, đó là một tập hợp các bộ dữ liệu huấn luyện và nhãn lớp tương ứng của chúng.

o attribute list- danh sách các thuộc tính.

o Attribute selection method- một quy trình để xác định tiêu chí chia dữ liệu "tốt nhất" để phân chia các bộ dữ liệu thành các lớp. Tiêu chí này bao gồm một thuộc tính phân chia và, có thể là một điểm phân chia hoặc một tập hợp phân chia.

Đầu ra:

o Một cây quyết định.

- Pseudo code cho thuật toán cây quyết định: (1) create a node N;

(2) if tuples in D are all of the same class, C, then (3) return N as a leaf node labeled with the class C; (4) if attribute list is empty then

(5) return N as a leaf node labeled with the majority class in D; // majority voting (6) apply Attribute selection method(D, attribute list) to find the “best” splitting criterion;

4

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

(7) label node N with splitting criterion; (8) if splitting attribute is discrete-valued and

multiway splits allowed then // not restricted to binary trees

(9) attribute list ← attribute list − splitting attribute; // remove splitting attribute (10)for each outcome j of splitting criterion

// partition the tuples and grow subtrees for each partition

(11) let Dj be the set of data tuples in D satisfying outcome j; // a partition (12) if Dj is empty then

(13) attach a leaf labeled with the majority class in D to node N;

(14) else attach the node returned by Generate decision tree(Dj , attribute list) to node N; endfor

(15)return N;

- Về biện pháp lựa chọn thuộc tính để xây dựng cây quyết định:

Biện pháp lựa chọn thuộc tính là một phương pháp phỏng đốn để chọn tiêu chí phân tách “tốt nhất” để phân tách một phân vùng dữ liệu nhất định, D, của các bộ dữ liệu huấn luyện được gắn nhãn lớp thành các lớp riêng lẻ

Nếu chúng ta chia D thành các phân vùng nhỏ hơn theo kết quả của tiêu chí phân chia thì lý tưởng nhất là mỗi phân vùng sẽ thuần túy (nghĩa là tất cả các bộ dữ liệu rơi vào một phân vùng nhất định sẽ thuộc cùng một lớp).

Có ba thước đo lựa chọn thuộc tính phổ biến: information gain, gain ratio, và Gini index

II. THUẬT TỐN C4.5

1. Mơ tả thuật tốn:

- Lịch sử phát triển:

Là sự phát triển từ CLS và ID3.

ID3 (Quinlan, 1979)- 1 hệ thống đơn giản ban đầu chứa khoảng 600 dòng lệnh Pascal Năm 1993, J. Ross Quinlan phát triển thành C4.5 với 9000 dịng lệnh C.

- Thuật tốn C4.5 là cải tiến so với thuật tốn ID3, trong đó C biểu thị thuật tốn được viết bằng ngơn ngữ C và 4.5 biểu thị phiên bản của thuật toán.

- Tiêu chi phân chia được sử dụng bởi C4.5 là mức tăng thơng tin được chuẩn hố (Gain RATIO) thay vì Gain của ID3.Thuộc tính có mức tăng thơng tin chuẩn hoá cao nhất được chọn để đưa ra quyết định. Thuật tốn sau đó lặp lại trên các danh sách con được phân vùng.

- Các bước triển khai thuật toán C4.5:

Cho phân vùng dữ liệu D,, là tập huấn luyện gồm các bộ dữ liệu được gắn nhãn lớp. Giả sử thuộc tính nhãn lớp có k giá trị riêng biệt xác định k lớp riêng biệt, ci (với i =

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

1..k). Giả sử D,ci là tập các bộ dữ liệu thuộc lớp ci trong D. Đặt |D| và |D,ci | lần lượt biểu thị số bộ dữ liệu trong D và D,ci

Thông tin dự kiến cần thiết để phân loại một bộ dữ liệu trong D được tính:

Giá trị thơng tin thêm để đạt được phân loại chính xác được tính:

Thơng tin đạt được được định nghĩa là sự khác biệt giữa cầu thông tin ban đầu (tức là chỉ dựa trên tỷ lệ các lớp) và yêu cầu mới (tức là thu được sau khi phân vùng trên A). Đó là:

C4.5, phiên bản kế thừa của ID3, sử dụng phần mở rộng để tăng thông tin được gọi là tỷ lệ khuếch đại.

Nó áp dụng một kiểu chuẩn hóa để thu được thông tin bằng cách sử dụng giá trị “tách thông tin” được xác định tương tự với Info<small>A</small>(D):

Tỉ lệ GainRatio được tính như sau:

Thuộc tính có tỷ lệ khuếch đại lớn nhất được chọn làm thuộc tính phân tách cây. 2. Ví dụ:

- Có dữ liệu mơ tả về mối quan hệ giữa các yếu tố thời tiết với việc đưa ra quyết định có chơi tennis ở ngồi trời hay khơng trong 14 ngày.

6

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

- Chúng ta sẽ tạo cây quyết định từ bảng trên sử dụng thuật toán C4.5.

- Trước tiên chúng ta lựa chọn cột Decision là cột cần nghiên cứu. Chúng ta có 14 mẫu và 9 mẫu chọn Yes, 5 mẫu chọn No:

- Thuộc tính Wind

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

- Sau khi tính xong, ta có thể dùng thuộc tính có Gain hoặc GainRATIO lớn nhất để làm root của cây quyết định.

- Ở đây với thuật toán C4.5, ta chọn thuộc tính Temperature làm root vì có GainRATIO lớn nhất.

- Tính tương tự các bước trên cuối cung ta có cây quyết định:

III. ỨNG DỤNG

1. Sử dụng thuật tốn cây quyết định C4.5 để dự đoán thời tiết:

- Dự báo thời tiết là một công cụ quan trọng trong đời sống hàng ngày và đóng vai trị quyết định trong nhiều lĩnh vực. Thuật toán từ dữ liệu thời tiết cũ để tạo cây quyết định dự đoán về thời tiết trong tương lai

2. Nguồn dữ liệu:

- Mô tả nguồn dữ liệu: Gồm 6 thuộc tính và 1461 bản ghi.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Các thuộc tính: 1) date: ngày

2) precipitation: lượng mưa 3) temp_max: nhiệt độ cao nhất

- Weka là một phần mềm mã nguồn mởdo Ian H. Witten [10] phát triển để dùng cho học máy và khai thác dữ liệu. Weka được phát triển và viết bằng ngơn ngữ Java. Weka có thể được sử dụng trên các hệ điều hành khác nhau bao gồm Windows, MacOS và Linux.

- Weka cung cấp cho người dùng một giao diện đồ họa thân thiện để xây dựng các mơ hình học máy, khám phá dữ liệu, tiền xử lý dữ liệu và thực hiện các tác vụ khai thác dữ liệu khác.

- Trong Weka, thuật toán C4.5 được triển khai dưới tên gọi là J48, và có thể sử dụng nó để xây dựng mơ hình cây quyết định

- Các bước thực hiện:

1. Mở Weka và chọn Open file , sau đó chọn file dữ liệu:

10

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

2. Chọn mục Classify, Trong tab "Classify", chọn "trees" trong danh sách "Choose". Chọn "J48" từ danh sách các thuật toán.

3. Nhấn Start để chạy thuật toán và hiển thị kết quả.

4. Nhấp chuột phải vào model và chọn “Visualize tree” để xem cây quyết định được tạo ra

</div>

×