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

Bộ Môn Hệ Hỗ Trợ Quyết Định Báo Cáo Bài Tập Lớn Đề Tài Car Evaluationư.pdf

22 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 đề Car Evaluation
Tác giả Phạm Chí Công
Người hướng dẫn T.S Lê Hải Hà
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Hệ hỗ trợ quyết định
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 3 MB

Nội dung

Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đạidiện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫntới phân loại đó.. Một cây quyết định có

Trang 1

111Equation Chapter 1 Section 1 TRƯỜNG ĐẠI HỌC BÁCH

KHOA HÀ NỘI

VIỆN TOÁN & ỨNG DỤNG TIN HỌC

- -   

BỘ MÔN: Hệ hỗ trợ quyết định

BÁO CÁO BÀI TẬP LỚN

Đề tài: CAR EVALUATION

Giảng viên: T.S Lê Hải Hà

Sinh viên thực hiện:

Phạm Chí Công MSSV: 20206273

Hà Nội, năm 2023

Trang 2

Lời nói đầu

Trong thời đại hiện nay, xe ô tô đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta Việc lựa chọn một chiếc xe phù hợp với nhu cầu và ưu tiên cá nhân là một quá trình quan trọng và phức tạp

Để giải quyết vấn đề này, các hệ thống hỗ trợ quyết định đã được phát triển

để hỗ trợ người dùng đưa ra quyết định thông minh và đúng đắn

Trong báo cáo này,em sẽ tập trung vào việc áp dụng các kỹ thuật hỗ trợ quyết định và phân tích dữ liệu để đánh giá các mô hình xe ô tô từ một tập

dữ liệu thực tế

Đồng thời, em cũng sẽ tìm hiểu về các phương pháp phân loại và dự đoán,

áp dụng chúng vào bài toán đánh giá xe ô tô và so sánh kết quả của các mô hình

Mặc dù còn rất nhiều hạn chế và thiếu sót, em hy vọng rằng báo cáo này sẽ cung cấp một cái nhìn tổng quan và thực tiễn hơn về việc áp dụng hệ thống

hỗ trợ quyết định trong lĩnh vực xe ô tô Báo cáo cũng sẽ là cơ hội để rèn luyện kỹ năng và ứng dụng kiến thức đã học trong môn học này

Em mong nhận được sự đánh giá và góp ý của thầy để được hoàn thiện và phát triển báo cáo

Em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

CHƯƠNG 1 MÔ HÌNH CÂY QUYẾT ĐỊNH ID3 1

1.1 Khái niệm, định nghĩa cây quyết định 1

1.2 Ưu nhược điểm của cây quyết định ID3 2

1.2.1 Ưu điểm 2

1.2.2 Nhược điểm 2

1.3 Xây dựng cây quyết định ID3 2

1.3.1 Thuộc tính phân chia 2

1.3.2 Information Gain 4

1.3.3 Gini Impurity 5

1.3.4 Hàm số Entropy 6

1.4 Thuật toán cây quyết định ID3 7

CHƯƠNG 2 XÂY DỰNG MÔ HÌNH THUẬT TOÁN TRONG BÀI TOÁN CAR EVALUATION 9

2.1 Tổng quan bộ dữ liệu Car Evaluation 9

2.2 Xử lý dữ liệu ban đầu 9

2.2.1 Khai báo các thư viện sử dụng 9

2.2.2 Thực hiện đọc dữ liệu, và kiểm tra thông tin và xử lý dữ liệu 9

2.3 Thực hiện xây dựng mô hình Decision Tree 15

2.4 Đánh giá kết quả 17

CHƯƠNG 3 KẾT LUẬN 18

TÀI LIỆU THAM KHẢO 19

Trang 4

CHƯƠNG 1 MÔ HÌNH CÂY QUYẾT ĐỊNH ID3

1.1 Khái niệm, định nghĩa cây quyết định

Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định(Decision Tree) là một đồ thị của các quyết định và các hậu quả có thể của nó(bao gồm rủi ro và hao phí tài nguyên) Cây quyết định được sử dụng để xâydựng một kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyết địnhđược dùng để hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệtcủa cấu trúc cây

Trong lĩnh vực máy học (Learning Machine), cây quyết định là một kiểu

mô hình dự báo (Predictive Model), nghĩa là một ánh xạ từ các quan sát về một

sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗimột nút trong (Internal Node) tương ứng với một biến; đường nối giữa nó với nútcon của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị

dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởiđường đi từ nút gốc tới nút lá đó Kỹ thuật máy học dùng trong cây quyết địnhđược gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là câyquyết định

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khaiphá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đạidiện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫntới phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợpnguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính Quá trình nàyđược lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoànthành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phânloại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộ phân loạirừng ngẫu nhiên (Random Forest) sử dụng một số cây quyết định để có thể cảithiện tỉ lệ phân loại

Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tínhtoán các xác suất có điều kiện

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toánhọc và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữliệu cho trước

Dữ liệu được cho dưới dạng các bản ghi có dạng:

(x, y) = (

Biến phụ thuộc (Dependant Variable) y là biến mà chúng ta cần tìm hiểu,phân loại hay tổng quát hóa là các biến sẽ giúp ta thực hiện công việc đó

1

Trang 5

Hình 1:Cây quyết định ID3

1.2 Ưu nhược điểm của cây quyết định ID3

1.2.1 Ưu điểm

- Dễ hiểu và trực quan: Cây quyết định ID3 tạo ra một cây quyết định dễ hiểu và có thể trực quan hóa, giúp người dùng dễ dàng hiểu quyết định được đưa ra bởi mô hình

- Xử lý dữ liệu dạng rời rạc: ID3 thích hợp với dữ liệu dạng rời rạc, tức là

dữ liệu có thể được chia thành các nhóm rõ ràng

- Thích nghi với dữ liệu không hoàn thiện: ID3 có khả năng xử lý dữ liệu không hoàn thiện, tức là dữ liệu có giá trị thiếu hoặc không đầy đủ

1.2.2 Nhược điểm

- Quá mức chia nhỏ cây: ID3 có xu hướng chia nhỏ cây quá nhiều, dẫn đến hiện tượng overfitting, khiến mô hình dự đoán không hiệu quả trên dữ liệumới

- Không xử lý dữ liệu liên tục: Thuật toán ID3 không hỗ trợ xử lý dữ liệu liên tục, yêu cầu tiền xử lý dữ liệu trước khi sử dụng

- Áp dụng cho bài toán phân loại: ID3 chỉ áp dụng cho bài toán phân loại, không thích hợp cho bài toán dự đoán giá trị số

1.3 Xây dựng cây quyết định ID3

1.3.1 Thuộc tính phân chia

Thuộc tính phân chia (Splitting Attribute) là một khái niệm quan trọng trong cây quyết định và các thuật toán liên quan đến hệ thống hỗ trợ quyết định Khi xây dựng một cây quyết định, quá trình phân chia dữ liệu dựa vào các thuộc tính của dữ liệu là cực kỳ quan trọng Mục tiêu là tìm thuộc tính phân chia tốt

2

Trang 6

nhất để xây dựng cây quyết định có khả năng phân loại dữ liệu hiệu quả và tổng quát hóa tốt trên dữ liệu mới.

Cách chọn thuộc tính phân chia:

- Information Gain (Lợi ích thông tin): Phương pháp thông dụng để chọn

thuộc tính phân chia là thông qua việc tính toán information gain (IG) Information gain đo lường sự giảm thiểu entropy trong tập dữ liệu sau khi thực hiện phân chia dựa trên thuộc tính Thuộc tính có information gain cao nhất sẽ được chọn làm thuộc tính phân chia tại nút đó

- Gini Impurity (Độ tinh khiết Gini): Một phương pháp thay thế cho

information gain là tính toán độ tinh khiết Gini của thuộc tính Độ tinh khiết Gini đo lường xác suất sai phân loại của một điểm dữ liệu nếu ngẫu nhiên chọn một lớp từ phân phối xác suất của lớp trong thuộc tính đó Thuộc tính có độ tinh khiết Gini thấp nhất sẽ được chọn làm thuộc tính phân chia tại nút đó

Cách thực hiện phân chia:

Khi đã chọn được thuộc tính phân chia tốt nhất, quá trình phân chia sẽ được thực hiện bằng cách tách dữ liệu thành các nhánh con dựa vào các giá trị của thuộc tính đó Các giá trị của thuộc tính sẽ đại diện cho các nhóm con riêng biệt của dữ liệu Sau đó, cây quyết định được xây dựng đệ quy trên các nhánh con này cho đến khi đạt đến các lá cây (leaf node) - các nút không có nhánh con

Mục tiêu của thuộc tính phân chia:

Mục tiêu của thuộc tính phân chia là tìm cách phân chia tập dữ liệu sao cho cây quyết định có thể đưa ra quyết định phân loại chính xác nhất dựa trên thông tin

có sẵn từ thuộc tính Điều này giúp mô hình cây quyết định tổng quát hóa tốt trên

dữ liệu mới và đưa ra dự đoán hiệu quả trong các bài toán phân loại

3

Trang 7

Hình 2: Thuộc tính phân chia

1.3.2 Information Gain

Gain là đại lượng dùng để đo tính hiệu quả của một thuộc

tính được lựa chọn cho việc phân lớp Đại lượng này được tính thông qua hai giátrị Information và Entropy

Cho tập dữ liệu S gồm có n thuộc tính Ai ký hiệu là Information(Ai) được xác định bởi công thức:

Information(A) = - = Entropy(S) Giá trị Gain của thuộc tính A trong tập S kí hiệu là Gain (S, A) và được tính theocông thức sau

Gain(S,A) = Information(A) = - Entropy(A) = Entropy(S) - Entropy()Trong đó:

- S là tập hợp ban đầu với thuộc tính A Các giá trị của v tương ứng là các giá trị

- của thuộc tính A

- bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v

- là số phần tử của tập , |S| là số phần tử của tập S

4

Trang 8

Hình 3: Information Gain

1.3.3 Gini Impurity

Gini Impurity (Độ tinh khiết Gini) là một khái niệm trong cây quyết định vàcác thuật toán hệ thống hỗ trợ quyết định Nó được sử dụng để đo lường độ tinh khiết của một tập dữ liệu và là một trong các phương pháp để chọn thuộc tính phân chia tốt nhất trong quá trình xây dựng cây quyết định

Trong quá trình xây dựng cây quyết định, mục tiêu là chọn thuộc tính phân chia tối ưu tại mỗi nút của cây Độ tinh khiết Gini được sử dụng để đo lường mức

độ "tinh khiết" của tập dữ liệu sau khi phân chia dựa trên một thuộc tính cụ thể

Công thức tính Gini Impurity:

Để tính Gini Impurity của một tập dữ liệu, ta tính tổng các xác suất của mỗilớp trong tập dữ liệu, nhân với (1 - xác suất lớp đó) và lấy tổng của các kết quả Công thức tính Gini Impurity của tập dữ liệu D như sau:

Mục tiêu của Gini Impurity:

Mục tiêu của Gini Impurity là tìm thuộc tính phân chia tốt nhất tại mỗi nút cây quyết định, tức là thuộc tính dẫn đến việc giảm Gini Impurity của tập dữ liệu

5

Trang 9

nhiều nhất sau khi thực hiện phân chia Khi xây dựng cây quyết định, ta tính GiniImpurity cho tất cả các thuộc tính có thể phân chia trong tập dữ liệu và chọn thuộc tính có Gini Impurity thấp nhất làm thuộc tính phân chia tại nút cây đó.

1.3.4 Hàm số Entropy

Entropy là một khái niệm khoa học được sử dụng lần đầu tiên trong nhiệt động lực học và sau đó được phổ biến trong các lĩnh vực khác như vật lý, hoá học, y sinh, lý thuyết thông tin, Trong nhiệt động lực học thì Entropy là một đặc tính

vật lý có thể đo lường được có sự liên kết với trạng thái hỗn loạn (disorder) hoặckhông chắc chắn (uncertainty)

Trong thuật toán cây quyết định chúng ta sẽ sử dụng Entropy để đánh giá mức độ tinh khiết của phân phối xác suất của một sự kiện

Ví dụ: Cho một phân phối xác suất của một biến rời rạc x có thể nhận n giátrị khác nhau

Giả sử rằng xác suất để x nhận các giá trị nàylà với 0 ≤ ≤ 1, Ký hiệu phân = phối này là =(.) Entropy phân phối này được định nghĩa là p

Trong đó log là logarit tự nhiên và quy ước 0log0 = 0

Xét một ví dụ với n = 2 được cho bởi hình dưới Trong trường hợp P là tinh khiếtnhất, tức một trong hau giá trị pi bằng 1, giá trị kia bằng 0, entropy của phân phốinày là = 0 Khi p vẩn đục nhất tức cả hai giá trị = 0.5, hàm entropy đạt giátrị cao nhất

Hình 4: Đồ thị của hàm entropy với n = 2.

Tổng quát lên với n > 2, hàm entropy đạt giá trị nhỏ nhất nếu có một giá trị đạt giá trị lớn nhất nếu tất cả các bằng nhau Kết luận giá trị entropy cực tiểu đạt được khi phân phối là tinh khiết nhất, tức phân phối hoàn toàn thuộc về một

6

Trang 10

nhóm Trái lại, entropy cực đại đạt được khi toàn bộ xác suất thuộc về các nhóm

là bằng nhau Một phân phối có entropy càng cao thì mức độ tinh khiết của phân phối đó sẽ càng thấp và ngược lại

Như vậy về bản chất thì entropy là một thước đo về độ tinh khiết của phânphối xác suất Dựa trên entropy chúng ta có thể đánh giá tính hiệu quả của câu hỏi ở mỗi node và quyết định xem đâu là câu hỏi hiệu quả hơn (có độ tinh khiết lớn hơn,entropy nhỏ hơn) Tiếp theo chúng ta sẽ cùng tìm hiểu giải thuật tìm kiếm tham lam (greedy) theo chiều từ trên xuống để xây dựng nên cây quyết địnhdựa trên hàm entropy

1.4 Thuật toán cây quyết định ID3

Trong ID3, tổng có trọng số của entropy tại các leaf-node sau khi xây dựng

decision tree được coi là hàm mất mát của decision tree đó Các trọng số ở đây

tỉ lệ với số điểm dữ liệu được phân vào mỗi node Công việc của ID3 là tìm cáccách phân chia hợp lý (thứ tự chọn thuộc tính hợp lý) sao cho hàm mất mát cuốicùng đạt giá trị càng nhỏ càng tốt Như đã đề cập, việc này đạt được bằng cáchchọn ra thuộc tính sao cho nếu dùng thuộc tính đó để phân chia, entropy tại mỗibước giảm đi một lượng lớn nhất Bài toán xây dựng một decision tree bằng ID3

có thể chia thành các bài toán nhỏ, trong mỗi bài toán, ta chỉ cần chọn ra thuộctính giúp cho việc phân chia đạt kết quả tốt nhất Mỗi bài toán nhỏ này tương ứngvới việc phân chia dữ liệu trong một non-leaf node Chúng ta sẽ xây dựng phương

pháp tính toán dựa trên mỗi node này

Xét một bài toán với C class khác nhau Giả sử ta đang làm việc với một non - leaf node với các điểm dữ liệu tạo thành một tập S với số phần tử là Giả

sử thêm rằng trong số N điểm dữ liệu này, , điểm thuộc vào class c Xác suất để mỗi điểm dữ liệu rơi vào một class c được xấp xỉ bằng NNc Như vậy,entropy tại node này được tính bởi:

Tiếp theo, giả sử thuộc tính được chọn là x Dựa trên x, các điểm dữ liệu trong Sđược phân ra thành K child node với số điểm trong mỗi child node lần lượt là

Ta định nghĩa:

là tổng có trọng số entroy của mỗi child node Việc lấy trọng số này là quan trọng

vì các node thường có số lượng điểm khác nhau

Tiếp theo, ta định nghĩa information gain dựa trên thuộc tính x:

7

Trang 11

Trong ID3, tại mỗi node, thuộc tính được chọn được xác định dựa trên:

tức thuộc tính khiến cho information gain đạt giá trị lớn nhất

8

Trang 12

CHƯƠNG 2 XÂY DỰNG MÔ HÌNH THUẬT TOÁN TRONG BÀI TOÁN

Đưa ra quyết định có mua xe hay không dựa trên các thuộc tính thị trường

Các thuộc tính của bộ dữ liệu:

- buying (Giá mua xe) - Gồm 4 giá trị: vhigh, high, med, low

- maint (Giá bảo hành) - Gồm 4 giá trị: vhigh, high, med, low

- Doors (Số cửa của xe) - Gồm 4 giá trị: 2, 3, 4, 5more

- Persons (Số ghế trên xe) - Gồm 3 giá trị: 2, 4, more

- lug boot (Độ rộng cốp xe) - Gồm 3 giá trị: small, med, big

- safety (Độ an toán của xe) Gồm 3 giá trị: low, med, high

- decision (Quyết định) Gồm 4 giá trị: unacc, acc, good, vgood

2.2 Xử lý dữ liệu ban đầu

2.2.1 Khai báo các thư viện sử dụng

2.2.2 Thực hiện đọc dữ liệu, và kiểm tra thông tin và xử lý dữ liệu

9

Trang 13

Đọc input và xuất thông tin 10 giá trị đầu

Kích thước bộ dữ liệu

10

Trang 14

Info bộ dữ liệu

Thực hiện đổi tên các cột 0,1,2,3,4,5,6 tương ứng với các thuộc tính

’buying’, ’maint’, ’doors’, ’persons’, ’lug boot’, ’safety’, ’class’ để bộ dữ liệu

dễ quan sát:

11

Trang 15

Kiểm tra tần suất xuất hiện của các biến:

Có thể thấy rằng tần số xuất hiện của các biến rất dều nhau, riêng chỉ có trong cột dữ liệu ‘class’ ta có thể thấy rằng nó có sự chênh lệch giữa các biến trong cột Nhưng các giá trị biến này lại là các đánh giá xe cho từng loại, chính vìvậy ta có thể xác định đây là biến mục tiêu cho việc xây dựng mô hình

12

Trang 16

Xây dựng bộ dữ liệu huấn luyện với biến mục tiêu là ‘class’

13

Trang 17

Định dạng lại dữ liệu để tính toán thực hiện huấn luyện với mô hình

14

Trang 18

2.3 Thực hiện xây dựng mô hình Decision Tree

Khởi tạo và chạy mô hình

Dự đoán giá trị và kiểm tra độ chính xác

So sánh độ chính xác của prediction cho bộ test và bộ train để kiểm tra độ

Overfitting

15

Trang 19

Cây quyết định được xây dựng

16

Trang 20

2.4 Đánh giá kết quả

Với các xây dựng và kiểm tra ở trên ta có các kết quả:

 Độ chính xác của mô hình với tiêu chí entropy là 0,8105 , nó chỉ ra rằng

mô hình hoạt động khá tốt với độ chính xác là ≈81,05%

 Điểm số huấn luyện mô hình là 0,8013

 Không có dấu hiệu của overfiting

 Dataset còn khá là nhỏ,báo cáo phân lớp dữ liệu của mô hình cho thấy hiệu năng của mô hình với những chỉ số khá tốt

17

Ngày đăng: 25/05/2024, 10:08

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

TÀI LIỆU LIÊN QUAN