Xây dựng mô hình phân lớp (classification model) bằng cây quyết định trong weka
Khai phá liệu GVHD: Hồ Nhật Quang Lời nói đầu Sự phát triển công nghệ thông tin việc ứng dụng công nghệ thông tin nhiều lĩnh vực đời sống, kinh tế xã hội nhiều năm qua đồng nghĩa với lượng liệu quan thu thập lưu trữ ngày tích luỹ nhiều lên Họ lưu trữ liệu cho ẩn chứa giá trị định Mặt khác, môi trường cạnh tranh, người ta ngày cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc định ngày có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa khối lượng liệu khổng lồ có Với lý vậy, phương pháp quản trị khai thác sở liệu truyền thống ngày không đáp ứng thực tế làm phát triển khuynh hướng kỹ thuật Kỹ thuật phát tri thức khai phá liệu Khai phá liệu nghiên cứu, ứng dụng nhiều lĩnh vực khác nước giới, Việt Nam kỹ thuật tương đối mẻ nhiên nghiên cứu dần đưa vào ứng dụng Khai phá liệu bước qui trình phát tri thức gồm có thuật toán khai thác liệu chuyên dùng số qui định hiệu tính toán chấp nhận để tìm mẫu mô hình liệu Nói cách khác, mục đích phát tri thức khai phá liệu tìm mẫu và/hoặc mô hình tồn sở liệu bị che khuất hàng núi liệu Trong viết này, em trình bày cách tổng quan Kỹ thuật khai phá liệu Trên sở đưa toán dự báo khả chơi thể thao dựa vào thời tiết giải toán phương pháp phân lớp nhằm cung cấp cho bạn đọc cách nhìn khái quát kỹ thuật mối tương quan với phương pháp thống kê truyền thống Trang Khai phá liệu GVHD: Hồ Nhật Quang Mô tả toán Trong tập này, em xây dựng mô hình phân lớp (Classification Model) định weka Dữ liệu dùng ví dụ file weather.arff có thuộc tính Outlook, Temperature, Humidity, Windy thuộc tính phân loại Play có giá trị Yes No Đây liệu mô tả khả có đến sân để chơi thể thao (tennis chẳng hạn) hay người chơi thể thao phụ thuộc vào thời tiết Vấn đề đặt với thời tiết vậy, người chơi tennis có đến sân để chơi hay không ? Việc dự đoán giúp cho người quản lý sân giảm nhiều chi phí quản lý sân điều chỉnh (tăng giảm) số nhân viên phục vụ dịch vụ khác nhằm phục vụ tốt nhu cầu người chơi tennis Bằng cách sử dụng WEKA để thực thi định ,chúng ta xây dựng công cụ hỗ trợ yêu cầu dựa vào liệu khách quan thu thập trước Chơi Tennis Outlook Temperature WEKA Humidity Decision Tree Windy Không chơi Tennis Mục đích: Sử dụng định giúp cho người quản lý dự đoán khả đến sân chơi tennis khách hàng tùy theo Tiền xử lý liệu Trong qui trình khai phá liệu, công việc xử lý liệu trước đưa vào mô hình cần thiết, bước làm cho liệu có ban đầu qua thu thập liệu (gọi Trang Khai phá liệu GVHD: Hồ Nhật Quang liệu gốc ordinal data) áp dụng (thích hợp) với mô hình khai phá liệu (data mining model) cụ thể Các công việc cụ thể tiền xử lý liệu bao gồm công việc như: - 2.1 Filtering Attributes: Chọn thuộc tính phù hợp với mô hình Filtering samples: Lọc mẫu (instances, patterns) liệu cho mô hình Clean data: Làm liệu xóa bỏ liệu bất thường (Outlier) Transformation: Chuyển đổi liệu cho phù hợp với mô chuyển đổi liệu từ numeric qua nomial hay ordinal Discretization (rời rạc hóa liệu): Nếu bạn có liệu liên tục vài mô hình áp dụng cho liệu rời rạc (như luật kết hợp chẳn hạn) bạn phải thực việc rời rạc hóa liệu Trích chọn thuộc tính Trích chọn thuộc tính nhiệm vụ quan trọng giai đoạn tiền xử lý liệu triển khai mô hình khai phá liệu Một vấn đề gặp phải dataset dùng để xây dựng Data mining Models thường chứa nhiều thông tin không cần thiết cho việc xây dựng mô hình Chẳng hạn, dataset gồm hàng trăm thuộc tính dùng để mô tả khách hàng doanh nghiệp thu thập, nhiên xây dựng Data mining model cần khoảng 50 thuộc tính từ hàng trăm thuộc tính Nếu ta sử dụng tất thuộc tính (hàng trăm) khách hàng để xây dựng mô hình ta cần nhiều CPU, nhiều nhớ trình Training model, chí thuộc tính không cần thiết làm giảm độ xác mô hình gây khó khăn việc phát tri thức Các phương pháp trích chọn thuộc tính thường tính trọng số (score) thuộc tính sau chọn thuộc tính có trọng số tốt để sử dụng cho mô hình Các phương pháp cho phép bạn hiệu chỉnh ngưỡng (threshold) để lấy thuộc tính có Score ngưỡng cho phép Quá trình trích chọn thuộc tính thực trước trình Training Model Một số phương pháp chọn thuộc tính (Feature Selection Methods) Có nhiều phương pháp để lựa chọn thuộc tính tùy thuộc vào cấu trúc liệu dùng cho mô hình thuật toán dùng để xây dựng mô hình Sau số phương pháp phổ biến dùng trích chọn thuộc tính: - Interestingness score: Được sử dụng để xếp hạng (rank) thuộc tính thuộc tính có kiểu liệu liên tục (continuous) - Shannon's Entropy: Được sử dụng liệu kiểu rời rạc (discretized data) Trang Khai phá liệu - GVHD: Hồ Nhật Quang Ngoài có số phương pháp khác thường sử dụng lựa chọn thuộc tính Bayesian with K2 Prior, Bayesian Dirichlet Equivalent with Uniform Prior Trích chọn thuộc tính với phần mềm WeKa Dataset dùng file định dạng chuẩn weka Weather.arff Khởi động Weka > Chọn Explorer > Chọn Open file > Chọn Dataset “Weather.arff“ kết sau: - Chọn Tab “Select attributes” Trong mục Attribute Evaluator chọn WrapperSubsetEval Trong mục Search Method chọn GreedyStepwise Chon Tab “Classify”: Trong mục classifier chọn NaiveBayes Bấm Start để thực hiện, kết sau: Trang Khai phá liệu GVHD: Hồ Nhật Quang Vậy thuộc tính chọn là: outlook, temperature, humidity, windy play ( quang cảnh, nhiệt độ, độ ẩm, gió, chơi) 2.2 Chuẩn hóa liệu - Chuyển kiểu liệu thuộc tính temperature thành kiểu Nominal với giá trị tương ứng cool(temperature ≤ 70.0), mild (70.0 < temperature [...]... J48 để xây dựng cây với các tham số đầu vào khác nhau ta thấy ứng với lần chạy thứ 5 với các tham số lựa chọn là : bộ dữ liệu dùng khởi tạo cây 40 %, bộ dữ liệu test là 60% đạt được tỉ lệ phân lớp chính xác là 62,5% Số lượng mẫu test không quá bé Nên ta chọn cây quyết định sinh ra tại lần chạy thứ 5 để sử dụng cho các mẫu thử bất kỳ sau này Sau quá trình thực hành tạo cây quyết định trên WEKA bằng thuật... 5: If outlook = “rainy” and windy = FALSE then Play =”yes” Đọc cây quyết định: Trang 12 Khai phá dữ liệu GVHD: Hồ Nhật Quang Tương tự với các trường hợp còn lại Trang 13 Khai phá dữ liệu GVHD: Hồ Nhật Quang b Phương pháp Percentage split: Cho biết tỉ lệ phân chia là bao nhiêu % thì đạt hiệu quả phân lớp cao nhất - Lần thứ nhất: với tỉ lệ phân chia là 66% thì ta có kết quả như sau: === Evaluation on... windy = TRUE: no (2.0) | windy = FALSE: yes (3.0) - Số lượng lá: 5 - Kích thước cây: 8 - Thời gian tiến hành: 0 giây Tóm tắt kết quả xác nhận phân lớp: - Trường hợp phân lớp chính xác: 7 chiếm 50% - Trường hợp không chính xác: 7 chiếm 50% - Các thống kê lỗi Trang 11 Khai phá dữ liệu GVHD: Hồ Nhật Quang Kết quả hiển thị cây như sau: Các luật được sinh ra: Rule 1: If outlook = “sunny” and humidity =... Run Information: Cho biết thông tin về dữ liệu nguồn - Đề án sử dụng: weka. classifiers.trees.J48 -C 0.25 -M 2 - Cơ sở dữ liệu: weather.symbolic - Số trường: 14 - Số thuộc tính: 5 outlook temperature humidity windy play - Chế độ kiểm tra: 10-fold cross-validation Vùng hiển thị kết quả trainning: - Chế độ phân lớp: toàn bộ dữ liệu - Cây J48 sau khi tiến hành trainning: outlook = sunny | humidity = high:... quyết định sinh ra tại lần chạy thứ 5 để sử dụng cho các mẫu thử bất kỳ sau này Sau quá trình thực hành tạo cây quyết định trên WEKA bằng thuật toán J48 (C4.5) ta có thể hình dung được quá trình khởi tạo và hoạt động của một cây quyết định như sau: Trang 19 Khai phá dữ liệu GVHD: Hồ Nhật Quang Trang 20 ... GVHD: Hồ Nhật Quang Lần thứ 4: tỉ lệ phân chia là 50% Correctly Classified Instances Incorrectly Classified Instances 4 3 Trang 17 57.1429 % 42.8571 % Khai phá dữ liệu - GVHD: Hồ Nhật Quang Lần thứ 5: tỉ lệ phân chia là 40% Correctly Classified Instances Incorrectly Classified Instances 5 3 Trang 18 62.5 % 37.5 % Khai phá dữ liệu - GVHD: Hồ Nhật Quang Lần thứ 6: tỉ lệ phân chia là 35% Correctly Classified... Instances 2 3 Trang 14 40 60 % % Khai phá dữ liệu - GVHD: Hồ Nhật Quang Lần thứ 2: tỉ lệ phân chia là 70% thì kết quả thu được là: === Evaluation on test split === === Summary === Correctly Classified Instances Incorrectly Classified Instances 1 3 Trang 15 25 75 % % Khai phá dữ liệu - GVHD: Hồ Nhật Quang Lần thứ 3: tỉ lệ phân chia là 60% thì kết quả là: Correctly Classified Instances Incorrectly Classified ... Quang Mô tả toán Trong tập này, em xây dựng mô hình phân lớp (Classification Model) định weka Dữ liệu dùng ví dụ file weather.arff có thuộc tính Outlook, Temperature, Humidity, Windy thuộc tính phân. .. để xây dựng định Giới thiệu định Cây định (Decision Tree) 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 (series of rules) Các thuộc tính đối tượng (ngoại trừ thuộc tính phân. .. xử lý liệu triển khai mô hình khai phá liệu Một vấn đề gặp phải dataset dùng để xây dựng Data mining Models thường chứa nhiều thông tin không cần thiết cho việc xây dựng mô hình Chẳng hạn, dataset