0

Báo cáo đồ án decision tree regression

28 9 0
  • Báo cáo đồ án decision tree regression

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 15/01/2022, 16:06

ĐẠ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 LỜI CẢM ƠN Sau trình học tập rèn luyện Trường Đại học Công Nghệ Thông Tin, chúng em trang bị kiến thức bản, kỹ thực tế để hồn thành đồ án mơn học 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 kiến thức kinh nghiệm cho chúng em suốt thời gian học tập Trong trình làm đồ án mơn học, nhóm chúng em cố gắng chắn không tránh sai sót khơng đáng có Mong nhận góp ý kinh nghiệm quý báu các thầy bạn sinh viên để hoàn thiện rút kinh nghiệm cho 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 MỤC LỤC I Giới thiệu toán a) Giới thiệu chung b) Cây định c) Các công đoạn khác mơ hình d) Ưu nhược điểm mơ hình e) Ví dụ đơn giản Decision Tree .7 II Mục tiêu, ứng dụng mơ hình .7 III So sánh với mơ hình hồi quy khác IV Các đặc điểm Decision Tree Regression .8 a) Entropy b) Information Gain c) Chỉ số Gini d) Điều kiện dừng 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 12 c) Kết luận 13 VII Thực nghiệm 13 a) Giới thiệu liệu .13 b) Phân tích liệu 13 c) Huấn luyện mơ hình 15 c) Điều chỉnh tham số 15 VIII Tài liệu tham khảo 17 I Giới thiệu toán a)Giới thiệu chung Cây định thuật toán dựa cấu trúc sử dụng để giải vấn đề hồi quy (Regression) phân loại (Classification), hữu ích cho liệu phức tạp Cây định thuộc mô hình thuật tốn học có giảm sát (Supervised learning), hoạt động cách quan sát đặc điểm, tính đối tượng đào tạo mô hình cấu trúc cây, chia nhỏ tập liệu thành tập ngày nhỏ sau đưa dự đốn liệu tương lai dựa tập Hình 1.1: Cấu trúc Decision Tree b)Cây định Cây định phân cấp có cấu trúc dùng để phân lớp đối tượng dựa vào dãy luật Các thuộc tính đối tượng thuộc kiểu liệu khác Nhị phân (Binary) , Định danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) thuộc tính phân lớp phải có kiểu liệu Binary Ordinal Nói chung, cho liệu đối tượng gồm thuộc tính với lớp (classes) nó, định sinh luật để dự đoán lớp liệu chưa biết Nhìn chung Decision Tree thường áp dụng vào toán: Phân loại (Classification) Hồi quy (Regression) Dạng phân loại kết thường rời rạc 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 ngày cụ thể), dạng hồi quy liệu có vector đặc trưng bao gồm thuộc tính dạng categorical liên tục, có ý nghĩa (Ví dụ: mơ hình dự đốn lợi nhuận cho biết lợi nhuận tạo từ việc bán sản phẩm) Trong phạm vi đồ án nhóm em tập trung vào mơ hình hồi quy định (Decision Tree Regression) Hình 1.2: Ví dụ Decision Tree c) Các công đoạn khác mơ hình Về cốt lõi, định bao gồm phần:  Nút định: Đại diện cho định  Nút hội: Đại diện cho xác suất không chắn  Nút kết thúc: Đại diện cho kết Kết nối nút nhánh Các nút nhánh sử dụng lặp lặp lại với nhiều cách kết hợp khác để tạo có độ phức tạp khác Hình 1.3: Ví dụ kết nối nút nhánh Về chất, phân loại hay hồi quy hoạt động dựa theo mơ hình Điểm khác chúng đầu Nếu mục tiêu dự đoán phân loại phân loại, cịn số thực hồi quy d)Ưu nhược điểm mơ hình Ưu điểm Decision Tree:  Cây định thuật toán đơn giản phổ biến Mơ hình sinh quy tắc dễ hiểu cho người đọc, tạo luật với nhánh luật Cây trực quan hóa  Dữ liệu cần chuẩn bị nhỏ Dữ liệu đầu vào là liệu trống, khơng cần chuẩn hóa tạo biến giả  Có thể làm việc với liệu số liệu phân loại  Có khả xử lý vấn đề yêu cầu đa đầu  Sử dụng mơ hình hộp màu trắng Nếu tình định quan sát mơ hình, lời giải thích cho điều kiện dễ dàng giải thích logic boolean  Có thể xác thực mơ hình cách sử dụng kiểm tra thống kê  Có khả việc với liệu lớn Nhược điểm Decision Tree:  Mơ hình định phụ thuộc lớn vào liệu bạn Thậm chí, với thay đổi nhỏ liệu, cấu trúc mô hình định thay đổi hồn tồn  Mơ hình định trở thành thiên vị số lớp chiếm ưu Do đó, nên cân liệu trước fitting  Mơ hình định tạo phức tạp, khiến cho việc tổng quan hóa liệu không tốt Vấn đề gọi overfitting Để tránh vấn đề này, chế pruning, thiết lập số lượng mẫu tối thiểu nút thiết lập độ sâu tối đa cần thiết e)Ví dụ đơn giản Decision Tree Xét ví dụ đơn giản thơng qua mơ hình sau: Hình 1.4: Ví dụ minh họa Ở đây, tùy thuộc vào điều kiện mà ta định xem công việc thực tiếp theo, ta đến kết luận cuối Trọng tâm thể rõ ràng (ăn hay khơng ăn, ăn gì), khơng có thơng tin khơng liên quan khơng cần thiết, tránh trường hợp bị overfitting 10 Sau ta có kết Information Gain là: Tương tự ta có kết Information Gain thuộc tính Motivation 0.13 Vì kết thuộc tính Energy lớn nên ta chọn Energy làm Root Node c) Chỉ số Gini Gini số thể mức độ phân loại sai ta chọn ngẫu nhiên phần tử từ tập data, sử dụng để đo lường mức độ bất bình đẳng phân phối lớp, tính cách lấy trừ tổng bình phương tỷ lệ phần trăm lớp Cơng thức Gini: 14 Trong đó: i số lớp có tập data, xác suất mà phần tử ngẫu nhiên thuộc lớp i Gini dùng biến rời rạc có số lượng trường hợp lớn có tốc độ tính tốn nhanh so với hàm Entropy nên sử dụng thuật toán CART thay cho Entropy d) Điều kiện dừng Để không xảy tượng khớp tiết kiệm chi phí tính tốn, dừng việc phân chia đạt điều kiện như:  Độ sâu chạm 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 đạt ngưỡng tối thiểu ( dùng tham số min_samples_split để điều chỉnh)  Node hoàn toàn thuộc nhóm Tức node phân chia hoàn toàn tinh khiết (purity)  Số lượng node phân chia đạt ngưỡng  Số lượng node đạt ngưỡng Số lượng node nhiều mơ hình trở nên phức tạp 15 e) Pruning (cắt tỉa) Pruning phương pháp giúp tránh bị overfitting Nó giúp cải thiện hiệu suất cách loại bỏ nút không quan trọng, loại bỏ nhánh có tầm quan trọng thấp Chủ yếu có cách để Pruning:  Pre-pruning: ta loại bỏ nút có tầm quan trọng thấp phát triển  Post-pruning: xây dựng đến độ sâu định, ta bắt đầu loại bỏ nút dựa ý nghĩa chúng V Siêu tham số, tuning siêu tham số Siêu tham số Decision Tree Regression bao gồm:  criterion: {“squared_error”, “friedman_mse”, “absolute_error”, “poisson”}, default = “squared_error”: có chức đo lường chất lượng lần tách (split) o “squared_error” cho sai số bình phương trung bình(mean squared error) với giảm phương sai làm tiêu chí lựa chọn tính giảm thiểu tổn thất L2 cách sử dụng giá trị trung bình 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 Friedman cho tiềm phân chia 16 o “absolute_error” cho sai số tuyệt đối trung bình, giảm thiểu tổn thất L1 cách sử dụng giá trị trung bình 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 sử dụng để chọn phần tách từ nút o “best” để chọn phần tách tốt o “ramdom” để chọn phần tách ngẫu nhiên tốt  max_depth: int, default = None: Chiều sâu tối đa Nếu None, nút mở rộng tất thêm tất chứa số lượng min_samples_split Đối với mơ hình bị q khớp cần gia tăng max_depth (độ sâu)  min_samples_split: Số lượng mẫu tối thiểu cần thiết để tách nút nội Được sử dụng để tránh kích thước node nhỏ nhằm giảm thiểu tượng khớp o Nếu số nguyên, coi min_samples_split số nhỏ 17 o Nếu số thực, min_samples_split phân số ceil (min_samples_split * n_samples) số lượng mẫu tối thiểu lần tách  min_weight_fraction_leaf: float, default = 0.0: Phần có trọng số tối thiểu tổng trọng số (của tất mẫu đầu vào) cần có nút Các mẫu có trọng lượng sample_weight khơng cung cấp  max_features: int, float {“auto”, “sqrt”, “log2”}, default = None: Số lượng tính cần xem xét tìm phân chia tốt lượt phân chia o Nếu int, xem xét số max_features tính lần phân chia o Nếu float, max_features phân số số nguyên tính (max_features * n_features) xem xét lần tách o Nếu “auto”, max_features = n_features o Nếu “sqrt”, max_features = sqrt(n_features) o Nếu “log2”, max_features = log2(n_features) o Nếu None, max_features = n_features 18  random_state: int, RamdomState instance None, default = None: Kiểm sốt tính ngẫu nhiên cơng cụ ước tính Các tính ln hốn vị ngẫu nhiên lần tách, splitter đặt “best” Khi max_features < n_features, thuật toán chọn max_features ngẫu nhiên lần tách trước tìm phần tách tốt số chúng Nhưng phân chia tốt tìm thấy khác lần chạy khác nhau, max_features = n_features Đó trường hợp, cải tiến tiêu chí giống hệt số phần tách phần tách phải chọn ngẫu nhiên Để có hành vi xác định điều chỉnh, random_state phải cố định thành số nguyên  max_leaf_nodes: int, default = None: Số lượng node tối đa định, dùng muốn kiểm soát tượng khớp Các nút tốt định nghĩa giảm tạp chất tương đối Nếu None khơng giới hạn số nút  min_impurity_decrease: float, default = 0.0: Một nút bị tách phân tách làm giảm tạp chất lớn giá trị này, sử dụng để tránh tượng 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) 19 Trong o N tổng số mẫu, N_t số mẫu nút tại, N_t_L số mẫu nút bên trái N_t_R số mẫu nút bên phải o N, N_t, N_t_R N_t_L tham chiếu đến tổng có trọng số, sample_weight thông qua  ccp_alpha: non-negative float, default = 0.0: Tham số độ phức tạp dùng cho Minimal Cost-Complexity Pruning Cây có chi phí độ phức tạp lớn nhỏ ccp_alpha chọn Nếu default, khơng có thao tác cắt tỉa thực Những tham số 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) giải thuật lâu đời tạo Ross Quinlan nhằm xây dựng định phù hợp từ liệu, áp dụng cho toán Phân loại (Classification) mà tất các thuộc tính để dạng category Thuật toán ID3 dùng 20 Entropу function ᴠà Information gain để kiểm tra kết quả, tóm tắt bước làm ID3 sau:  Lấy tất thuộc tính chưa sử dụng đếm entropy liên quan đến mẫu thử thuộc tính  Chọn thuộc tính có entropy lớn  Nối node với thuộc tính b) C4.5 C4.5 thuật tốn cải tiến so với ID3, phân lớp liệu dựa định, hiệu phổ biến ứng dụng khai phá sở liệu có kích thước nhỏ C4.5 xây dựng định từ tập training data tương tự ID3 có số ưu điểm như:  Sử dụng Gain Ratio (thay dùng Information Gain) để chọn thuộc tính phân chia trình xây dựng  Xử lý tốt hai dạng thuộc tính: rời rạc, liên tục Xử lý liệu không đầy đủ (thiếu số giá trị số thuộc tính), thuộc tính - giá trị bị thiếu thay dấu hỏi (?) khơng xem xét tính tốn Gain Radio  Cắt tỉa sau hoàn thành việc xây dựng cây: Loại bỏ nhánh không quan trọng c) Kết luận Việc chọn thuật toán để có hiệu phân lớp cao tùy thuộc vào nhiều yếu tố, cấu trúc liệu ảnh hưởng 21 lớn đến kết thuật toán Chẳng hạn thuật toán ID3 CART (Classification And Regression Tree) cho hiệu phân lớp cao trường liệu số (quantitative value) thuật tốn C4.5 có hiệu liệu Qualititive value (ordinal, Binary, nominal) VII Thực nghiệm a) Giới thiệu liệu Nhóm em sử dụng dataset Boston Housing cho ví dụ hồi quy Đây dataset phổ biến chứa thông tin nhà ngoại ô Boston Bộ liệu bao gồm 506 mẫu 14 thuộc tính, bao gồm:  CRIM: Tỷ lệ tội phạm theo thị trấn  ZN: Tỷ lệ đất quy hoạch cho lô 25,000 feet vuông  INDUS: Tỷ lệ diện tích kinh doanh phi bán lẻ thị trấn  CHAS: Biến giả Charles River (= đường giới hạn sông, =         ngược lại) NOX: Nồng độ oxit nitric RM: Số lượng phòng trung bình ngơi nhà AGE: Tỷ lệ hộ xây dựng trước năm 1940 DIS: Khoảng cách trọng số đến trung tâm việc làm Boston RAD: Chỉ số khả tiếp cận đường cao tốc hướng tâm TAX: Thuế suất tài sản toàn giá trị 10,000$ PTRATIO: Tỷ lệ học sinh - giáo viên theo thị trấn B: 1,000(Bk – 0.63)2, Bk tỷ lệ người Mỹ gốc Phi theo thị trấn 22  LSTAT: Tỷ lệ dân số có mức sống thấp  MEDV: giá trị trung bình nhà (đơn vị 1,000$) Link liệu: https://www.cs.toronto.edu/~delve/data/boston/bostonDetail html b) Phân tích liệu Vì mục đích đơn giản dễ hình dung, chúng em sử dụng thuộc tính MEDV - giá trị trung bình ngơi nhà(đơn vị 1,000$), làm target LSTAT - Tỷ lệ dân số có mức sống thấp, làm feature Đầu tiên, nhóm em import thư viện cần thiết, đồng thời load dataset từ sklearn 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: 23 Có thể thấy giá trị MEDV phân phối bình thường có giá trị ngoại lệ c) Huấn luyện mơ hình Bộ liệu chia với tỷ lệ 8:2 Trong 80% dataset dùng để huấn luyện 20% dùng để đánh giá Nhóm em sử dụng mơ hình DecisionTreeRegressor thuộc thư viện scikit-learn để đào tạo hồi quy.Ở đây, chúng em sử dụng thơng số mặc định, ngồi max_depth = để vẽ đọc 24 Tiếp theo, chúng em trực quan hóa mối quan hệ MEDV LSTAT hồi quy Nhìn vào biểu đồ, thấy định với độ sâu depth = nắm bắt xu hướng chung liệu c) Điều chỉnh tham số Ở đây, nhóm em điều chỉnh tham số GridSearchCV Chi tiết sau: 25 Sau điều chỉnh tham số, kết mơ hình khơng có khác biệt q lớn Mơ hình có kết tốt có tham số max_depth = 3, min_samples_leaf = 10 Trực quan hóa mơ sau: Source code nhóm: 26 https://colab.research.google.com/drive/1uTxPK43WPWIhFDYM V3x9fPD-zfhV9Mgv?usp=sharing VIII Tài liệu tham khảo 1) https://towardsdatascience.com/https-medium-com-lorrliclassification-and-regression-analysis-with-decision-treesc43cdbc58054 2) https://trituenhantao.io/kien-thuc/decision-tree/ 3) https://scikitlearn.org/stable/modules/generated/sklearn.tree.DecisionTre eRegressor.html 4) https://bigdatauni.com/tin-tuc/thuat-toan-cay-quyet-dinhp-2-cart-gini-index.html 5) https://ichi.pro/vi/cay-quyet-dinh-22696944857751 6) https://lichgo.vn/cay-quyet-dinh-la-gi/ 27 7) https://cafedev.vn/tu-hoc-ml-hoi-quy-cay-quyet-dinh-sudung-sklearn/ 8) https://www.geeksforgeeks.org/python-decision-treeregression-using-sklearn/ 28 ... cho biết lợi nhuận tạo từ việc bán sản phẩm) Trong phạm vi đồ án nhóm em tập trung vào mơ hình hồi quy định (Decision Tree Regression) Hình 1.2: Ví dụ Decision Tree c) Các cơng đoạn khác mơ hình... https://towardsdatascience.com/https-medium-com-lorrliclassification-and -regression- analysis-with -decision- treesc43cdbc58054 2) https://trituenhantao.io/kien-thuc /decision- tree/ 3) https://scikitlearn.org/stable/modules/generated/sklearn .tree. DecisionTre... hình e) Ví dụ đơn giản Decision Tree .7 II Mục tiêu, ứng dụng mơ hình .7 III So sánh với mơ hình hồi quy khác IV Các đặc điểm Decision Tree Regression .8 a) Entropy
- Xem thêm -

Xem thêm: Báo cáo đồ án decision tree regression, Báo cáo đồ án decision tree regression