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

Tìm Hiểu Phân Lớp Dữ Liệu Sử Dụng Thuật Toán C4.5.Pdf

26 0 0
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 đề TÌM HIỂU PHÂN LỚP DỮ LIỆU SỬ DỤNG THUẬT TOÁN C4.5
Tác giả Phạm Quyển Đình, Cao Ka Ka, Thạch Lâm Oanh Đi, Trần Huỳnh Khang
Người hướng dẫn Hà Thị Thúy Vi
Trường học KHOA KỸ THUẬT VÀ CÔNG NGHỆ
Chuyên ngành KHAI KHOÁNG DỮ LIỆU
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố Trà Vinh
Định dạng
Số trang 26
Dung lượng 3,09 MB

Nội dung

GIỚI THIỆU VỀ GIẢI THUẬT C4.51.1 Sơ lược về thuật toán cây quyết định Thuật toán cây quyết định cho ra kết quả là một tập luật của những dữ liệu huấnluyện có thuộc tính.. Với những đặc đ

Trang 1

KHOA KỸ THUẬT VÀ CÔNG NGHỆ

BỘ MÔN CÔNG NGHỆ THÔNG TIN

HỌC PHẦN: KHAI KHOÁNG DỮ LIỆU

TÌM HIỂU PHÂN LỚP DỮ LIỆU SỬ DỤNG THUẬT

Trang 2

MỤC LỤC

I GIỚI THIỆU VỀ GIẢI THUẬT C4.5 3

1.1 Sơ lược về thuật toán cây quyết định 3

1.2 Thuật toán C4.5 4

1.3 Những cải tiến từ thuật toán ID3 5

II GIẢI THUẬT HỌC CỦA THUẬT TOÁN C4.5 5

2.1 Giải thuật học của thuật toán C4.5 5

2.2 Ví dụ về thuật toán C4.5 6

III ỨNG DỤNG THUẬT TOÁN C4.5 15

3.1 Ứng dụng của thuật toán C4.5 15

3.2 Giới thiệu phần mềm Weka 15

3.3 Demo giải thuật với phần mềm weka 17

IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 - Ứng dụng Weka (phiên bản 3.8.6) 17

Hình 2 - Giao diện chính của Weka 17

Hình 3 - Giao diện click vào Explorer của Weka 18

Hình 4 - Cửa sổ Weka Explorer 18

Hình 5 - Click "Open file" trong cửa sổ Weka Explorer 19

Hình 6 - Giao diện chọn bộ dữ liệu để chạy giải thuật 19

Hình 7 - Giao diện sau khi chọn bộ dữ liệu 20

Hình 8 - Giao diện cửa sổ Classify 20

Hình 9 - Giao diện chọn thuật toán 21

Hình 10 - Click vào nút start để chạy giải thuật 21

Hình 11 - Giao diện sau khi nhấn nút Start 22

Hình 12 - Giao diện chọn Visualize classifier erors 22

Hình 13 - Giao diện kết quả chạy thuật toán 23

Trang 4

I GIỚI THIỆU VỀ GIẢI THUẬT C4.5

1.1 Sơ lược về thuật toán cây quyết định

Thuật toán cây quyết định cho ra kết quả là một tập luật của những dữ liệu huấnluyện có thuộc tính Cây quyết định là một công cụ phổ biến trong khai phá và phânlớp dữ liệu

Đặc điểm của cây quyết định: là một cây có cấu trúc, trong

đó: Root (Gốc): Là nút trên cùng của cây

Node trong: nút trung gian trên một thuộc tính đơn (hình Oval)

Nhánh: Biểu diễn các kết quả của kiểm tra trên nút

Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vuông hoặc chữ nhật)

Ví dụ cây quyết định:

Trang 5

-Việc xếp hạng các thuộc tính để phân nhánh dựa vào lần phân nhánh trước đó và

bỏ qua sự phụ thuộc lẫn nhau giữa các thuộc tính

- Khi dùng độ lợi thông tin (Information Gain) để xác định thuộc tính rẽ nhánh,các thuộc tính có nhiều giá trị thường được ưu tiên chọn

1.2 Thuật toán C4.5

Thuật toán C4.5 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 RossQuinlan phát triển thành C4.5 với 9000 dòng lệnh C

Với những đặc điểm C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết địnhhiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ.C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểmnày làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệutại mỗi node trong quá trình phát triển cây quyết định

C4.5 còn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạngmột danh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu) Kỹthuật này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độchính xác so với nhánh tương ứng cây quyết định là tương đương

C4.5 có những đăc điểm khác với các thuật toán khác, đó là: cơ chế chọn thuộctính để kiểm tra tại mỗi node, cơ chế xử lý với những giá trị thiếu, việc tránh “quávừa” dữ liệu, ước lượng độ chính xác và cơ chế cắt tỉa cây

Trang 6

Tư tưởng phát triển cây quyết định của C4.5 là phương pháp Hunt Chiến lược phát triển theo độ sâu (depth-first strategy) được áp dụng cho C4.5

Thuật toán Hunt sử dụng trong C4.5

S={S1,S2,…,Sn} là tập dữ liệu đào tạo

1.3 Những cải tiến từ thuật toán ID3

Xử lý cả thuộc tính liên tục và thuộc tính rời rạc - Để xử lý các thuộc tính liêntục, C4.5 tạo một ngưỡng rồi chia danh sách thành các thuộc tính có giá trị thuộc tínhcao hơn ngưỡng và các thuộc tính nhỏ hơn hoặc bằng ngưỡng đó

Xử lý dữ liệu huấn luyện với các giá trị thuộc tính bị thiếu - C4.5 cho phép cácgiá trị thuộc tính được đánh dấu là ? vì mất tích Các giá trị thuộc tính bị thiếu đơngiản là không được sử dụng trong các phép tính độ lợi và entropy

Xử lý các thuộc tính với các chi phí khác nhau

Cắt tỉa cây sau khi tạo - C4.5 quay lại cây sau khi nó được tạo và cố gắng loại

bỏ các nhánh không hữu ích bằng cách thay thế chúng bằng các nút lá

II GIẢI THUẬT HỌC CỦA THUẬT TOÁN C4.5

2.1 Giải thuật học của thuật toán C4.5

Thuật toán C4.5 sử dụng độ đo là GainRatio

Lặp:

1 Chọn A <= thuộc tính quyết định “tốt nhất” cho nút kế tiếp

2 Gán A là thuộc tính quyết định cho nút

3 Với mỗi giá trị của A, tạo nhánh con mới của nút

4 Phân loại các mẫu huấn luyện cho các nút lá

5 Nếu các mẫu huấn luyện được phân loại hoàn toàn thì NGƯNG

Ngược lại, lặp lại với các nút lá mới

Trang 7

- Độ đo Gain Ratio: GainRatio(A)

Giải quyết vấn đề một thuộc tính được dùng tạo ra rất nhiều phân hoạch (thậm chí mỗi phân hoạch chỉ gồm 1 phân tử)

- Độ đo Information Gain có xu hướng thiên vị cho các thuộc tính có nhiều giá trị

Cần chuẩn hóa information gain với giá trị thông tin phân tách (split

information): SpitInfoA(D)- Splitting artribute A tương ứng b=với GainRatio(A) là trị lớn nhất

5 2 5 − 5 2 5 = 0.97

Trang 8

𝐼𝑛𝑓𝑜31 40 = (4, 0 = 0𝐼 )

Trang 9

𝑮𝒂𝒊𝒏 𝑫 𝑰𝑵𝑪𝑶𝑴𝑬) 𝟎 𝟎𝟐𝟗𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑰𝑵𝑪𝑶𝑴𝑬( ) =

𝐒𝐩𝐥𝐢𝐭𝐈𝐧𝐟𝐨𝑺𝑻𝑼𝑫𝑬𝑵𝑻(𝑫)

=

= 𝟎 𝟏𝟓𝟏𝟓𝟏

Trang 10

*Xét thuộc tính CREDIT_RATING

𝐼𝑛𝑓𝑜𝐹𝐴𝐼𝑅 = (6, 2 = − 𝐼 ) 𝑙𝑜𝑔 𝑙𝑜𝑔

8 2 8 − 8 2 8 = 0.811𝐼𝑛𝑓𝑜𝐸𝑋𝐶𝐸𝐿𝐿𝐸𝑁𝑇 = (3, 3 = 1𝐼 )

( ,𝑮𝒂𝒊𝒏 𝑫 𝑪𝑹𝑬𝑫𝑰𝑻 𝑹𝑨𝑻𝑰𝑵𝑮_ ) 𝟎 𝟎𝟒𝟖𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐(𝑪𝑹𝑬𝑫𝑰𝑻 𝑹𝑨𝑻𝑰𝑵𝑮) =_

 Chưa phân lớp hoàn toàn, nên tiếp tục tính GainRatio để chọn ra nút tiếp theo

 Đã phân lớp hoàn toàn, nên có thể đưa ra quyết định nếu AGE = 31 40 thì BUYS_COMPUTER=YES

Trang 11

10

> 40[3+, 2−]

Trang 12

 Độ lợi thông tin của INCOME: Gain (AGE<=30, INCOME) =0.97−0.4 = 0.57

5 𝑙𝑜𝑔2 5 5 𝑙𝑜𝑔2 5 5 𝑙𝑜𝑔2 5 (

𝑮𝒂𝒊𝒏 𝑨𝑮𝑬 ≤ 𝟑𝟎,𝑰𝑵𝑪𝑶𝑴𝑬) 𝟎 𝟓𝟕𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑰𝑵𝑪𝑶𝑴𝑬( ) =

𝑮𝒂𝒊𝒏 𝑨𝑮𝑬 ≤ 𝟑𝟎,𝑺𝑻𝑼𝑫𝑬𝑵𝑻) 𝟎 𝟗𝟕𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑺𝑻𝑼𝑫𝑬𝑵𝑻( ) =

𝐼𝑛𝑓𝑜𝐶𝑅𝐸𝐷𝐼𝑇 𝑅𝐴𝑇𝐼𝑁𝐺 = _ 1, 2 + 1, 1 = 0.95

5 𝐼( ) 5 𝐼( )

 Độ lợi thông tin của CREDIT_RATING:

 Gain (AGE<=30, CREDIT_RATING) =0.97−0.95 = 0.02

SplitInfoSREDIT_RATING(AGE ≤ 30 = − ) − = 0.97

5 𝑙𝑜𝑔2 5 5 𝑙𝑜𝑔2 5 𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑺𝑹𝑬𝑫𝑰𝑻(

) = 𝑮𝒂𝒊𝒏(𝑨𝑮𝑬 ≤ 𝟑𝟎, 𝑺𝑹𝑬𝑫𝑰𝑻𝑹𝑨𝑻𝑰𝑵𝑮)𝑹𝑨𝑻𝑰𝑵𝑮 𝐒𝐩𝐥𝐢𝐭𝐈𝐧𝐟𝐨𝑺𝑹𝑬𝑫𝑰𝑻𝑹𝑨𝑻𝑰𝑵𝑮(𝑨𝑮𝑬 ≤ )𝟑𝟎

= 𝟎 𝟎𝟐 . = 𝟎 𝟎𝟐𝟏

Trang 13

Ta thấy cả hai bảng đều đã hoàn toàn phân lớp nên ta có nhánh bên trái như sau:

≤30

[4+, 0−]

> 40[3+, 2−]

Trang 14

 Ta tiếp tục xét nhánh AGE > 40

𝑮𝒂𝒊𝒏 𝑨𝑮𝑬 > 𝟒𝟎,𝑰𝑵𝑪𝑶𝑴𝑬) 𝟎 𝟎𝟐𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑰𝑵𝑪𝑶𝑴𝑬( ) =

Trang 15

(𝑮𝒂𝒊𝒏 𝑨𝑮𝑬 > 𝟒𝟎,𝑺𝑻𝑼𝑫𝑬𝑵𝑻) 𝟎 𝟎𝟐𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐 𝑺𝑻𝑼𝑫𝑬𝑵𝑻( ) =

 Độ lợi thông tin của CREDIT_RATING:

 Gain (AGE>40, CREDIT_RATING) =0.971 − 0 = 0.971

SplitInfoSREDIT_RATING(AGE > 40 = − ) − = 0.97

5 𝑙𝑜𝑔2 5 5 𝑙𝑜𝑔2 5 𝑮𝒂𝒊𝒏𝑹𝒂𝒕𝒊𝒐(𝑪𝑹𝑬𝑫𝑰𝑻 𝑹𝑨𝑻𝑰𝑵𝑮) = _ 𝑮𝒂𝒊𝒏(𝑨𝑮𝑬 > 𝟒𝟎, 𝑺𝑹𝑬𝑫𝑰𝑻𝑹𝑨𝑻𝑰𝑵𝑮)

𝐒𝐩𝐥𝐢𝐭𝐈𝐧𝐟𝐨𝑺𝑹𝑬𝑫𝑰𝑻𝑹𝑨𝑻𝑰𝑵𝑮 (𝑨𝑮𝑬 > 𝟒𝟎)

= 𝟎 𝟗𝟕𝟏 𝟎 𝟗𝟕.. = 𝟏

Ta có: SplitInfo(AGE>40) = GainRatio (CREDIT_RATING) =1 => Ta chọn nút tiếp theo là CREDIT_RATING, phân hoạch 2 bảng theo CREDIT_RATING

Trang 16

> 40[3+, 2−]

YesYes

CREDIT_RATING

Trang 17

III ỨNG DỤNG THUẬT TOÁN C4.5

3.1 Ứng dụng của thuật toán C4.5

Một số ứng dụng của thuật toán C4.5 bao gồm:

1.Phân loại email: C4.5 có thể được sử dụng để phân loại email dựa trên nội dung của chúng, như là thư rác hoặc thư quan trọng

2.Dự đoán tín dụng: C4.5 có thể được sử dụng để dự đoán khả năng thanh toán của khách hàng dựa trên các thông tin tài chính của họ

3.Xác định loại cây trồng: C4.5 có thể được sử dụng để phân loại các loại cây trồng dựa trên đặc tính của chúng

4.Dự đoán việc làm: C4.5 có thể được sử dụng để dự đoán khả năng thành công của một ứng viên trong việc làm dựa trên các thông tin về hồ sơ và trình độ của họ

5.Phát hiện gian lận tài chính: C4.5 có thể được sử dụng để phát hiện các hành

vi gian lận trong tài chính dựa trên các chỉ số tài chính

6.Phân loại khách hàng: C4.5 có thể được sử dụng để phân loại khách hàng dựa trên các đặc tính khác nhau, như tuổi, giới tính và thu nhập

Đó chỉ là một số ví dụ về ứng dụng của thuật toán C4.5 Thuật toán này có thể được áp dụng trong nhiều lĩnh vực khác nhau để xây dựng các mô hình phân loại dựa trên các tập dữ liệu khác nhau

3.2 Giới thiệu phần mềm Weka

Khái niệm Weka

Weka là một phần mềm mã nguồn mở được sử dụng để phân tích dữ liệu và xâydựng các mô hình học máy Tên của phần mềm được lấy từ cụm từ "WaikatoEnvironment for Knowledge Analysis", đề cập đến trường đại học Waikato ở NewZealand nơi phần mềm được phát triển, được phát hành lần đầu tiên vào năm 1997.Weka được xây dựng bằng ngôn ngữ lập trình Java, theo kiến trúc hướng đốitượng Phần mềm được dùng để giải quyết nhiều bài toán khác nhau trong lĩnh vực họcmáy và khai thác dữ liệu, chẳng hạn như phân loại, dự đoán, phân cụm, hồi quy vàphát hiện bất thường Nó cũng có thể được sử dụng để khai thác dữ liệu không cấutrúc, chẳng hạn như văn bản và hình ảnh

Weka được sử dụng rộng rãi trong cộng đồng học máy và là một trong nhữngcông cụ phân tích dữ liệu phổ biến nhất hiện nay

Trang 18

Khi sử dụng phần mềm Weka, bạn óᴄ thể gọi trự tiếp áᴄ ᴄ ᴄ thuật toán họ máуᴄhoặᴄ là nhập húngᴄ bằng các mã Ja a.ᴠ Nó sẽ ungᴄ ấpᴄ cho bạn một loạt áᴄ ᴄ ôngᴄ ụᴄ nhưlà: trự quan hóa, tiền хử lý, phân loại, phân ụm…ᴄ ᴄ

Những tính năng có trong Weka là:

- Mã nguồn mở giúp người dùng dễ dàng tải về và sử dụng

- Hỗ trợ được nhiều các thuật toán máy học (machine learning) và khai phá các nguồn dữ liệu

- Trực quan hóa, dễ dàng xây dựng nên các ứng dụng thực nghiệm

- Do sử dụng JVM nên phần mềm Weka hoàn toàn độc lập với môi trường.Kiến trúc ở trong thư viện phần mềm Weka có hơn 600 class và được tổ chức nên 10package Chính vì thế mà người sử dụng có thể dùng được trực tiếp trên phần mềmhoặc là sử dụng những class này để làm bộ thư viện phát triển nên các ứng dụng củariêng mình

Các chức năng chính của Weka

- Hỗ trợ kết nối thông tin

- Khảo sát cơ sở dữ liệu

- Thực nghiệm mô hình

- Biểu đồ trực quan

Ưu điểm của phần mềm Weka

- Tổng hợp toàn diện các kỹ thuật tiền xử lý và mô hình hóa dữ liệu

-Được viết bởi ngôn ngữ lập trình Java nên Weka có thể chạy trên đa số nền tảng như Linux, Windows hay Macintosh

-Có thể được mở rộng bằng cách thêm các plugin, cho phép người dùng mở rộng chức năng của phần mềm

-Cung cấp các công cụ để chuyển đổi dữ liệu sang định dạng được hỗ trợ, giúp người dùng dễ dàng thực hiện các tác vụ phân tích dữ liệu

-Cung cấp quyền truy cập vào cơ sở dữ liệu SQL bằng cách sử dụng Java Database Connectivity và có thể xử lý kết quả được trả về bởi truy vấn cơ sở dữ liệu.-Giao diện đồ họa giúp người dùng dễ sử dụng

Trang 19

Nhược điểm của phần mềm Weka

- Tính ổn định còn yếu hay bị treo máy hoặc bị lỗi trong quá trình sử dụng

- Khó khăn khi sử dụng dữ liệu lớn

- Khó sử dụng cho người mới bắt đầu vì nó có nhiều thuật toán phân tích dữ liệu khác nhau

- Hạn chế loại dữ liệu, không hỗ trợ tất cả các định dạng dữ liệu nên đôi khi phải chuyển đổi định dạng

3.3 Demo giải thuật với phần mềm weka

Để chạy demo giải thuật KNN ta sử dụng phần mềm Weka phiên bản hiên tại là3.8.6

H4nh 1 - Ứng dụng Weka (phiên bản 3.8.6)

Bên dưới là giao diện chính của phần mềm Weka

H4nh 2 - Giao diện chính của Weka

Trang 20

Click vào “Explorer” sẽ hiện ra cửa sổ “weka explorer”

H4nh 3 - Giao diện click vào Explorer của Weka

H4nh 4 - Cửa sổ Weka Explorer

Trang 21

Sau đó, click vào “Open file” để mở tập tin dữ liệu cần chạy giải thuật

H4nh 5 - Click "Open file" trong cửa sổ Weka Explorer

H4nh 6 - Giao diện chọn bộ dữ liệu để chạy giải thuật

Trang 22

Sau khi chọn bộ dữ liệu xong sẽ xuất hiện giao diện như hình bên dưới.

H4nh 7 - Giao diện sau khi chọn bộ dữ liệu

Sau đó, ta click qua “Classify” rồi click vào nút Choose

H4nh 8 - Giao diện cửa sổ Classify

Trang 23

Click vào nút choose classifiers trees → j48

H4nh 9 - Giao diện chọn thuật toán

Sau đó click vào nút Start để chạy giải thuật

H4nh 10 - Click vào nút start để chạy giải thuật

Trang 24

Sau khi click nút Start xong sẽ xuất hiện giao diện như bên dưới.

H4nh 11 - Giao diện sau khi nhấn nút Start

Result list hiện ra sau đó nháy chuột phải vào result list vừa hiện ra và chọn

visualize trees

Trang 25

24Kết quả thu được như hình bên dưới.

H4nh 13 - Giao diện kết quả chạy thuật toán

Trang 26

IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

C4.5 là một phương pháp học máy được sử dụng rộng rãi để tạo ra cây quyếtđịnh dựa trên các đặc trưng của dữ liệu Thuật toán C4.5 có thể áp dụng cho nhiều bàitoán khác nhau, đặc biệt là trong lĩnh vực phân loại và dự đoán

Các bước của thuật toán C4.5 bao gồm chọn thuộc tính quan trọng nhất, tách dữliệu thành các tập con dựa trên thuộc tính đó, xây dựng cây quyết định và cắt tỉa câyquyết định để tránh quá khớp dữ liệu

Thuật toán C4.5 có nhiều ưu điểm, bao gồm khả năng xử lý dữ liệu phức tạp, độchính xác cao và khả năng giải thích kết quả phân loại Tuy nhiên, nó cũng có nhượcđiểm như không xử lý tốt các giá trị bị thiếu hoặc nhiễu trong dữ liệu, dễ bị quá khớp

dữ liệu và thời gian huấn luyện có thể lâu đối với các tập dữ liệu lớn và phức tạp

Do đó, khi sử dụng thuật toán C4.5 hoặc bất kỳ thuật toán học máy nào khác,cần xem xét cẩn thận những ưu điểm và nhược điểm của nó, và áp dụng phù hợp vớibối cảnh sử dụng và loại dữ liệu

Ngày đăng: 22/10/2024, 19:05

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

TÀI LIỆU LIÊN QUAN