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

Báo cáo đồ án Decision Tree Regression

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 (705.57 KB, 17 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
----□&□----

Báo cáo đồ án

Decision Tree Regression
Giảng viên: Ts.Nguyễn Vinh Tiệp

Thành viên nhóm:
Lê Văn Nhân - 19521935
Trương Minh Tuấn - 19522485
Lê Dương Khánh Việt – 19522515

Tháng 11, năm 2021

1


LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại Trường Đại học Công Nghệ Thông Tin,
chúng em đã được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể hồn
thành đồ án mơn học của mình.
Chúng em xin gửi lời cảm ơn chân thành đến thầy TS. Nguyễn Vinh Tiệp – Giảng
viên phụ trách lớp CS116.M11 – Mơn Lập trình python cho Máy học đã tận tâm
hướng dẫn, truyền đạt những kiến thức cũng như kinh nghiệm cho chúng em trong
suốt thời gian học tập.
Trong q trình làm đồ án mơn học, mặc dù nhóm chúng em đã cố gắng nhưng
chắc chắn sẽ khơng tránh được những sai sót khơng đáng có. Mong nhận được sự góp
ý cũng như kinh nghiệm quý báu của các các thầy và các bạn sinh viên để được hồn
thiện hơn và rút kinh nghiệm cho những mơn học sau. Chúng em xin chân thành cảm


ơn!

TP.Hồ Chí Minh, tháng 12, năm 2021

2


MỤC LỤC
I.

Giới thiệu bài toán....................................................................................................................3
a) Giới thiệu chung...........................................................................................................................3
b) Cây quyết định............................................................................................................................4
c) Các cơng đoạn khác nhau của mơ hình......................................................................................5
d) Ưu và nhược điểm của mơ hình...................................................................................................6
e) Ví dụ đơn giản về Decision Tree..................................................................................................6

II. Mục tiêu, ứng dụng của mơ hình................................................................................................7
III. So sánh với các mơ hình hồi quy khác.......................................................................................8
IV. Các đặc điểm trong Decision Tree Regression..........................................................................8
a) Entropy.........................................................................................................................................8
b) Information Gain.........................................................................................................................9
c) Chỉ số Gini....................................................................................................................................9
d) Điều kiện dừng...........................................................................................................................10
e) Pruning (cắt tỉa)..........................................................................................................................10
V.

Siêu tham số, tuning siêu tham số.............................................................................................10

VI. Các thuật toán phổ biến............................................................................................................12

a) ID3..............................................................................................................................................12
b) C4.5.............................................................................................................................................13
c) Kết luận.......................................................................................................................................13
VII. Thực nghiệm.............................................................................................................................13
a) Giới thiệu bộ dữ liệu...................................................................................................................13
b) Phân tích dữ liệu........................................................................................................................14
c) Huấn luyện mơ hình...................................................................................................................15
c) Điều chỉnh tham số.....................................................................................................................16
VIII. Tài liệu tham khảo..................................................................................................................17

3


I. Giới thiệu bài toán
a) Giới thiệu chung
Cây quyết định là một thuật toán dựa trên cấu trúc cây được sử dụng để giải
quyết vấn đề hồi quy (Regression) hoặc phân loại (Classification), và rất hữu ích cho
các bộ dữ liệu phức tạp. Cây quyết định thuộc mơ hình thuật tốn học có giảm sát
(Supervised learning), nó hoạt động bằng cách quan sát các đặc điểm, tính năng của
một đối tượng và đào tạo một mơ hình trong cấu trúc của cây, chia nhỏ tập dữ liệu
thành các tập con ngày càng nhỏ hơn và sau đó đưa ra các dự đốn dữ liệu trong tương
lai dựa trên tập con.

Hình 1.1: Cấu trúc của Decision Tree

b) 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 dãy các luật. Các thuộc tính của đối tượng có thể thuộc các kiểu dữ liệu
khác nhau như Nhị phân (Binary) , Định danh (Nominal), Thứ tự (Ordinal), Số lượng
(Quantitative) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc

Ordinal. Nói chung, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp
(classes) của nó, cây quyết định sẽ sinh ra các luật để dự đốn lớp của các dữ liệu
chưa biết.
Nhìn chung Decision Tree thường áp dụng vào cả 2 bài toán: Phân loại
(Classification) và Hồi quy (Regression). Dạng phân loại kết quả thường là rời rạc và
khơng có thứ tự (Ví dụ: mơ hình dự đốn thời tiết dự đốn có hay khơng mưa vào một
ngày cụ thể), dạng hồi quy thì dữ liệu có vector đặc trưng bao gồm cả thuộc tính dạng
categorical và liên tục, có ý nghĩa (Ví dụ: một mơ hình dự đốn lợi nhuận cho biết lợi
nhuận có thể được tạo ra từ việc bán một sản phẩm).
Trong phạm vi đồ án này thì nhóm em sẽ tập trung vào mơ hình hồi quy của
cây quyết định (Decision Tree Regression).
4


Hình 1.2: Ví dụ về Decision Tree

c) Các cơng đoạn khác nhau của mơ hình
Về cốt lõi, cây quyết định bao gồm 3 phần:
 Nút quyết định: Đại diện cho một quyết định.
 Nút cơ hội: Đại diện cho xác suất hoặc sự không chắc chắn.
 Nút kết thúc: Đại diện cho một kết quả.
Kết nối các nút là các nhánh. Các nút và nhánh có thể được sử dụng lặp đi lặp
lại với nhiều cách kết hợp khác nhau để tạo ra cây có độ phức tạp khác nhau.

Hình 1.3: Ví dụ về kết nối nút và nhánh
5


Về bản chất, cây phân loại hay cây hồi quy đều hoạt động dựa theo mơ hình
trên. Điểm khác nhau giữa chúng là ở đầu ra. Nếu mục tiêu dự đốn của cây là phân

loại thì sẽ là cây phân loại, cịn nếu là số thực thì sẽ là cây hồi quy.

d) Ưu và nhược điểm của mơ hình
Ưu điểm Decision Tree:
 Cây quyết định là một thuật toán đơn giản và phổ biến. 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. Cây có thể được trực quan hóa.
 Dữ liệu cần chuẩn bị nhỏ. Dữ liệu đầu vào có thể là là dữ liệu trống,
khơng cần chuẩn hóa hoặc tạo biến giả.
 Có thể làm việc với cả dữ liệu số và dữ liệu phân loại
 Có khả năng xử lý các vấn đề u cầu đa đầu ra.
 Sử dụng mơ hình hộp màu trắng. Nếu một tình huống nhất định có thể
quan sát được trong 1 mơ hình, thì lời giải thích cho điều kiện đó dễ
dàng được giải thích bằng logic boolean.
 Có thể xác thực mơ hình bằng cách sử dụng các kiểm tra thống kê
 Có khả năng là việc với dữ liệu lớn
Nhược điểm Decision Tree:
 Mơ hình cây quyết định phụ thuộc rất lớn vào dữ liệu của bạn. Thậm
chí, với một sự thay đổi nhỏ trong bộ dữ liệu, cấu trúc mơ hình cây
quyết định có thể thay đổi hồn tồn.
 Mơ hình cây quyết định có thể trở thành cây thiên vị nếu một số lớp
chiếm ưu thế. Do đó, nên cân bằng dữ liệu trước khi fitting.
 Mơ hình cây quyết định có thể tạo ra cây quá phức tạp, khiến cho việc
tổng quan hóa dữ liệu khơng được tốt. Vấn đề này gọi là overfitting. Để
tránh vấn đề này, các cơ chế như pruning, thiết lập số lượng mẫu tối
thiểu tại một nút lá hoặc thiết lập độ sâu tối đa của cây là cần thiết.

e) Ví dụ đơn giản về Decision Tree
Xét một ví dụ đơn giản thơng qua mơ hình sau:
6



Hình 1.4: Ví dụ minh họa

Ở đây, tùy thuộc vào các điều kiện mà ta sẽ quyết định xem công việc nào sẽ
được thực hiện tiếp theo, cho đến khi ta đi đến kết luận cuối cùng. Trọng tâm ở đây
cũng được thể hiện rõ ràng (ăn hay không ăn, ăn cái gì), khơng có những thơng tin
khơng liên quan hoặc không cần thiết, tránh trường hợp cây bị overfitting.

II.

Mục tiêu, ứng dụng của mơ hình

Từ những ưu, nhược điểm kể trên, cây quyết định trở thành một công cụ mạnh
mẽ và phổ biến. Chúng thường được dùng trong phân tích và dự đốn. Chúng cũng là
cơng cụ phổ biến cho máy học và trí tuệ nhân tạo, được sử dụng làm thuật tốn đào
tạo cho việc học có giám sát.
Nhìn chung, cây quyết định được sử dụng trong nhiều ngành cơng nghiệp khác
nhau (Cơng nghệ, y tế, tài chính), để giải quyết nhiều vấn đề khác nhau. Ví dụ như:
 Doanh nghiệp đánh giá cơ hội mở rộng, phát triển dựa trên việc phân tích dữ
liệu bán hàng từ quá khứ.
 Công ty quyết định chi tiêu cho ngân sách quảng cáo dựa trên sức mua của
khách hàng.
 Ngân hàng sử dụng dữ liệu khách hàng cung cấp để dự đốn xem khách hàng
đó có thể thanh tốn khoảng vay hay khơng.

III.

So sánh với các mơ hình hồi quy khác
 Đối với Linear Regression:


7


o Cây quyết định hỗ trợ tính khơng tuyến tính, trong khi hồi quy tuyến
tính chi hỗ trợ giải pháp tuyến tính.
o Khi có một số lượng lớn các feature với ít tập dữ liệu(với độ nhiễu
thấp), hồi quy tuyến tính có thể tốt hơn cây quyết định. Trong các
trường hợp chung, cây quyết định sẽ có độ chính xác trung bình tốt hơn.
o Đối với các biến phân loại độc lập, cây quyết định tốt hơn so với hồi quy
tuyến tính.
o Cây quyết định xử lý cột tốt hơn hồi quy tuyến tính.
 Đối với Logistic Regression:
o Cây quyết định xử lý cột tốt hơn.
o Cây quyết định không thể suy ra tầm quan trọng của tính năng, trong khi
Logistic Regression thì có.
o Cây quyết định tốt hơn cho các giá trị phân loại so với LR.

IV.

Các đặc điểm trong Decision Tree Regression
a) Entropy

Entropy được dùng để đo tính thuần nhất của một tập dữ liệu, thể hiện mức độ
hỗn loạn hay độ nhiễu của dữ liệu. Entropy càng cao thì độ tinh khiết (purity) càng
thấp và tạp chất càng cao, được dùng trong các thuật toán ID3, C4.5 và C5.0.
Công thức cho Entropy:
N

S=−∑ pi lo g 2 pi

i=1

Trong đó pi là xác suất trạng thái thứ i xuất hiện, S là tập con.

b) Information Gain
Information 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, là yếu tố quyết định thuộc tính nào nên được chọn
làm Root Node. Công thức:
Information Gain=E ( Y ) −E(Y ∨ X )

Để hiểu sâu hơn thì ta làm một ví dụ tìm Root Node của cây:
Có 30 người ở chung một chung cư và có ý định đi tập gym vào buổi chiều
nay. Giả sử chỉ có 16 người đi và 14 người cịn lại khơng đi tập gym. Chúng ta có 2
thuộc tính quyết định họ có đi đến tập gym hay khơng, bao gồm: Energy có hai giá trị
high và low, Motivation có hai giá trị low và high.

Trước hết chúng ta tính tốn entropy của Energy:
8


Sau đó ta có được kết quả của Information Gain là:
Information Gain=E ( parent )−E ( parent|energy ) =0.99−0.62=0.37

Tương tự ta có kết quả Information Gain của thuộc tính Motivation là 0.13. Vì
kết quả của thuộc tính Energy lớn hơn nên ta sẽ chọn Energy làm Root Node.

c) Chỉ số Gini
Gini là chỉ số thể hiện mức độ phân loại sai khi ta chọn ngẫu nhiên một phần tử
từ tập data, được sử dụng để đo lường mức độ bất bình đẳng trong phân phối của các
lớp, được tính bằng cách lấy 1 trừ đi tổng bình phương tỷ lệ phần trăm ở mỗi lớp.

Công thức của Gini:
C

Gini=1−∑ p 21
i=1

Trong đó: i là số các lớp có trong tập data, pilà xác suất mà một phần tử ngẫu
nhiên thuộc lớp i.
Gini được dùng đối với các biến rời rạc có số lượng các trường hợp lớn vì nó
có tốc độ tính tốn nhanh hơn so với hàm Entropy nên được sử dụng trong thuật toán
CART thay cho Entropy.

d) Điều kiện dừng
Để không xảy ra hiện tượng quá khớp và tiết kiệm chi phí khi tính tốn, chúng
ta sẽ dừng việc phân chia của cây khi đạt điều kiện như:
 Độ sâu của cây chạm một ngưỡng tối thiểu (sử dụng tham số max_depth để
điều chỉnh độ sâu)
 Số lượng mẫu tối thiểucho mot node lá đạt ngưỡng tối thiểu ( dùng tham số
min_samples_split để điều chỉnh)

9


 Node lá hồn tồn thuộc về một nhóm duy nhất. Tức là node phân chia hoàn
toàn tinh khiết (purity).
 Số lượng các node phân chia đạt ngưỡng.
 Số lượng các node lá đạt ngưỡng. Số lượng node lá càng nhiều thì mơ hình
càng trở nên phức tạp.

e) Pruning (cắt tỉa)

Pruning là một phương pháp giúp chúng ta tránh bị overfitting. Nó giúp cải
thiện hiệu suất của cây bằng cách loại bỏ các nút con không quan trọng, loại bỏ các
nhánh có tầm quan trọng rất thấp.
Chủ yếu có 2 cách để Pruning:
 Pre-pruning: ta loại bỏ một nút nếu nó có tầm quan trọng thấp trong khi phát
triển cây.
 Post-pruning: khi cây đã xây dựng đến độ sâu nhất định, ta bắt đầu loại bỏ các
nút dựa trên ý nghĩa của chúng.

V.

Siêu tham số, tuning siêu tham số

Siêu tham số của Decision Tree Regression bao gồm:
 criterion: {“squared_error”, “friedman_mse”, “absolute_error”, “poisson”},
default = “squared_error”: có chức năng đo lường chất lượng một lần tách
(split).
o “squared_error” cho sai số bình phương trung bình(mean squared error)
bằng với giảm phương sai làm tiêu chí lựa chọn tính năng và giảm thiểu
tổn thất L2 bằng cách sử dụng giá trị trung bình của mỗi nút đầu cuối.
o “Friedman_mse”, sử dụng sai số bình phương trung bình với điểm cải
thiện của Friedman cho tiềm năng phân chia.
o “absolute_error” cho sai số tuyệt đối trung bình, giảm thiểu tổn thất L1
bằng cách sử dụng giá trị trung bình của mỗi nút đầu cuối.
o “poisson” sử dụng giảm độ lệch Poisson để tìm phân tách.
 splitter: {“best”, “ramdom”} default = “best”: Chiến lược được sử dụng để
chọn phần tách từ mỗi nút.
o “best” để chọn phần tách tốt nhất.
o “ramdom” để chọn phần tách ngẫu nhiên tốt nhất.
 max_depth: int, default = None: Chiều sâu tối đa của cây. Nếu là None, các nút

sẽ được mở rộng cho đến khi tất cả các lá được thêm hoặc cho đến khi tất cả
các lá chứa ít hơn số lượng min_samples_split. Đối với mơ hình bị q khớp thì
chúng ta cần gia tăng max_depth (độ sâu).
10


 min_samples_split: Số lượng mẫu tối thiểu cần thiết để tách một nút nội bộ.
Được sử dụng để tránh kích thước của node lá quá nhỏ nhằm giảm thiểu hiện
tượng quá khớp.
o Nếu là số nguyên, hãy coi min_samples_split là số nhỏ nhất.
o Nếu là số thực, min_samples_split là một phân số và ceil
(min_samples_split * n_samples) là số lượng mẫu tối thiểu mỗi lần tách.
 min_weight_fraction_leaf: float, default = 0.0: Phần có trọng số tối thiểu của
tổng trọng số (của tất cả các mẫu đầu vào) cần có ở một nút lá. Các mẫu có
trọng lượng bằng nhau khi sample_weight không được cung cấp
 max_features: int, float hoặc {“auto”, “sqrt”, “log2”}, default = None: Số
lượng các tính năng cần xem xét khi tìm sự phân chia tốt nhất ở mỗi lượt phân
chia.
o Nếu là int, hãy xem xét số max_features tính năng tại mỗi lần phân chia.
o Nếu là float, max_features là một phân số và một số nguyên tính năng
(max_features * n_features) được xem xét mỗi lần tách.
o Nếu là “auto”, max_features = n_features.
o Nếu là “sqrt”, max_features = sqrt(n_features).
o Nếu là “log2”, max_features = log2(n_features).
o Nếu là None, max_features = n_features.
 random_state: int, RamdomState instance hoặc None, default = None: Kiểm
sốt tính ngẫu nhiên của cơng cụ ước tính. Các tính năng ln được hốn vị
ngẫu nhiên tại mỗi lần tách, ngay cả khi splitter được đặt là “best”. Khi
max_features < n_features, thuật toán sẽ chọn max_features ngẫu nhiên tại mỗi
lần tách trước khi tìm ra phần tách tốt nhất trong số chúng. Nhưng sự phân chia

tốt nhất được tìm thấy có thể khác nhau mỗi các lần chạy khác nhau, ngay cả
khi max_features = n_features. Đó là trường hợp, nếu sự cải tiến của tiêu chí
giống hệt nhau đối với một số phần tách và một phần tách phải được chọn ngẫu
nhiên. Để có được một hành vi xác định trong khi điều chỉnh, random_state
phải được cố định thành một số nguyên.
 max_leaf_nodes: int, default = None: Số lượng các node lá tối đa của cây
quyết định, được dùng khi muốn kiểm soát hiện tượng quá khớp. Các nút tốt
nhất được định nghĩa là giảm tạp chất tương đối. Nếu None thì khơng giới hạn
số nút lá.
 min_impurity_decrease: float, default = 0.0: Một nút sẽ bị tách nếu phân tách
làm giảm tạp chất lớn hơn hoặc bằng giá trị này, được sử dụng để tránh hiện
tượng quá khớp. Phương trình giảm tạp chất có dạng:
N_t / N * (impurity – N_t_R / N_t * right_impurity - N_t_L / N_t * left_imputiry)
Trong đó
11


o N là tổng số mẫu, N_t là số mẫu tại nút hiện tại, N_t_L là số mẫu ở nút
con bên trái và N_t_R là số mẫu ở nút con bên phải
o N, N_t, N_t_R và N_t_L đều tham chiếu đến tổng có trọng số, nếu
sample_weight được thơng qua
 ccp_alpha: non-negative float, default = 0.0: Tham số độ phức tạp được dùng
cho Minimal Cost-Complexity Pruning. Cây con có chi phí độ phức tạp lớn
nhất nhỏ hơn ccp_alpha sẽ được chọn. Nếu là default, khơng có thao tác cắt tỉa
nào được thực hiện.
Những tham số có thể được sử dụng để tuning bao gồm: Criterion, splitter,
max_depth, min_samples_split, min_samples_leaf, max_features,
max_leaf_nodes, min_impurity_decrease, min_impurity_split.

VI.


Các thuật toán phổ biến
a) ID3

Thuật toán ID3 (Iterative Dichotomiser 3) là giải thuật lâu đời được tạo ra bởi
Ross Quinlan nhằm xây dựng cây quyết định phù hợp từ một bộ dữ liệu, áp dụng cho
bài toán Phân loại (Classification) mà tất các các thuộc tính để ở dạng category. Thuật
toán ID3 dùng Entropу function ᴠà Information gain để kiểm tra kết quả, có thể tóm
tắt các bước làm của ID3 như sau:
 Lấy tất cả các thuộc tính chưa được sử dụng và đếm entropy liên quan đến mẫu
thử của các thuộc tính đó
 Chọn thuộc tính có entropy lớn nhất
 Nối node với thuộc tính đó

b) C4.5
C4.5 là thuật toán cải tiến hơn so với ID3, phân lớp dữ liệu dựa trên cây quyết
định, hiệ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 xây dựng cây quyết định từ tập training data tương tự như
ID3 và có một số ưu điểm như:
 Sử dụng Gain Ratio (thay vì dùng Information Gain) để chọn thuộc tính phân
chia trong quá trình xây dựng cây.
 Xử lý tốt cả hai dạng thuộc tính: rời rạc, liên tục. Xử lý được những dữ liệu
không đầy đủ (thiếu một số giá trị tại một số thuộc tính), các thuộc tính - giá trị
bị thiếu thay bằng dấu hỏi (?) và không được xem xét khi tính tốn Gain Radio.
 Cắt tỉa sau khi hoàn thành việc xây dựng cây: Loại bỏ những nhánh cây khơng
quan trọng .

c) Kết luận
Việc chọn thuật tốn nào để có hiệu quả phân lớp cao tùy thuộc vào rất nhiều
yếu tố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến kết quả của các thuật

toán. Chẳng hạn như thuật toán ID3 và CART (Classification And Regression
12


Tree) cho hiệu quả phân lớp rất cao đối với các trường dữ liệu số (quantitative
value) trong khi đó các thuật tốn như C4.5 có hiệu quả hơn đối với các dữ liệu
Qualititive value (ordinal, Binary, nominal).

VII.

Thực nghiệm
a) Giới thiệu bộ dữ liệu

Nhóm em sử dụng bộ dataset Boston Housing cho ví dụ về hồi quy. Đây là bộ
dataset rất phổ biến chứa thông tin về những ngôi nhà ở ngoại ô Boston. Bộ dữ liệu
bao gồm 506 mẫu và 14 thuộc tính, bao gồm:
















CRIM: Tỷ lệ tội phạm theo thị trấn.
ZN: Tỷ lệ đất được quy hoạch cho các lơ trên 25,000 feet vng.
INDUS: Tỷ lệ diện tích kinh doanh phi bán lẻ trên mỗi thị trấn.
CHAS: Biến giả Charles River. (= 1 nếu đường giới hạn sông, = 0 nếu ngược
lại)
NOX: Nồng độ oxit nitric.
RM: Số lượng phòng trung bình trên 1 ngơi nhà.
AGE: Tỷ lệ các căn hộ được xây dựng trước năm 1940.
DIS: Khoảng cách trọng số đến 5 trung tâm việc làm ở Boston.
RAD: Chỉ số khả năng tiếp cận các đường cao tốc hướng tâm
TAX: Thuế suất tài sản toàn giá trị trên 10,000$
PTRATIO: Tỷ lệ học sinh - giáo viên theo thị trấn.
B: 1,000(Bk – 0.63)2, trong đó Bk là tỷ lệ người Mỹ gốc Phi theo thị trấn.
LSTAT: Tỷ lệ dân số có mức sống thấp.
MEDV: giá trị trung bình của những ngơi nhà (đơn vị 1,000$).

Link bộ dữ liệu:
/>
b) Phân tích dữ liệu
Vì mục đích đơn giản và dễ hình dung, chúng em chỉ sử dụng 2 thuộc tính là
MEDV - giá trị trung bình của những ngơi nhà(đơn vị 1,000$), làm target và LSTAT Tỷ lệ dân số có mức sống thấp, làm feature.
Đầu tiên, nhóm em import những thư viện cần thiết, đồng thời load bộ dataset
từ sklearn.

13


Tiếp theo, vẽ biểu đồ phân phối biến mục tiêu MEDV:


Biểu đồ phân phối biến mục tiêu MEDV:

Có thể thấy rằng giá trị MEDV được phân phối bình thường và ít có giá trị
ngoại lệ.

14


c) Huấn luyện mơ hình
Bộ dữ liệu sẽ được chia với tỷ lệ 8:2. Trong đó 80% dataset được dùng để huấn
luyện và 20% được dùng để đánh giá.
Nhóm em sử dụng mơ hình DecisionTreeRegressor thuộc thư viện scikit-learn
để đào tạo cây hồi quy.Ở đây, chúng em sử dụng các thơng số mặc định, ngồi
max_depth = 3 để có thể vẽ và đọc cây.

Tiếp theo, chúng em trực quan hóa mối quan hệ giữa MEDV và LSTAT trên cây hồi
quy.

Nhìn vào biểu đồ, có thể thấy cây quyết định với độ sâu depth = 3 nắm bắt
được xu hướng chung trong dữ liệu.

c) Điều chỉnh tham số
Ở đây, nhóm em điều chỉnh tham số bằng GridSearchCV. Chi tiết như sau:

15


Sau khi điều chỉnh tham số, kết quả của mô hình vẫn khơng có sự khác biệt q
lớn. Mơ hình có kết quả tốt nhất có tham số là max_depth = 3, min_samples_leaf =
10.


Trực quan hóa mơ hình như sau:

Source code của nhóm:
/>
16


VIII.

Tài liệu tham khảo

1) />2) />3) />4) />5) />6) />7) />8) />
17



×