TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm weka khai phá bộ dữ liệu Zoo thực hiện bài toán phân lớp

27 973 9
TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm weka khai phá bộ dữ liệu Zoo thực hiện bài toán phân lớp

Đ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

TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU Đề bài: Sử dụng phần mềm weka khai phá bộ dữ liệu Zoo thực hiện bài toán phân lớp Giảng viên hướng dẫn: Hồ Nhật Quang Họ và tên sinh viên: Nguyễn Thị Lan Anh Lớp : Công nghệ phần mềm 6 I.Tìm hiểu công cụ Weka dùng trong khai phá dữ liệu: 1. Giới thiệu: Weka là môi trường thử nghiệm khai phá dữ liệu do các nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới. Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho mọi người tìm hiểu về khai phá dữ liệu. Weka còn cho phép các giải thuật học mới phát triển có thể tích hợp vào môi trường của nó. Hệ thống được viết bằng java. Nó chạy được hầu hết trên tất cả hệ điều hành. Weka cung cấp nhiều giải thuật khác nhau với nhiều phương thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào. Weka cung cấp những tính năng chính sau: + Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá. + Giao diện đồ họa người dùng (trực quan hóa dữ liệu). + Môi trường để so sánh các giải thuật học. Bạn có thể xử lý trước tập dữ liệu, cho vào trong một sơ đồ, và phân chia các lớp kết quả và thực hiện nó mà không cần viết bất cứ một chương trình nào. Weka lấy dữ liệu từ các file có định dạng .arff, nó được phát sinh từ một file hoặc một bảng cơ sở dữ liệu. 2. Cài đặt chương trình: - Link download: http://www.cs.waikato.ac.nz/ml/weka/ - Sau khi Download chương trình Weka về, bạn tiến hành cài đặt theo các bước: 2.1 Chạy file setup: 2.2 Chọn Next: 2.3 Chọn I Agree:

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN *********** TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU Đề bài: Sử dụng phần mềm weka khai phá liệu Zoo thực toán phân lớp Giảng viên hướng dẫn: Hồ Nhật Quang Họ tên sinh viên: Lớp : Nguyễn Thị Lan Anh Công nghệ phần mềm Tiểu luận môn khai phá liệu [Pick the date] I.Tìm hiểu cơng cụ Weka dùng khai phá liệu: Giới thiệu: Weka môi trường thử nghiệm khai phá liệu nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng đóng góp nhiều nhà nghiên cứu giới Weka phần mềm mã nguồn mở, cung cấp công cụ trực quan sinh động cho người tìm hiểu khai phá liệu Weka cho phép giải thuật học phát triển tích hợp vào mơi trường Hệ thống viết java Nó chạy hầu hết tất hệ điều hành Weka cung cấp nhiều giải thuật khác với nhiều phương thức cho trình xử lý để ước lượng kết sơ đồ cho liệu Weka cung cấp tính sau: + Bao gồm nhiều công cụ đa dạng để thay đổi tập liệu, xử lý liệu, giải thuật học phương pháp đánh giá + Giao diện đồ họa người dùng (trực quan hóa liệu) + Mơi trường để so sánh giải thuật học Bạn xử lý trước tập liệu, cho vào sơ đồ, phân chia lớp kết thực mà khơng cần viết chương trình Weka lấy liệu từ file có định dạng arff, phát sinh từ file bảng sở liệu Cài đặt chương trình: - Link download: http://www.cs.waikato.ac.nz/ml/weka/ - Sau Download chương trình Weka về, bạn tiến hành cài đặt theo bước: 2.1 Chạy file setup: Page Tiểu luận môn khai phá liệu 2.2 Chọn Next: [Pick the date] 2.3 Chọn I Agree: 2.4 Chọn Next: Page Tiểu luận môn khai phá liệu 2.5 Chọn Next: [Pick the date] 2.6 Chọn Next: 2.7 Click chọn Install để tiến hành cài đặt: Page Tiểu luận môn khai phá liệu 2.8 Kết thúc trình cài đặt: [Pick the date] Giao Diện chương trình: Hình 1: Giao diện Weka Các thành phần chương trình: Trong phần Application có phần: • Explorer: Sử dụng Menu lựa chọn Explorer sử dụng cho liệu vừa nhỏ (tập chung vào phần này) • Experimenter: Cho phép người dùng thực tập : Cho phép người dùng thực tập ứng dụng phân lớp kĩ thuật hồi quy, với cơng việc có giá trị, phương pháp tham số tốt cho vấn đề cho • KnowledgeFlow: cho phép người dùng kéo thả hộp tượng trưng cho giải thuật liệu để kết nối chúng lại với đưa cấu trúc • Simple CLI:Sử dụng câu lệnh Page Tiểu luận môn khai phá liệu [Pick the date] Hình 2: Màn hình giao diện Explorer 3.1 Chức Tab: Preprocess: Tiền xử lý liệu Classify: Để huấn luyện kiểm tra mơ hình học máy (phân loại, hồi quy/dự đoán) Cluster: Tạo phân cụm cho sở liệu Associate: Tạo luật kết hợp cho liệu đánh giá chúng Select attributes: Lựa chọn thuộc tính liên quan tập liệu Visualize: Nhìn thấy khác hai chiều liệu tuơng tác chúng Chúng ta vào tìm hiểu số tab: 3.2 Preprocess: ( Đưa liệu vào) Tab Preprocess có nút: i) Nút : Mở file liệu có sẵn máy ii) Nút : Mở file từ máy khác iii) Nút : Đọc liệu từ sở liệu iv) Nút : Phần mềm tự tạo liệu cho bạn theo lựa chọn bạn - Sử dụng nút bạn đọc tập tin nhiều định dạng như: định dạng ARFF, định dạng CSV… - Cách chuyển liệu dạng file csv tìm hiểu “Vài hướng dẫn Weka” Link: http://10hc.info/showthread.php?994-10HCB-_V%E0i-hng-dn-v-Weka! Page Tiểu luận môn khai phá liệu - Ở chọn Dataset: zoo [Pick the date] Link: http://archive.ics.uci.edu/ml/datasets/Zoo Sau chuyển sang file csv, ta có hình giao diện sau: 3.3 Tab preprocess: Trong cửa sổ Preprocess có vùng: 3.1.1.Vùng Filter: Cho bạn biết giải thuật dùng để tiền xử lý liệu sử dụng Bạn thay đổi giải thuật cách click vào button 3.1.2.Vùng Current Relation (Các mối quan hệ tại) Page Tiểu luận mơn khai phá liệu • • • • [Pick the date] Relation (Quan hệ): Cho biết tên bảng liệu Instances (Trường hợp): Số lượng ghi Attributes (Những thuộc tính): Số lượng thuộc tính liệu Sum of weights: Tởng trọng lượng của mỡi bản ghi Ví dụ: Khi file mở, hình thể hình, vùng Current Relation: Cho biết tên bảng bảng liệu: Trong trường hợp này bảng dữ liệu có tên là Zoo có 101 ghi 18 thuộc tính 3.1.3 Vùng Attributes (Những thuộc tính) Ở hộp Current Relation hộp Attributes: Tên thuộc tính bảng sau ta chọn thuộc tính khác cách click chuột vào Có bốn nút để thay đổi chọn lựa: Page Tiểu luận mơn khai phá liệu [Pick the date] • All: Tất chọn • None: Tất hộp khơng chọn • Invert: Những thuộc tính trước khơng chọn trở thành chọn ngược lại • Pattern: Cho phép người dùng lựa chọn thuộc tính cách nhập tên thuộc tính vào 3.1.4 Vùng Selected Attribute: a Name: Tên tḥc tính b Type: Kiểu dữ liệu của thuộc tính đó c Missing: cho biết số lượng và phần trăm tương ứng của số bản ghi có giá trị rỗng thuộc tính d Distinct: Cho biết số lượng các giá trị thuộc tính e Unique: cho biết số lượng và phần trăm tương ứng của các giá trị không bị lặp lại thuộc tính Sau đưa liệu vào, bạn thự thao tác để xử lý liệu trước thực công việc khác phân cụm, tạo định, luật kết hợp… Để thực xử lý liệu trước hết bạn click vào button thưc mục đổ xuống hình đây: Page , thư mục đổ xuống, Tiểu luận môn khai phá liệu [Pick the date] Tab Classify: Trong tab có vùng 4.1.Classifier: Vùng cho biết tên thuật toán phân loại chọn, mặc định zero Ta thay đổi thuật tốn cách click chuột vào vùng chọn thuật toán mà bạn muốn Để thay đổi thuộc tính cho thuật tốn, click chuột trái (hoặc click chuột phải chọn Show properties…) vào dòng chữ bên phải button Page 10 Tiểu luận môn khai phá liệu [Pick the date] (5) pitviper, seasnake, slowworm, tortoise, tuatara (13) bass, carp, catfish, chub, dogfish, haddock, herring, pike, piranha, seahorse, sole, stingray, tuna (4) frog, frog, newt, toad (8) flea, gnat, honeybee, housefly, ladybird, moth, termite, wasp (10) clam, crab, crayfish, lobster, octopus, scorpion, seawasp, slug, starfish, worm - Cơ sở liệu gồm có chứa 17 thuộc tính với kiểu Boolen - “Type” tên thuộc tính lớp - Có vấn đề xảy đối tượng “frog” có hai trường hợp hiểu “con ếch” “cơ gái” - Giá trị thuộc tính thiếu: không - Cần chia làm lớp phần Các thuộc tính: STT Tên thuộc tính Dịch Kiểu animal name Tên động vật Unique for each instance hair Lơng Boolean feathers Tóc Boolean eggs Trứng Boolean milk Sữa Boolean airborne Bay Boolean aquatic Sống nước Boolean predator Thú ăn thịt Boolean toothed Có Boolean 10 backbone Xương sống Boolean 11 breathes Thở, hô hấp Boolean Page 13 Tiểu luận môn khai phá liệu 12 venomous [Pick the date] Nọc độc 13 fins vây Boolean 14 legs chân Numeric (set of Boolean values:{0,2,4,5,6,8}) 15 tail Đuôi Boolean 16 domestic Nuôi nhà Boolean 17 catsize Boolean type Numeric (integer values in range [1,7]) 18 2.Bài toán đặt ra: 2.1.Xử lý liệu dạng thô: Dữ liệu cho dạng zoo.data, zoo.names cần chuyển dạng file csv ta làm sau: - Chuyển file zoo.data coppy vào notepad lưu lại dạng zoo.text - Mở Exel để chuyển đổi liệu theo cột sau chèn thêm thuộc tính tương ứng theo hàng đầu file Exel Save as dạng file csv Weka đọc - Làm bước theo link: http://10hc.info/showthread.php?994-10HCB-_V%E0i-hng-dn-v-Weka! - Ở có sẵn file arff Qua link http://www.liacs.nl/~edegraaf/assign1.html 2.2.Tiến hành phân lớp: Yêu cầu toán liệu bao gồm 101 tên vật muốn phân chúng thành lớp đặt tên cho lớp đó, khơng phải ký hiệu [1, 7] liệu thô Khi xuất Exel file đó: Page 14 Tiểu luận môn khai phá liệu [Pick the date] - Type: dạng số [1, 7] thành -> tên class: mammal - động vật có vú, bird - gia cầm, reptile - lồi bị sát, fish - cá, amphibian - lưỡng cư, insect – côn trùng, invertebrate – động vật không xương sống 3.Tìm hiểu phân lớp – Classify: 3.1.Quá trình khai phá liệu: Quá trình khai phá liệu bắt đầu cách xác định xác vấn đề cần giải Sau xác định liệu liên quan dùng để xây dựng giải pháp Bước thu thập liệu có liên quan xử lý chúng thành định dạng cho thuật tốn khai phá liệu hiểu Về lý thuyết đơn giản thực thực q trình khó khăn, gặp phải nhiều vướng mắc liệu phải nhiều (nếu chiết suất vào tệp), quản lý tập tệp liệu, phải lặp lặp lại nhiều lần tồn q trình (nếu mơ hình liệu thay đổi) Bước chọn thuật toán khai phá liệu thích hợp thực việc khai phá để tìm mẫu có ý nghĩa dạng biểu diễn tương ứng với ý nghĩa Thơng thường mẫu biểu diễn dạng luật phân loại, định, luật sản xuất, biểu thức hồi quy, Page 15 Tiểu luận môn khai phá liệu [Pick the date] 3.2 Chọn thuật toán: Bayes: Thuật toán NaiveBayes Naive Bayes phương pháp phân lớp dựa vào xác suất điển hình khai thác liệu tri thức Phân lớp Naive Bayesian : Giả thuyết Naive : thuộc tính độc lập P(x1, ,xk|C)=P(x1|C) P(xk|C) Nếu thuộc tính thứ i xát thực : P(xi |C) ước lượng tần suất tương đối mẫu có giá trị xi thuộc tính thứ i lớp C Nếu thuộc tính thứ i liên tục P(xi |C) ước lượng thông qua hàm mật độ Gaussian Việc tính tốn dễ dàng hai trường hợp Ví dụ play-tennis : phân lớp X Cho mẫu chưa thấy sau X= P(X|p).P(p)=P(rain|p).P(hot|p).P(high|p).P(false|p).P(p) = 3/9.2/9.3/9.6/9.9/14=0.010582 P(rain|n).P(hot|n).P(high|n).P(false|n).P(n)=2/5.2/5.4/5.5/14=0.018286 Mẫu X phân lớp vào lớp n Page 16 Tiểu luận môn khai phá liệu [Pick the date] Giải thuật Naïve Bayes viết mã sau: Trees: Thuật toán J48 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 lớp – Category attribute) thuộc kiểu liệu khác (Binary, Nominal, ordinal, quantitative values) thuộc tính phân lớp phải có kiểu liệu Binary Ordinal Tóm lại, 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 đối tượng chưa biết (unseen data) Cây định phương pháp phân lớp hiệu dễ hiểu Tuy nhiên có số ý sử dụng định xây dựng mơ hình phân lớp sau: Page 17 Tiểu luận môn khai phá liệu [Pick the date] Hiệu phân lớp định (Series of Rules) phụ thuộc lớn vào training data Chẳn hạn định tạo giới hạn 10 samples training data ví dụ hiệu ứng dụng định để dự đoán trường hợp khác không cao (thường training data phải đủ lớn tin cậy) ta khơng thể nói tập luật (Series of Rules) sinh bở định tập luật tốt Có nhiều thuật tốn phân lớp ID3, J48, C4.5, CART (Classification and Regression Tree),… Việc chọn thuật toán để có hiệu phân lớp cao thuộc vào nhiều yếu tố, cấu trúc liệu ảnh hưởng lớn đến kết thuật toán Chẳn hạn thuật toán ID3 CART cho hiệu phân lớp cao trường liệu số (quantitative value) thuật tốn J48, C4.5 có hiệu liệu Qualititive value (ordinal, Binary, nominal) 3.3 Tìm hiểu Cross-validation: Để tránh việc trùng lặp tập kiểm thử (một số ví dụ xuất tập kiểm thử khác nhau) - k-fold cross-validation +Tập tồn ví dụ D chia thành k tập khơng giao (gọilà “fold”) có kích thước xấp xỉ + Mỗi lần (trong số k lần) lặp, tập sử dụng làm tập kiểm thử, (k-1) tập lại dùng làm tập huấn luyện + k giá trị lỗi (mỗi giá trị tương ứng với fold) tính trung bình cộng để thu giá trị lỗi tổng thể - Các lựa chọn thông thường k: 10, - Thông thường, tập (fold) lấy mẫu phân tầng (xấp xỉ phân bố lớp) trước áp dụng trình đánh giá Cross-validation - Phù hợp ta có tập ví dụ D vừa nhỏ Page 18 Tiểu luận môn khai phá liệu [Pick the date] 4.Thực hiện: Giai đoạn tiền xử lý: Page 19 Tiểu luận môn khai phá liệu [Pick the date] Biểu đồ mô tả dataset Zoo: Page 20 Tiểu luận môn khai phá liệu [Pick the date] 5.Tiến hành Phân lớp: NaiveBayes: Chọn Classify->Choose -> Naive Bayesnet, chọn cross-validate (folds: 10) -> Start Ta kết quả: Page 21 Tiểu luận môn khai phá liệu [Pick the date] Kết quả: - Phân loại lớp xác định tên lớp mammal - động vật có vú, bird - gia cầm, reptile - lồi bị sát, fish - cá, amphibian - lưỡng cư, insect – côn trùng, invertebrate – động vật không xương sống - Correctly Classified Instances 96 95.0495 % Có 96 Trường hợp phân lớp chiếm 95.0495 % - Incorrectly Classified Instances 4.9505 % Có trường hợp phân lớp sai chiếm 4.9505 % J48: Classfy - > Choose -> classifiers-> trees -> J48 Chọn Cross-validation (folds: 10) Page 22 Tiểu luận môn khai phá liệu [Pick the date] Ta có kết sau: Kết quả: - Correctly Classified Instances 93 92.0792 % Có 93 Trường hợp phân lớp chiếm 92.0792 % - Incorrectly Classified Instances 7.9208 % Page 23 Tiểu luận môn khai phá liệu [Pick the date] Có trường hợp phân lớp sai chiếm 7.9208 % III Kết luận: So sánh NaiveBayes J48 qua cách test, ta thu bảng giá trị sau: Có tổng 101 trường hợp - NaiveBayes: Test Correctly Classified Incorrectly Classified Instances (Đúng) Instances (Sai) Use Training set 101 Cross-validation 96 45 Correctly Classified Incorrectly Classified Instances Instances Use Training set 100 Cross-validation 93 41 (folds:10) Percentange split (50%) - J48: Test (folds:10) Percentange split (50%) Như sử dụng thuật toán NaiveBayes thực toán phân lớp hiệu dùng định Page 24 Tiểu luận môn khai phá liệu [Pick the date] Page 25 .. .Tiểu luận môn khai phá liệu [Pick the date] I.Tìm hiểu cơng cụ Weka dùng khai phá liệu: Giới thiệu: Weka môi trường thử nghiệm khai phá liệu nhà khoa học thuộc trường Đại học Waitako,... Page 15 Tiểu luận môn khai phá liệu [Pick the date] 3.2 Chọn thuật toán: Bayes: Thuật toán NaiveBayes Naive Bayes phương pháp phân lớp dựa vào xác suất điển hình khai thác liệu tri thức Phân lớp. .. đoạn tiền xử lý: Page 19 Tiểu luận môn khai phá liệu [Pick the date] Biểu đồ mô tả dataset Zoo: Page 20 Tiểu luận môn khai phá liệu [Pick the date] 5.Tiến hành Phân lớp: NaiveBayes: Chọn Classify->Choose

Ngày đăng: 16/12/2013, 15:08

Từ khóa liên quan

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

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

Tài liệu liên quan