1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn khai phá dữ liệu đề tài phân loại dữ liệu với cây quyết định decision tree c4 5

12 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Loai Du Lieu Voi Cay Quyet Dinh (Decision Tree - C4.5)
Tác giả Hoang Cong Toan, Hoang Truong Giang, Vuong Hoang Hai, Khong Van Viet Anh, Vu The Dieu
Người hướng dẫn PTS. Nguyen Quoc Tuan
Trường học Truong Dai Hoc Giao Thong Van Tai
Chuyên ngành Khai Pha Du Lieu
Thể loại Bao Cao Bai Tap Lon
Định dạng
Số trang 12
Dung lượng 1,74 MB

Nội dung

Phân lớp dữ liệu: - Phân lớp dữ liệu là kĩ thuật đự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.. - Phân

Trang 1

TRUONG DAI HOC GIAO THONG VAN TAI KHOA CONG NGHE THONG TIN

BAO CAO BAI TAP LON

Môn: Khai Phá Dữ Liệu

DE TAI: PHAN LOAI DU LIEU VỚI CÂY QUYẾT ĐỊNH

(DECISION TREE - C4.5)

Giảng viên hướng dẫn : Nguyễn Quốc Tuấn

NHÓM 12 Danh sách thành viên:

] Hoàng Công Toàn 201210367

2 Hoàng Trường Giang 201245624

3 Vuong Hoang Hai 201200109 4 Khong Van Viét Anh | 201200010 5 Vũ Thế Điều 201200082

Trang 2

MUC LUC

IL TONG QUAN VE PHAN LOP DU’ LIEU cccsssssccccccsccscccccsssccscecscsseeed

Trang 3

I TONG QUAN VE PHAN LOP DU LIEU

1 Phân lớp dữ liệu: - Phân lớp dữ liệu là kĩ thuật đự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ự đoá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 đữ 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 đữ 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ự đoán nhãn lớp cho đữ liệu nhất định

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

Phân lớp véi Naive Bayesian Phân lớp với k phan tr gan nhat (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 đữ 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ự đoá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 đữ 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 e X, chưa biết nhãn lớp liên quan

Trang 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ộ đữ 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 đễ 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

Dữ liệu đầu vào có thê là là đữ liệu missing, không cần chuẩn hóa

Có thê làm việc với cả dữ liệu danh nghĩa hoặc liên tục

Tốn nhiều chi phí xây dựng

Dễ xảy ra lỗi khi có quá nhiều lớp

® 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à chính phục đệ quy từ trên xuống

- Thuật toán triển khai cây quyết định cơ bản: e Dau vao:

©_ 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

attribute list- danh sách các thuộc tinh Attribute selection method- mét quy trinh để xác định tiêu chí chia đữ liệu "tốt nhất" đề phân chia các bộ đữ 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

e Đầura: 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

Trang 5

(7) (8) (9)

label node N with splitting criterion; if splitting attribute is discrete-valued and

multiway splits allowed then // not restricted to binary trees attribute list — attribute list — splitting attribute; // remove splitting attribute (10)for each outcome j of splitting criterion

(11 (12 (13 (14

// partition the tuples and grow subtrees for each partition let Dj be the set of data tuples in D satisfying outcome J; // a partition if Dj is empty then

attach a leaf labeled with the majority class in D to node N; else attach the node returned by Generate decision tree(Dj , attribute list) to node N; endfor

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, va Gini index

IL THUAT TOÁN C4.5

1 M6 ta thuat toan: - Lich str phat trién:

La sy phat trién tir CLS và ID3 ID3 (Quinlan, 1979)- | hé thong don gian ban dau chita khoang 600 dòng lệnh Pascal

Năm 1993, J Ross Quinlan phát triển thành C4.5 với 9000 đòng lệnh C - Thuật toán C4.5 là cải tiễn so với thuật toán ID3, trong đó C biểu thị thuật toá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 hoá (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 toá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ộ đữ 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, c1 (với 1 =

Trang 6

1 k) Giả sử D,c¡ là tập các bộ dữ liệu thuộc lớp c¡ trong D Đặt |D| và |D,ci | 1an lwet biểu thị số bộ dữ liệu trong D va 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:

Info(D) = — » pilog, (pi)

Gain(A) = Info(D) — Info,(D)

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à

Trang 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 mau và 9 mầu chọn Yes, 5 mẫu chọn No:

Info(D) = © - p([) log,p(T) =~ pQes) log, pQes) — p(No) log.p(No)

Trang 8

GainRatio(Outlook ) = 0.155

- Thuộc tinh Humidity:

Gain (Humidity) =0.101 GainRatio( Humidity) =0.107

- ThuGc tinh Temperature:

Gain Temperature) =0.113 GainRatio (Temperature) = 0.305

Trang 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ó

8 Sunny No Yes 'Weak No 11 Sunny No No Strong Yes 1 Sunay Yes Yes Weak No

s Em }e he = Nes

4 Rain No Yes Weak Yes

10 Rain No No Weak Yes

14 Rain No No Strong No

3 Overcast No No Weak Yes

7 Overcast No No Strong Yes 12 Overcast No Yes Strong Yes

13 Overcast No No Weak Yes

HI UNG DUNG

1 Sử dụng thuật toá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: https://Awww.kaggle.com/datasets/ananthr1/weather-prediction

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

Trang 10

Các thuộc tinh: 1) date: ngày 2) precipitation: lwong mua 3) temp_ max: nhiệt độ cao nhất 4) temp_ min: nhiệt độ thấp nhất 5) wind: suc g1ó

6) weather: thoi tiét 3 Cách thức thực hiện: - Sử dụng Weka đề phân lớp - Weka là một phần mềm mã nguồn médo Ian H Witten [10] phat triển dé 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 va Linux

- Weka cung cấp cho người đù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 đữ 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é str dung nó để xây dựng mô hình cây quyết định

- Các bước thực hiện: Mở Weka và chọn Open file , sau đó chọn file dữ liệu:

Preprocess Classify Cluster Associate Selectattributes Visuallze

Open URL Open D8 Generate Edit Save © Open x Apply

Instan 1461 0 (0%)

Attributes ‘1D Activate AIO Tools v3.1.3 - [NATUTOOL-COM Invoke options dialog Weight

AI # bulxla ®s cás 1 No Gv b

date #$ KoI precipita Tl Mini Project 23-24 4

4 ‘MB Oracle 4` temp_mi 4 ‘a st O sb-admin-2-gh-pages

wind a 6 weather

.2023-1693019382727.csv

Visualize All

File Name: seattle-weather.csv

Files of Type: CSV data files (*.csv)

101 — > aaa! Status

OK og Z.® x0

10

Trang 11

2 Chon muc Classify, Trong tab "Classify", chon "trees" Chọn "J48" từ danh sách các thuật toán

bayes juild model: 0.08 seconds functions

lazy cross-valida’ meta

mise rules ified Instances 1240 84.8734 %

trees ssified Instances 221 15.1266 %

DecisionStump 0.7338

led error 0.2259

LMT te error 39.6943 $ ( Class for generating a pruned or unpruned C4

Re 5 decision tree, For more information, see

RE Ross Quinlan (1993) C4.5: Programs for Machine Learning Morgan Kaufmann Publishers, San Mateo, CA CAPABILITIES

Class Binary class, Missing class values, Nominal class Attributes Binary attributes, Date attributes, Empty nominal attributes, Missing values, Nominal attributes, Numeric attributes, Unary attributes Interfaces Drawable, PartitionGenerator, Sourcable, WeightedinstancesHandler

Additional Minimum number of instances: 0

Coe |P OF a= 3 01 b=

1 0 633 0 61 c= 0 14 9 12 0 1 d = snow

(Nom) weather

Start Result list (right-click for options)

01:22:24 - trees.J48

Status

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

Associate Select attributes Visualize Classifier output

ime taken to build model: 0.08 seconds

221 Incorrectly Classified Instances

Kappa statis’

Mean absolute error

Root mean squared error 0.2259 Relative absolute error 39.6943 % Root relative s 64.1265 % Total Number of Instances 1461

aoe < as 0 0Ị

0 | c= 12 ¡I đ~

I

94.0734 $ F-Measure MCC ROC

-0,007 0,691 0,916

03 0,020

sun % snow 0,131 fog 0,712

Log ase

4 Nhap chudt phai vao model va chon “Visualize tree” đề xem cây quyết định được tạo

ra

11

Trang 12

4 Kết quả: - Ta có cây quyết định sau được sinh ra đề dự đoán về thời tiết:

a ee temp_max snow (12.0) <= 3.3 >33

snow (3.0) rain (17.0/4.0)

12

Ngày đăng: 17/09/2024, 15:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w