1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) đồ án môn học khai mỏ dữ liệu đề tài phân lớp dữ liệu

22 4 0

Đ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 Lớp Dữ Liệu
Tác giả Nguyễn Nhật Hoàng, Nguyễn Thị Hồng Phước, Nguyễn Văn Thuận
Trường học Trường Đại Học Duy Tân
Chuyên ngành Khai Mỏ Dữ Liệu
Thể loại Đồ án môn học
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 22
Dung lượng 4,21 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN  Đồ án môn học KHAI MỎ DỮ LIỆU ĐỀ TÀI: PHÂN LỚP DỮ LIỆU Học Viên: Nguyễn Nhật Hoàng Nguyễn Thị Hồng Phước Nguyễn Văn Thuận Lớp: K24MCS1 Đà Nẵng, tháng 12 năm 2022 NGUYỄN NHẬT HOÀNG – K24 MCS.1 MỤC LỤC MỞ ĐẦU Giới thiệu đề tài 2 Mục tiêu phạm vi nghiên cứu .2 Phương pháp nghiên cứu CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 1.1 Giới thiệu Học máy 1.2 Phân loại Học máy 1.3 Ứng dụng Học máy CHƯƠNG 2: TỔNG QUAN VỀ MƠ HÌNH DECISION TREE 2.1 Giới thiệu Decision Tree .5 2.2 Giới thiệu thuật toán ID3 (Iterative Dichotomiser 3) 2.3 Mơ tả thuật tốn ID3 .8 2.4 Ưu điểm mơ hình Decision Tree .14 2.5 Điều kiện dừng thuật toán decision tree 15 CHƯƠNG 3: 16 3.2 Triển khai thuật toán ID3 với python 16 3.3 … 18 KẾT LUẬN ĐỀ TÀI .19 TÀI LIỆU THAM KHẢO .20 NGUYỄN NHẬT HOÀNG – K24 MCS.1 MỞ ĐẦU Giới thiệu đề tài Trong trình hoạt động, người tạo nhiều liệu nghiệp vụ Các tập liệu tích lũy có kích thước ngày lớn, chứa nhiều thơng tin ẩn dạng quy luật chưa khám phá Chính vậy, nhu cầu đặt cần tìm cách trích rút từ tập liệu luật phân lớp liệu hay dự đoán xu hướng liệu tương lai Những quy tắc nghiệp vụ thông minh tạo phục vụ đắc lực cho hoạt động thực tiễn, phục vụ đắc lực cho q trình nghiên cứu khoa học Cơng nghệ phân lớp dự đoán liệu đời để đáp ứng mong muốn Cơng nghệ phân lớp liệu đã, phát triển mạnh mẽ trước khao khát tri thức người Trong năm qua, phân lớp liệu thu hút quan tâm nhà nghiên cứu nhiều lĩnh vực khác học máy (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ ứng dụng nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Hiện vấn đề liên quan đến máy học ngày phát triển, thời đại liệu công nghệ xử lý liệu lớn mà ngơn ngữ lập trình khác q khó tiếp cận với chun gia tốn học giáo sư Vì đề tài “Tìm hiểu Triển khai thuật tốn Iterative Dichotomiser mơ hình Decision Tree” giúp hiểu mơ hình định Mục tiêu phạm vi nghiên cứu  Mục tiêu - Hiểu mơ hình Decision Tree - Hiểu thuật tốn mơ hình Decision Tree - Tài liệu nghiên cứu lập trình machine learning với ngôn ngữ python  Phạm vi nghiên cứu - Nghiên cứu thuật tốn ID3 - Nghiên cứu ngơn ngữ lập trình python NGUYỄN NHẬT HỒNG – K24 MCS.1 - Nghiên cứu thư viện hỗ trợ python Phương pháp nghiên cứu - Nghiên cứu từ lý thuyết đến thực tiễn chứng minh NGUYỄN NHẬT HOÀNG – K24 MCS.1 CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 1.1 Giới thiệu Học máy 1.2 Phân loại Học máy 1.3 Ứng dụng Học máy   NGUYỄN NHẬT HỒNG – K24 MCS.1 CHƯƠNG 2: TỔNG QUAN VỀ MƠ HÌNH DECISION TREE 2.1 Giới thiệu Decision Tree Trong năm qua, nhiều mơ hình phân lớp liệu nhà khoa học nhiều lĩnh vực khác đề xuất mạng notron, mơ hình thơng kê tuyến tính /bậc 2, định, mơ hình di truyền Trong số mơ hình đó, định với ưu điểm đánh giá công cụ mạnh, phổ biến đặc biệt thích hợp cho data mining nói chung phân lớp liệu nói riêng [1] Có thể kể ưu điểm định như: xây dựng tương đối nhanh; đơn giản, dễ hiểu Hơn dễ dàng chuyển đổi sang câu lệnh SQL để sử dụng để truy nhập sở liệu cách hiệu Cuối cùng, việc phân lớp dựa định đạt tương tự đơi xác so với phương pháp phân lớp khác [2] Cây định biểu đồ phát triển có cấu trúc dạng cây, mơ tả hình vẽ sau: Cây định biểu đồ phát triển có cấu trúc dạng cây, mơ tả hình vẽ sau: Hình 1: Ví dụ định Trong định: • Gốc: node • Node trong: biểu diễn kiểm tra thuộc tính đơn (hình chữ nhật) • Nhánh: biểu diễn kết kiểm tra node (mũi tên) Document continues below Discover more Computer from: Science Trường Đại Học… 30 documents Go to course Solutions Prac 19 Problems Visit Computer Science 100% (2) Ton That Nguyen Hong - good Computer Science None [123doc] - quan-li175 ung-dung-cong-… Computer Science None Hướng dẫn chăm 11 sóc điều trị F0 tại… Computer Science None Khai thác internet mang lại nhiều lợi íc… NGUYỄN NHẬT HỒNG – K24 MCS.1 Computer Science None Computer Science [ • Node lá: biểu diễn lớp hay phân phối lớp (hình trịn) Duy Tan University Để phân lớp mẫu liệu chưa biết, giá trị thuộc41 tính mẫu đưa vào Computer ] kiểm tra định Mỗi mẫu tương ứng có đườngScience từ gốc đến láNone biểu diễn dự đoán giá trị phân lớp mẫu Cây định thuật toán học máy phổ biến mạnh mẽ Đây phương pháp học tập có giám sát khơng tham số sử dụng cho nhiệm vụ phân loại hồi quy Mục tiêu tạo mơ hình dự đốn giá trị biến mục tiêu cách tìm hiểu quy tắc định đơn giản suy từ tính liệu Đối với mơ hình phân loại, giá trị mục tiêu có chất rời rạc, mơ hình hồi quy, giá trị mục tiêu biểu diễn giá trị liên tục Khơng giống loại thuật tốn hộp đen Neural Network, Cây định tương đối dễ hiểu chia sẻ logic định nội Mặc dù thực tế nhiều nhà khoa học liệu tin phương pháp cũ họ nghi ngờ độ xác vấn đề trang bị mức, mơ hình dựa gần hơn, ví dụ: Rừng ngẫu nhiên (phương pháp đóng túi), tăng độ dốc (phương pháp tăng cường ) XGBoost (phương pháp thúc đẩy) xây dựng đỉnh thuật toán định Xây dựng định gồm bước: Bước 1: Phát triển định: từ gốc, đến nhánh, phát triển quy nạp theo hình thức chia để trị - Chọn thuộc tính “tốt” độ đo định trước - Phát triển việc thêm nhánh tương ứng với giá trị thuộc tính chọn - Sắp xếp, phân chia tập liệu đào tạo tới node - Nếu ví dụ phân lớp rõ ràng dừng - Ngược lại: lặp lại bước tới bước cho node Bước 2: Cắt tỉa cây: nhằm đơn giản hóa, khái quát hóa cây, tăng độ xác  Hàm số entropy NGUYỄN NHẬT HỒNG – K24 MCS.1 Cho phân phối xác suất biến rời rạc x nhận n giá trị khác x1,x2,…,xn Giả sử xác suất để x nhận giá trị p i=p(x=xi) với ≤ 𝑖 ≤ Ký hiệu phân phối p=(p1,p2,…,pn) Entropy phân phối định nghĩa (1) Trong log logarit tự nhiên (Một số tài liệu dùng logarit số 2, giá trị H(p) khác cách nhân với số) quy ước 0log(0)=0 2.2 Giới thiệu thuật toán ID3 (Iterative Dichotomiser 3) Trong ID3, tổng có trọng số entropy leaf-node sau xây dựng decision tree coi hàm mát decision tree Các trọng số tỉ lệ với số điểm liệu phân vào node Cơng việc ID3 tìm cách phân chia hợp lý (thứ tự chọn thuộc tính hợp lý) cho hàm mát cuối đạt giá trị nhỏ tốt Như đề cập, việc đạt cách chọn thuộc tính cho dùng thuộc tính để phân chia, entropy bước giảm lượng lớn Bài toán xây dựng decision tree ID3 chia thành toán nhỏ, toán, ta cần chọn thuộc tính giúp cho việc phân chia đạt kết tốt Mỗi toán nhỏ tương ứng với việc phân chia liệu non-leaf node Chúng ta xây dựng phương pháp tính tốn dựa node Xét toán với C class khác Giả sử ta làm việc với non-leaf node với điểm liệu tạo thành tập SS với số phần tử | = Giả sử thêm số N điểm liệu này, Nc, c = 1, 2, …, C điểm thuộc vào class c Xác suất để điểm liệu rơi vào class c xấp xỉ _/ (maximum likelihood estimation) Như vậy, entropy node tính bởi: (2) Tiếp theo, giả sử thuộc tính chọn x Dựa x, điểm liệu S phân thành K child node S1,S2,…,SK với số điểm child node m1,m2,…,mK Ta định nghĩa NGUYỄN NHẬT HỒNG – K24 MCS.1 (3) tổng có trọng số entroy child node–được tính tương tự (2) Việc lấy trọng số quan trọng node thường có số lượng điểm khác Tiếp theo, ta định nghĩa information gain dựa thuộc tính x: G(x, S) = H(S) – H(x, S) Trong ID3, node, thuộc tính chọn xác định dựa trên: 𝑖∗ =( ((, ) = (, ) tức thuộc tính khiến cho information gain đạt giá trị lớn Xây dựng định thuật toán ID3 Bước Bước 1: Tính tốn entropy cho tập liệu Bước 2: Đối với attribute/feature Tính entropy cho tất giá trị khác Entropy(Attribute) Lấy entropy thông tin trung bình cho thuộc tính Tính giá trị trung bình Tính information Gain: Gain = Entropy(S) – I (Attribute) Bước 3: Chọn thuộc tính information Gain cao Bước 4: Lặp lại có mong muốn 2.3 Mơ tả thuật tốn ID3 Ví dụ ta có bảng liệu sau ID Outlook Temperature Humidity Wind PlayGolf High High High High Normal Weak Strong Weak Weak Weak No No Yes Yes Yes Sunny Sunny Overcast Rainy Rainy Hot Hot Hot Mild Cool NGUYỄN NHẬT HOÀNG – K24 MCS.1 Rainy Cool Normal Overcast Cool Normal Sunny Mild High Sunny Cool Normal 10 Rainy Mild Normal 11 Sunny Mild Normal 12 Overcast Mild High 13 Overcast Hot Normal 14 Rainy Mild High Xây dựng định ID3 với bảng liệu Strong Strong Weak Weak Weak Strong Strong Weak Strong No Yes No Yes Yes Yes Yes Yes No Bước 1: Tính entropy cho tập liệu Ta thấy bảng liệu có liệu dán nhãn yes liệu dán nhãn no Bước 2: Tính entropy cho thuộc tính liệu  Chọn thuộc tính Outlook có giá trị “Sunny”, “Overcast”, “Rainy” ta tính entropy cho giá trị NGUYỄN NHẬT HỒNG – K24 MCS.1 Ta thống kê theo thuộc tính Outlook bảng sau: Tính entropy trung bình thuộc tính Outlook Information Gain: Gain = Entropy(S) – I(Attribute) Gain(Outlook) = 0.65 – 0.48 = 0.17  Tiếp tục tính entropy thuộc tính Temperature: “Hot”, “Mild”, “Cool” 10 NGUYỄN NHẬT HỒNG – K24 MCS.1 Tính entropy trung bình thuộc tính Temperature Information Gain: Gain = Entropy(S) – I(Attribute) Gain(Temperature) = 0.65 – 0.631 = 0.019  Tương tự với thuộc tính Humidity (“Normal”, “High”) Wind (“Weak”, “Strong”) là: () = 0.547 () = 0.618 , Gain(Humidity) = 0.102 , Gain(Wind) = 0.032 Bước 3: Ta thấy Information Gain thuộc tính Outlook lớn nên suy thuộc tính Outlook gốc Bước 4: Tiếp tục lặp lại với liệu thuộc tính Outlook để ta tạo mong muốn - Outlook = Overcast 11 NGUYỄN NHẬT HỒNG – K24 MCS.1 Ta thấy giá trị Overcast thuộc tính Outlook tinh khiết mơ hình là: - Outlook = Sunny Ta tính: I(Sunny|Temperature), I(Sunny|Humidity), I(Sunny|Windy) Temperature), Gain(Sunny|Humidity), Gain(Sunny|Windy) Gain(Sunny| 12 NGUYỄN NHẬT HOÀNG – K24 MCS.1 Từ ta định sau - Outlook: Rainy Ta tính: I(Rainy|Temperature), I(Rainy |Humidity), I(Rainy |Windy) Gain(Rainy |Temperature), Gain(Rainy |Humidity), Gain(Rainy |Windy) Ta định hồn thiện sau: 13 NGUYỄN NHẬT HỒNG – K24 MCS.1 2.4 Ưu điểm mơ hình Decision Tree - Cây định dễ hiểu Người ta hiểu mơ hình định sau giải thích ngắn - Việc chuẩn bị liệu cho định không cần thiết Các kỹ thuật khác thường địi hỏi chuẩn hóa liệu, cần tạo biến phụ (dummy variable) loại bỏ giá trị rỗng - Cây định xử lý liệu có giá trị số liệu có giá trị tên thể loại Các kỹ thuật khác thường chuyên để phân tích liệu gồm loại biến Chẳng hạn, luật quan hệ dùng cho biến tên, mạng nơron dùng cho biến có giá trị số - Cây định mơ hình hộp trắng Nếu quan sát tình cho trước mơ hình, dễ dàng giải thích điều kiện logic Boolean 14 NGUYỄN NHẬT HỒNG – K24 MCS.1 Mạng nơ-ron ví dụ mơ hình hộp đen, lời giải thích cho kết phức tạp để hiểu - Có thể thẩm định mơ hình kiểm tra thống kê Điều làm cho ta tin tưởng vào mơ hình - Cây định xử lý tốt lượng liệu lớn thời gian ngắn Có thể dùng máy tính cá nhân để phân tích lượng liệu lớn thời gian đủ ngắn phép nhà chiến lược đưa định dựa phân tích định 2.5 Điều kiện dừng thuật toán decision tree Trong thuật tốn decision tree nói chung ID3 nói riêng, ta tiếp tục phân chia node chưa tinh khiết, ta thu tree mà điểm tập huấn luyện dự đốn (giả sử khơng có hai input giống cho output khác nhau) Khi đó, tree phức tạp (nhiều node) với nhiều leaf node có vài điểm liệu Như vậy, nhiều khả overfitting xảy  Để tránh overfitting, số phương pháp sau sử dụng Tại node, số điều kiện sau xảy ra, ta không tiếp tục phân chia node coi leaf node:  Nếu node có entropy 0, tức điểm node thuộc class  Nếu node có số phần tử nhỏ ngưỡng Trong trường hợp này, ta chấp nhận có số điểm bị phân lớp sai để tránh overfitting Class cho leaf node xác định dựa class chiếm đa số node  Nếu khoảng cách từ node đến root node đạt tới giá trị Việc hạn chế chiều sâu tree làm giảm độ phức tạp tree phần giúp tránh overfitting  Nếu tổng số leaf node vượt ngưỡng  Nếu việc phân chia node khơng làm giảm entropy nhiều (information gain nhỏ ngưỡng đó) Ngồi phương pháp trên, phương pháp phổ biến khác sử dụng để tránh overfitting pruning, tạm dịch cắt tỉa 15 NGUYỄN NHẬT HOÀNG – K24 MCS.1 CHƯƠNG 3: THỰC NGHIỆM THUẬT TOÁN ID3 TRONG MƠ HÌNH DECISION TREE 3.2 Triển khai thuật tốn ID3 với python Dựa vào mơ hình ta sử dụng thư viện sklearn python để triển khai kiểm chứng Đầu tiên gọi đến thư viện cần: import pandas as pd from sklearn.tree import DecisionTreeClassifier Thư viện pandas sử dụng để đọc liệu từ file Thư viện sklearn sử dụng để xây dựng định df = pd.read_csv("weather.csv") y = df.iloc[:, -1] X = df.iloc[:, :-1].values Đọc liệu lên lưu vào y X tương ứng X giá trị y kết để tiến hành train xây dựng định Vì hàm DecisionTreeClassifier sklearn xử lý liệu kiểu số mà liệu ban đầu ta truyển vào ký tự nên cần phải chuyên đổi le = LabelEncoder() for col in df.columns: df[col] = le.fit_transform(df[col]) dtree = DecisionTreeClassifier(criterion='entropy', max_depth=3) dtree.fit(X,y) NGUYỄN NHẬT HOÀNG – K24 MCS.1 Kết ta thu được: Bây ta xây dựng định với giá trị X y với phương thức fit Một số tham số hàm DecisionTreeClassifier Với criterion= “entropy” có nghĩa sử dụng entropy để đưa định Max_depth chiều dài tối đa định Sau train liệu ta tạo tập liệu để kiểm tra sử dụng lại tập liệu cũ để kiểm tra tính xác với phương thức predict [1,1,2,0,0] =>[id = 1, outlook = rainy, temperature = mild, humidity = high, wind = strongs X_new = [[1,1,2,0,0]] print(dtree.predict(X_new)) Kết dự đốn No phân tích outlook = rainy phụ thuộc vào wind Nếu Wind = weak yes, strongs no kết from six import StringIO dot_data = StringIO() graph = (export_graphviz(dtree,out_file=dot_data, class_names=dtree.classes_, filled=True)) Ta sử dụng export_graphviz sklearn.tree để vẽ kết ta định sau: 17 NGUYỄN NHẬT HOÀNG – K24 MCS.1 3.3 … 18 NGUYỄN NHẬT HOÀNG – K24 MCS.1 KẾT LUẬN ĐỀ TÀI - Đã tìm hiểu mơ hình Decision Tree - Hiểu thuật tốn ID3 CART mơ hình Decision Tree - Sử dụng thư viện pandas, sklearn, matplotlib ngơn ngữ lập trình python - Hiểu điểm mạnh ngôn ngữ python việc hỗ trợ lập trình tốn khó - Tài liệu nghiên cứu lập trình machine learning với ngơn ngữ python 19 NGUYỄN NHẬT HOÀNG – K24 MCS.1 TÀI LIỆU THAM KHẢO [1] John Shafer, Rakesh Agrawal, Manish Mehta SPRINT- A Scalable Paralllel Classifier for Data mining In Predeeings of the 22nd International Conference on Very Large Database, India, 1996 [2] Mohammed J Zaki, Ching-Tien Ho, Rekesh Agrawal Parallel Classification for Data Mining on Shared-Memory Multiprocessors IVM Almaden Research Center, San Jose, CA 95120 [3] https://scikit-learn.org/ [4] https://machinelearningcoban.com/2018/01/14/id3/#-gioi-thieu 20

Ngày đăng: 19/12/2023, 15:19

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

TÀI LIỆU LIÊN QUAN

w