Chuyên đề học phần nhập môn học máy đề ti ứng dụng thuật toán cây quyết định (decision tree) dự đoán khả năng cháy rừng

23 14 2
Chuyên đề học phần nhập môn học máy đề ti ứng dụng thuật toán cây quyết định (decision tree) dự đoán khả năng cháy rừng

Đ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

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN HỌC MÁY ĐỀ TI: Ứng dụng thuật toán Cây định (Decision Tree) dự đoán khả cháy rừng Sinh viên thực : Nguyễn Ngọc Vương 20810310279 : Trần Hoàng Trung -20810310271 Giảng viên hướng dẫn : Thầy Hoàng Văn Quý Ngành : Công nghệ thông tin Chuyên ngành : Công nghệ phần mềm Lớp : D15CNPM2 Khóa : 2020 - 2025 Hà Nội, tháng 05 năm 2023 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: ST T Họ tên sinh viên Nguyễn Ngọc Vương 20810310279 Nội dung thực Điểm Chữ ký Trần Hoàng Trung 20810310271 Giảng viên chấm: Họ tên Giảng viên chấm : Giảng viên chấm : Chữ ký Ghi MỤC LỤC LỜI NÓI ĐẦU .1 CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY .2 1.1 Khái niệm học máy 1.1.2 Ứng dụng học máy .2 1.2 Các kỹ thuật phương pháp Machine Learning 1.3 Ứng dụng học máy CHƯƠNG 2: THUẬT TOÁN DECISION TREE TRONG BÀI TOÁN PHÂN LỚP .5 2.1 Tổng quan thuật toán Decision Tree 2.2 Thuật toán Decision Tree 2.3 Ưu/ nhược điểm thuật toán Decision Tree: CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN DECISION TREE 3.1 Dữ liệu cháy rừng .9 3.1.1 Phát biểu toán 3.1.2 Yêu cầu 3.1.3 Bộ liệu 3.2 Xây dựng mô hình dự đốn 10 3.3 Kết thực nghiệm 13 KẾT LUẬN .20 TÀI LIỆU THAM KHẢO 21 DANH MỤC HÌNH ẢNH Hình 2.1: Ví dụ định tốn chơi golf .5 Hình 3.1: Dữ liệu cụ thể 10 Hình 3.2: Kết thực nghiệm 18 LỜI NĨI ĐẦU Trong thời đại cơng nghệ phát triển ngày nhanh, trí tuệ nhân tạo áp dụng rộng rãi trở nên ngày quan trọng giải vấn đề sống Một thuật ngữ "machine learning" thu hút nhiều quan tâm Phương pháp cho phép máy tính tự động học hỏi từ liệu đầu vào thực tác vụ cách hiệu Việc phát triển áp dụng trí tuệ nhân tạo địi hỏi kiến thức tốn học lập trình, nhiên, với xuất machine learning, công việc dễ dàng nhiều Điều khiến cho machine learning trở nên ngày quan trọng trọng nhiều Do đó, em chọn đề tài "Ứng dụng thuật toán Cây định (Decision Tree) để dự đoán khả cháy rừng" để nghiên cứu Em cảm ơn thầy Hoàng Văn Quý, giáo viên trực tiếp giảng dạy môn "Nhập môn học máy", giúp em hoàn thành báo cáo Tuy nhiên, thời gian có hạn để làm báo cáo chuyên đề, em nhận thấy nhiều hạn chế thiếu sót nghiên cứu Em mong nhận góp ý thầy bạn để báo cáo hoàn thiện tốt Em xin chân thành cảm ơn CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 1.1 Khái niệm học máy Học máy (Machine learning) lĩnh vực Trí tuệ nhân tạo (Artificial Intelligence) sử dụng thuật tốn cho phép máy tính học từ liệu để thực cơng việc thay lập trình cách rõ ràng, cung cấp cho hệ thống khả tự động học hỏi cải thiện hiệu suất, độ xác dựa kinh nghiệm từ liệu đầu vào Học máy tập trung vào việc phát triển phần mềm, chương trình máy tính truy cập vào liệu tận dụng nguồn liệu để tự học Học máy đòi hỏi đánh giá người việc tìm hiểu liệu sở lựa chọn kĩ thuật phù hợp để phân tích liệu Đồng thời, trước sử dụng, liệu phải sạch, sai lệch khơng có liệu giả Các mơ hình học máy u cầu lượng liệu đủ lớn để “huấn luyện” đánh giá mơ hình Trước đây, thuật toán học máy thiếu quyền truy cập vào lượng lớn liệu cần thiết để mô hình hóa mối quan hệ liệu Sự tăng trưởng liệu lớn (big data) cung cấp thuật toán học máy với đủ liệu để cải thiện độ xác mơ hình dự đoán 1.1.2 Ứng dụng học máy Nhiều hoạt động hàng ngày trợ giúp thuật toán machine learning, bao gồm: Trong y tế: xác định bệnh lý người bệnh dựa liệu lịch sử bệnh nhân có bệnh lý có đặc điểm chữa khỏi trước đây, hay xác định loại thuốc phù hợp Trong lĩnh vực ngân hàng: xác định khả khách hàng chậm trả khoản vay rủi ro tín dụng nợ xấu dựa phân tích Credit score; xác định xem liệu giao dịch có hành vi phạm tội, lừa đảo hay khơng •Trong giáo dục: phân loại học sinh theo hoàn cảnh, học lực để xem xem cần hỗ trợ cho học sinh ví dụ hồn cảnh sống khó khăn học lực lại tốt Trong thương mại điện tử: phân loại khách hàng theo sở thích cụ thể để hỗ trợ personalized marketing hay xây dựng hệ thống khuyến nghị, dựa liệu từ website, social media 1.2 Các kỹ thuật phương pháp Machine Learning Các mô hình Machine Learning thuật tốn phương pháp sử dụng để xây dựng mơ hình học máy để dự đoán phân loại liệu Dưới số mơ hình phổ biến Machine Learning:  Regression (Hồi quy): Mơ hình dùng để dự đốn giá trị số (numeric value), ví dụ giá tiền, nhiệt độ, số lượng sản phẩm Các mơ hình hồi quy phổ biến bao gồm Linear Regression, Polynomial Regression, Regression Tree  Classification (Phân loại): Mơ hình dùng để phân loại mục tiêu vào nhóm khác Ví dụ, phân loại email vào hộp thư rác hay thư Các mơ hình phân loại phổ biến bao gồm Decision Tree, Random Forest, Naive Bayes  Clustering (Phân cụm): Mơ hình dùng để phân chia liệu không gán nhãn vào cụm (clusters) khác Các mơ hình phân cụm phổ biến bao gồm K-Means Clustering, Hierarchical Clustering, DBSCAN  Deep Learning (Học sâu): Mơ hình sử dụng nhiều lớp neural network (mạng nơ-ron) để học dự đoán liệu Deep Learning sử dụng nhiều ứng dụng nhận dạng giọng nói, nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên  Ensemble Learning (Học bộ): Mơ hình kết hợp nhiều mơ hình học máy khác để đưa kết dự đốn xác Ensemble Learning phổ biến bao gồm Bagging, Boosting Stacking  Reinforcement Learning (Học tăng cường): Mơ hình học từ tương tác hệ thống môi trường để đưa hành động tối ưu Reinforcement Learning sử dụng nhiều ứng dụng trò chơi điện tử, robot tự động, xe tự hành 1.3 Ứng dụng học máy Nhiều hoạt động hàng ngày trợ giúp thuật toán machine learning, bao gồm:  Trong y tế: xác định bệnh lý người bệnh dựa liệu lịch sử bệnh nhân có bệnh lý có đặc điểm chữa khỏi trước hay xác định loại thuốc phù hợp Recommandé pour toi 16 Suite du document ci-dessous UCSP Module 12 - asdasd Society and Culture (with Family Planning) Humanities Art Appreciation 100% (1) Câu 151 - 179 - Câu 151 - 179 mơn kế tốn tài doanh nghiệp Quản lý tài 100% (1)  Trong lĩnh vực ngân hàng: xác định khả khách hàng chậm trả khoản vay rủi ro tín dụng nợ xấu dựa phân tích Credit score; xác định xem liệu giao dịch có hành vi phạm tội, lừa đảo hay không  Trong giáo dục: phân loại học sinh theo hoàn cảnh, học lực để xem xem cần hỗ trợ cho học sinh ví dụ hồn cảnh sống khó khăn học lực lại tốt  Trong thương mại điện tử: phân loại khách hàng theo sở thích cụ thể để hỗ trợ personalized marketing hay xây dựng hệ thống khuyến nghị, dựa liệu từ website, social media  Trong kinh tế nói chung: giúp dự báo kiện kinh tế tương lai, dự báo tình hình thời tiết nông nghiệp, xác định xu hướng thị trường chứng khốn để lên kế hoạch đầu tư thích hợp CHƯƠNG 2: THUẬT TOÁN DECISION TREE TRONG BI TOÁN PHÂN LỚP 2.1 Tổng quan thuật toán Decision Tree Cây định dùng để đưa tập luật if – then nhằm mục đích dự báo, giúp người nhận biết tập liệu Cây định cho phép phân loại đối tượng tùy thuộc vào điều kiện nút cây, gốc tới nút sát lá- Nút xác định phân loại đối tượng Mỗi nút xác định điều kiện thuộc tính mơ tả đối tượng Mỗi nhánh tương ứng với điều kiện: Nút (thuộc tính) giá trị Đối tượng phân loại nhờ tích hợp điều kiện nút gốc thuộc tính mơ tả với giá trị thuộc tính đối tượng Hình 2.1: Ví dụ định tốn chơi golf Thuật toán Decision Tree bắt đầu cách chọn thuộc tính tốt để chia tập liệu ban đầu thành tập đơn giản Quá trình tiếp tục đến chia tập liệu thành tập điều kiện dừng đặt Các ứng dụng thuật toán Decision Tree rộng rãi, bao gồm phân loại toán Machine Learning, dự đoán kết kiện, nhận dạng số đối tượng, toán Business Intelligence Decision Tree xem phương pháp phân loại đơn giản hiệu 2.2 Thuật toán Decision Tree Xét bảng liệu T = (A, D) A = {A1, A2, , An} tập thuộc tính dẫn xuất, D = {r1, r2, , rn} thuộc tính mục tiêu Vấn đề đặt tập thuộc tính A ta phải chọn thuộc tính để phân hoạch? Một phương pháp dựa vào độ lợi thơng tin Hay cịn gọi thuật giải ID3 Lựa chọn chủ yếu giải thuật ID3 chọn thuộc tính để đưa vào nút Ta chọn thuộc tính phân rã tập mẫu tốt Thước đo độ tốt việc chọn lựa thuộc tính gì? Ta cần xác định độ đo thống kê, gọi thông tin thu được, đánh giá thuộc tính chọn tốt phụ thuộc vào việc phân loại mục tiêu tập mẫu ID3 sử dụng thông tin thu đánh giá để chọn thuộc tính cho bước thuộc tính ứng viên, q trình phát triển Để đánh giá xác thơng tin thu được, dùng Entropy(S): Độ bất định (độ pha trộn/độ hỗn tạp) S liên quan đến phân loại xét Trong pi xác suất xuất trạng thái i hệ thống Theo lý thuyết thông tin: mã có độ dài tối ưu mã gán –log p bits cho thơng điệp có xác suất p S tập huấn luyện Nếu gọi p+ xác suất xuất ví dụ dương tập S, p - xác suất xuất ví dụ âm tập S Entropy đo độ bất định tập S là: Entropy(S) = -p+ log2 p+ - p- log2 pQuy định 0.log = Chẳng hạn với tập S gồm 11 mẫu có chung vài giá trị logic gồm mẫu dương mẫu âm Khi đại lượng Entropy tập S liên quan đến phân loại logic là: Entropy ([7+, 4-]) = IE(S) = -7/11 log2(7/11) – 4/11 log2(4/11) = 0.94 Chú ý: Đại lượng Entropy = tất thành viên tập S thuộc lớp (vì tất dương (P+ = 1), P- = 0, Entropy(S) = log2 log2 0) Đại lượng Entropy(S) = tập S chứa tỉ lệ tập mẫu âm mẫu dương Nếu tập S chứa tập mẫu âm tập mẫu dương có tỉ lệ P+ khác Pthì Entropy(S) ∈ (0,1) Dựa xác định entropy, ta tính Gain (S, A) = Lượng giảm entropy mong đợi qua việc chia ví dụ theo thuộc tính A 2.3 Ưu/ nhược điểm thuật tốn Decision Tree:  Ưu điểm: Cây định thuật toán đơn giản phổ biến Thuật toán sử dụng rộng rãi với lợi ích 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  Dữ liệu đầu vào là liệu missing, 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ó 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: Kèm với đó, định có nhược điểm cụ thể:  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 hoàn toàn  Cây định hay gặp vấn đề overfitting (Overfitting tượng mơ hình ghi nhớ tốt liệu huấn luyện phụ thuộc vào nó, việc khiến cho mơ hình khơng thể tổng quát hóa quy luật để hoạt động với liệu chưa chứng kiến) CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN DECISION TREE 3.1 Dữ liệu cháy rừng 3.1.1 Phát biểu toán Bài toán dự đoán khả cháy rừng: - Giá trị input: thông tin đặc điểm vụ cháy (độ ẩm, tọa độ, vật liệu cháy, diện tích cháy, …) - Giá trị output: khả phát sinh cháy rừng 3.1.2 Yêu cầu - Lấy liệu mô tả đặc điểm vụ cháy rừng - Trích chọn đặc trưng từ tập liệu lấy - Xử lý, làm liệu - Tiến hành train/ test model - Dữ liệu hóa đồ thị 3.1.3 Bộ liệu Bộ liệu bao gồm yếu tố ảnh hưởng tỉ lệ phát sinh cháy rừng, bao gồm:  FFMC (Fine Fuel Moisture Code): Đây số độ ẩm vật liệu dễ cháy rơm, cỏ Nó thể độ ẩm tối thiểu cần thiết để chất cháy trở nên dễ cháy  DMC (Duff Moisture Code): Là số độ ẩm tầng hữu khu rừng Tầng bao gồm loại vật liệu rụng, cành khô, vv  DC (Drought Code): Là số báo hiệu độ khô cằn đất Chỉ số tính dựa lượng nước tồn đọng tầng đất sâu  ISI số độ bén gỗ môi trường xung quanh  Temp: Nhiệt độ khu vực quan sát, thường đo độ C độ F  RH (Relative Humidity): Độ ẩm tương đối khơng khí, thể mối liên hệ hàm lượng nước khơng khí hàm lượng nước tối đa mà khơng khí chứa  Wind: Tốc độ gió đo đơn vị đo lường km/h, m/s, vv  Rain: Lượng mưa tích lũy ngày đo đơn vị đo lường mm Hình 3.1: Dữ liệu cụ thể 3.2 Xây dựng mơ hình dự đốn import pandas as pd import numpy as np from sklearn.tree import DecisionTreeClassifier, plot_tree from sklearn.metrics import classification_report, accuracy_score from sklearn.metrics import mean_absolute_error from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import seaborn as sns df = pd.read_csv("/content/drive/MyDrive/forestfires/forestfires(1).csv") df.describe() df.head() df.shape df.info() df = df.drop(['X', 'Y','month', 'day','area'], axis=1) df.columns df = df.drop(['X', 'Y', 'FFMC', 'DMC', 'ISI'], axis=1) df.columns plt.figure(figsize=(10,10)) corr= df.corr() sns.heatmap(corr,annot=True) X = df.drop(['fires'], axis=1) y = df['fires'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=42) tree = DecisionTreeClassifier() tree.fit(X_train, y_train) pred = tree.predict(X_test) acc = tree.score(X_test, y_test) print("Acurray on test set: {:.2f}%".format(acc*100)) import graphviz from sklearn.tree import export_graphviz import pydotplus plt.figure(figsize=(200,200)) filename = 'fires_tree.png' featureNames = df.columns[:-1] targetNames = ['no','yes'] dot_data = export_graphviz(tree, feature_names=featureNames, class_names=targetNames, filled=True) graph = pydotplus.graph_from_dot_data(dot_data) graph.write_png(filename) # Hiển thị ảnh from IPython.display import Image Image(graph.create_png()) fi = pd.DataFrame(tree.feature_importances_*100, X_test.columns, columns=['Importance']) fi.sort_values(by='Importance',ascending=False, inplace=True) fi zeros = np.array(fi[fi['Importance'] 145 => dự đoán yes Số liệu node cha tổng số liệu node con, 20 + 290 = 310 KẾT LUẬN  Kết đạt Sau thời gian nghiên cứu bắt tay vào thực hiện, với mong muốn xây dựng mơ hình dự đốn, quan tâm hướng dẫn tận tình thầy Hoàng Văn Quý, em bước đầu hoàn thành đề tài: “Ứng dụng thuật toán Cây định (Decision Tree) dự đoán khả cháy rừng” Kết đạt được:  Tìm hiểu học máy tốn học máy  Tìm hiểu thuật toán phân lớp Cây định (Decision Tree)  Xây dựng mơ hình dự đốn Vì thời gian triển khai có hạn, việc tìm hiểu cơng nghệ cịn gặp nhiều khó khăn khơng có nhiều tài liệu nên khơng tránh sai sót Em mong nhận đóng góp kiến hướng dẫn thầy cô để đồ án thêm hoàn chỉnh Em xin chân thành cảm ơn!  Hướng phát triển Với mục đích ngày hồn thiện để đáp ứng tốt cho việc tin học hóa quản lý đào tạo khóa học ngắn hạn, tương lai chúng em cố gắng tìm hiểu kỹ hơn, sâu hơn, cố gắng hoàn thành tốt đề tài TI LIỆU THAM KHẢO [1] Đinh Mạnh Tưởng, Học máy kỹ thuật nâng cao, NXB Đại học Quốc Gia Hà Nội, 2015 [2] Christopher M Bishop, Pattern Recognition and Machine Learning, Springer, 2006 [3] Davide Chicco, Giuseppe Jurman: “Machine learning can predict survival of patients with heart failure from serum creatinine and ejection fraction alone” BMC Medical Informatics and Decision Making 20, 16 (2020)

Ngày đăng: 13/06/2023, 14:30

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan