1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho dataset AutoUniv

19 538 2
Tài liệu đã được kiểm tra trùng 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

Thông tin cơ bản

Tiêu đề Sử dụng phần mềm Weka phân lớp cho dataset AutoUniv
Tác giả Vũ Anh Tú
Người hướng dẫn Hồ Nhật Quang
Trường học Học viện Kỹ thuật Quân sự
Chuyên ngành Khai phá dữ liệu
Thể loại Bài tập lớn
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 725 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I. ĐẶT VẤN ĐỀ AutoUniv (AU) là một công cụ để tạo ra các mô hình phân loại mà sau đó có thể được được sử dụng để tạo ra các ví dụ được phân loại đánh giá học tập phân loại thuật toán. Động lực cho AU là để cung cấp một thay thế cho dữ liệu bộ có sẵn từ kho chẳng hạn như [1]. Kho cung cấp dữ liệu tập hợp nhiều nhất 'thực tế' một phần đã được hiến tặng của các doanh nghiệp hoặc các nhà nghiên cứu khoa học; một là nhân tạo chẳng hạn như [2]. Các kho này có phục vụ máy học tập tốt trong nhiều thập kỷ. Nó bây giờ là với tiêu chí là một thuật toán mới được đánh giá trên một số lượng đáng kể các dữ liệu này đặt ra trước khi xuất bản có thể được dự kiến. Có rất nhiều để nói cho các đánh giá của các thuật toán trên dữ liệu thực tế.Không ít nhất, có là một thực tế rằng dữ liệu đã không được chế tác để phục vụ mục đích của người thử nghiệm. Điều này tăng thêm sự tự tin rằng kết quả sẽ được nhân rộng trên các dữ liệu thực tế gặp phải trong tương lai. Ngược lại, với dữ liệu nhân tạo,có một cảm giác rằng bản chất giả tạo của nó làm cho kết quả thu được ít hữu ích một chỉ số về hiệu suất trong tương lai. Thường thì nó là quá đơn giản trong cấu trúc, sau một số quy tắc đơn giản, chức năng toán học, có thể với tiếng ồn thêm. Đó chắc chắn là các trường hợp đó đánh giá một thuật toán chỉ nhân tạo dữ liệu sẽ rút ra một phản ứng tiêu cực từ một nhà phê bình của báo. II. XÂY DỰNG CƠ SỞ DỮ LIỆU Đề tài sử dụng dataset AutoUniv cung cấp giá trị của 4 thuộc tính phân loại cho 1000 bộ dữ liệu. Thông tin chung của dataset AU gồm: Các thuộc tính có thể được rời rạc lên đến 10 giá trị liên tục hay. Một thuộc tính rời rạc có thể được danh nghĩa với các giá trị v1, v2, v3 ... hoặc số nguyên với giá trị 0, 1, 2, ... . @ATTRIBUTE att1 NUMERIC @ATTRIBUTE att2 NUMERIC @ATTRIBUTE att3 NUMERIC @ATTRIBUTE att4 NUMERIC @ATTRIBUTE att5 NUMERIC @ATTRIBUTE att6 NUMERIC @ATTRIBUTE att7 NUMERIC @ATTRIBUTE att8 NUMERIC @ATTRIBUTE att9 NUMERIC @ATTRIBUTE att10 NUMERIC @ATTRIBUTE att11 NUMERIC @ATTRIBUTE att12 NUMERIC @ATTRIBUTE att13 NUMERIC @ATTRIBUTE att14 NUMERIC @ATTRIBUTE att15 NUMERIC @ATTRIBUTE att16 NUMERIC @ATTRIBUTE att17 NUMERIC @ATTRIBUTE att18 NUMERIC @ATTRIBUTE att19 NUMERIC @ATTRIBUTE att20 NUMERIC @ATTRIBUTE class {class1,class2}

Trang 1

BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬN QUÂN SỰ

*************

BÀI TẬP LỚN

KHAI PHÁ DỮ LIỆU

Đề tài: Sử dụng phần mềm Weka phân lớp cho dataset AutoUniv

Giáo viên hướng dẫn: Hồ Nhật Quang Sinh viên thực hiện: Vũ Anh Tú Lớp: Hệ thống thông tin 6

Trang 2

I ĐẶT VẤN ĐỀ

AutoUniv (AU) là một công cụ để tạo ra các mô hình phân loại mà sau đó có thể được được sử dụng để tạo ra các ví dụ được phân loại đánh giá học tập phân loại thuật toán Động lực cho AU là để cung cấp một thay thế cho dữ liệu bộ có sẵn từ kho chẳng hạn như [1] Kho cung cấp dữ liệu tập hợp nhiều nhất 'thực tế' một phần đã được hiến tặng của các doanh nghiệp hoặc các nhà nghiên cứu khoa học; một là nhân tạo chẳng hạn như [2] Các kho này có phục vụ máy học tập tốt trong nhiều thập kỷ Nó bây giờ

là với tiêu chí là một thuật toán mới được đánh giá trên một số lượng đáng kể các dữ liệu này đặt ra trước khi xuất bản có thể được dự kiến Có rất nhiều để nói cho các đánh giá của các thuật toán trên dữ liệu thực tế.Không ít nhất, có là một thực tế rằng

dữ liệu đã không được chế tác để phục vụ mục đích của người thử nghiệm Điều này tăng thêm sự tự tin rằng kết quả sẽ được nhân rộng trên các dữ liệu thực tế gặp phải trong tương lai Ngược lại, với dữ liệu nhân tạo,có một cảm giác rằng bản chất giả tạo của nó làm cho kết quả thu được ít hữu ích một chỉ số về hiệu suất trong tương lai Thường thì nó là quá đơn giản trong cấu trúc, sau một số quy tắc đơn giản, chức năng toán học, có thể với tiếng ồn thêm Đó chắc chắn là các trường hợp đó đánh giá một thuật toán chỉ nhân tạo dữ liệu sẽ rút ra một phản ứng tiêu cực từ một nhà phê bình của báo.

Trang 3

II XÂY DỰNG CƠ SỞ DỮ LIỆU

Đề tài sử dụng dataset AutoUniv cung cấp giá trị của 4 thuộc tính phân loại cho

Thông tin chung của dataset AU gồm:

Các thuộc tính có thể được rời rạc lên đến 10 giá trị liên tục hay Một thuộc tính rời rạc có thể được danh nghĩa với các giá trị v1, v2, v3 hoặc số nguyên với giá trị 0, 1, 2,

@ATTRIBUTE att1 NUMERIC

@ATTRIBUTE att2 NUMERIC

@ATTRIBUTE att3 NUMERIC

@ATTRIBUTE att4 NUMERIC

@ATTRIBUTE att5 NUMERIC

@ATTRIBUTE att6 NUMERIC

@ATTRIBUTE att7 NUMERIC

@ATTRIBUTE att8 NUMERIC

@ATTRIBUTE att9 NUMERIC

@ATTRIBUTE att10 NUMERIC

@ATTRIBUTE att11 NUMERIC

@ATTRIBUTE att12 NUMERIC

@ATTRIBUTE att13 NUMERIC

@ATTRIBUTE att14 NUMERIC

@ATTRIBUTE att15 NUMERIC

@ATTRIBUTE att16 NUMERIC

@ATTRIBUTE att17 NUMERIC

@ATTRIBUTE att18 NUMERIC

@ATTRIBUTE att19 NUMERIC

@ATTRIBUTE att20 NUMERIC

@ATTRIBUTE class {class1,class2}

Trang 4

III PHÂN TÍCH YÊU CẦU BÀI TOÁN

AutoUniv tạo ra ba tập tin văn bản cho một mô hình: Prolog một đặc điểm kỹ thuật của mô hình được sử dụng để tạo ra các ví dụ ( Aupl), một tuyên bố thân thiện với người sử dụng các quy tắc phân loại trong một 'nếu sau đó 'định dạng (aurules.), một bản tóm tắt thống kê của các thuộc tính chính của mô hình, bao gồm cả tỷ lệ

Bayes (auprops.)

1 Tiền xử lý dữ liệu

Tiến hành khởi chạy weka.Trong giao diện đồ họa của Weka,chọn Explorer

Trong weka lưu trữ dữ liệu bằng định dạng ARFF File ARFF bao gồm danh sách các trường, và các giá trị thuộc tính cho mỗi trường được phân cách bằng dấu phẩy Hầu hết các bảng tính và các chương trình cơ sở dữ liệu cho phép bạn chuyển dữ liệu thành một tập tin mà các giá trị của thuộc tính đều được tách nhau bằng dấu phẩy như trong định dạng của file arff.Bạn chỉ cần đưa file vào một trình soạn thảo văn bản hoặc từ bộ

vi xử lý; thêm tên của tập dữ liệu bằng cách sử dụng các từ @relation, Khai báo tên các thuộc tính bằng từ khóa @attribute, và từ khóa @data để bắt đầu đưa dữ liệu

vào Ví dụ như hình dưới đây :

Sau khi đã tạo xong file arff thì tiến hành đọc dữ liệu vào weka

Ta thấy xuất hiện dữ liệu trên cửa số Preprocess của WEKA như sau:

Trang 5

Bạn có thể chỉnh sửa dữ liệu bằng cách click vào , lúc đó bảng dữ liệu sẽ xuất hiện để bạn chỉnh sửa

Trang 6

2 Xây dựng cây quyết định:

- Bước đầu tiên ta sử dụng tất cả dữ liệu để trainning cho cây:

+ Nhấn vào tab Classify chọn thuật toán sử dụng bằng cách nhấn vào nút Choose; khi cây thư mục hiện thư mục Trees/J48:

Trang 7

Để tiến hành trainning trên toàn bộ dữ liệu ta chọn vào tùy chọn Use tranning set rồi nhấn Start.

Ta thu được kết quả hiển thị ở khung Classifier Output:

Nội dung kết quả

=== Run information ===

Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: au1

Instances: 1000

Attributes: 21

att1

att2

att3

att4

att5

att6

att7

att8

att9

att10

att11

att12

att13

att14

att15

att16

att17

att18

Trang 8

att19

att20

class

Test mode: evaluate on training data

=== Classifier model (full training set) ===

J48 pruned tree

-att19 <= 0

| att2 <= 0

| | att4 <= 0: class2 (264.0/37.0)

| | att4 > 0

| | | att17 <= 0

| | | | att11 <= 0: class2 (28.0/3.0)

| | | | att11 > 0

| | | | | att5 <= 0: class2 (18.0/3.0)

| | | | | att5 > 0

| | | | | | att10 <= 0: class1 (4.0)

| | | | | | att10 > 0

| | | | | | | att3 <= 0: class1 (2.0)

| | | | | | | att3 > 0: class2 (6.0/1.0)

| | | att17 > 0

| | | | att13 <= 0

| | | | | att18 <= 0: class1 (3.0/1.0)

| | | | | att18 > 0: class2 (9.0/2.0)

| | | | att13 > 0: class1 (18.0/1.0)

| att2 > 0

| | att16 <= 0

| | | att14 <= 0

| | | | att5 <= 0: class2 (59.0/15.0)

| | | | att5 > 0

| | | | | att12 <= 0

| | | | | | att3 <= 0

| | | | | | | att4 <= 0

| | | | | | | | att8 <= 0

| | | | | | | | | att13 <= 0: class2 (3.0)

| | | | | | | | | att13 > 0

| | | | | | | | | | att7 <= 0: class2 (3.0/1.0)

| | | | | | | | | | att7 > 0: class1 (2.0)

| | | | | | | | att8 > 0: class1 (2.0)

| | | | | | | att4 > 0: class2 (3.0)

| | | | | | att3 > 0

| | | | | | | att7 <= 0

| | | | | | | | att15 <= 0: class1 (2.0)

| | | | | | | | att15 > 0: class2 (2.0)

| | | | | | | att7 > 0: class1 (6.0)

Trang 9

| | | | | att12 > 0

| | | | | | att1 <= 0

| | | | | | | att10 <= 0: class1 (2.0)

| | | | | | | att10 > 0: class2 (4.0/1.0)

| | | | | | att1 > 0: class2 (16.0/3.0)

| | | att14 > 0

| | | | att6 <= 0

| | | | | att11 <= 0

| | | | | | att4 <= 0: class1 (35.0/3.0)

| | | | | | att4 > 0

| | | | | | | att9 <= 0: class1 (3.0)

| | | | | | | att9 > 0: class2 (3.0)

| | | | | att11 > 0

| | | | | | att18 <= 0

| | | | | | | att4 <= 0

| | | | | | | | att7 <= 0

| | | | | | | | | att8 <= 0

| | | | | | | | | | att3 <= 0: class2 (3.0)

| | | | | | | | | | att3 > 0: class1 (3.0/1.0)

| | | | | | | | | att8 > 0: class1 (2.0)

| | | | | | | | att7 > 0: class2 (10.0)

| | | | | | | att4 > 0: class1 (4.0)

| | | | | | att18 > 0: class1 (29.0/5.0)

| | | | att6 > 0

| | | | | att5 <= 0

| | | | | | att4 <= 0: class1 (3.0)

| | | | | | att4 > 0

| | | | | | | att9 <= 0

| | | | | | | | att8 <= 0: class1 (3.0/1.0)

| | | | | | | | att8 > 0: class2 (5.0)

| | | | | | | att9 > 0: class1 (4.0/1.0)

| | | | | att5 > 0: class2 (15.0/1.0)

| | att16 > 0

| | | att4 <= 0: class2 (124.0/22.0)

| | | att4 > 0

| | | | att17 <= 0

| | | | | att8 <= 0: class2 (16.0/1.0)

| | | | | att8 > 0

| | | | | | att13 <= 0: class1 (5.0/1.0)

| | | | | | att13 > 0: class2 (5.0/1.0)

| | | | att17 > 0

| | | | | att20 <= 0

| | | | | | att5 <= 0

| | | | | | | att8 <= 0: class1 (2.0)

| | | | | | | att8 > 0: class2 (3.0/1.0)

| | | | | | att5 > 0: class2 (3.0)

| | | | | att20 > 0: class1 (8.0/1.0)

att19 > 0

Trang 10

| att4 <= 0: class2 (188.0/20.0)

| att4 > 0

| | att17 <= 0: class2 (46.0/6.0)

| | att17 > 0

| | | att13 <= 0

| | | | att6 <= 0: class1 (2.0)

| | | | att6 > 0

| | | | | att8 <= 0: class2 (6.0/1.0)

| | | | | att8 > 0

| | | | | | att12 <= 0: class2 (3.0/1.0)

| | | | | | att12 > 0: class1 (2.0)

| | | att13 > 0: class1 (9.0/1.0)

Number of Leaves : 50

Time taken to build model: 0.12 seconds

=== Evaluation on training set ===

=== Summary ===

Correctly Classified Instances 864 86.4 %

Incorrectly Classified Instances 136 13.6 %

Kappa statistic 0.5925

Mean absolute error 0.2272

Root mean squared error 0.337

Relative absolute error 59.1484 %

Root relative squared error 76.9312 %

Coverage of cases (0.95 level) 100 %

Mean rel region size (0.95 level) 96.5 %

Total Number of Instances 1000

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.537 0.022 0.897 0.537 0.671 0.813 class1 0.978 0.463 0.858 0.978 0.914 0.813 class2 Weighted Avg 0.864 0.349 0.868 0.864 0.851 0.813

=== Confusion Matrix ===

a b < classified as

139 120 | a = class1

16 725 | b = class2 Tóm tắt kết quả khi phân lớp:

+ Trường hợp phân lớp chính xác: 1740 chiếm 79.055%

+Trường hợp không chính xác: 461 chiếm 20.945%

Trang 11

- Để xem kết quả cây dưới dạng hình ảnh tiến hành như sau:

Cây quyết định sinh ra

3 Tiến hành chạy thử nhiều lần cây trên số lượng dữ liệu tranning khác nhau:

 Lần thứ hai: Lấy 90% dữ liệu để xây dựng cây, 10% để test:

=== Run information ===

Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: au1

Instances: 1000

Trang 12

Attributes: 21

att1

att2

att3

att4

att5

att6

att7

att8

att9

att10

att11

att12

att13

att14

att15

att16

att17

att18

att19

att20

class

Test mode: split 90.0% train, remainder test

=== Classifier model (full training set) ===

J48 pruned tree

-att19 <= 0

| att2 <= 0

| | att4 <= 0: class2 (264.0/37.0)

| | att4 > 0

| | | att17 <= 0

| | | | att11 <= 0: class2 (28.0/3.0)

| | | | att11 > 0

| | | | | att5 <= 0: class2 (18.0/3.0)

| | | | | att5 > 0

| | | | | | att10 <= 0: class1 (4.0)

| | | | | | att10 > 0

| | | | | | | att3 <= 0: class1 (2.0)

| | | | | | | att3 > 0: class2 (6.0/1.0)

| | | att17 > 0

Trang 13

| | | | att13 <= 0

| | | | | att18 <= 0: class1 (3.0/1.0)

| | | | | att18 > 0: class2 (9.0/2.0)

| | | | att13 > 0: class1 (18.0/1.0)

| att2 > 0

| | att16 <= 0

| | | att14 <= 0

| | | | att5 <= 0: class2 (59.0/15.0)

| | | | att5 > 0

| | | | | att12 <= 0

| | | | | | att3 <= 0

| | | | | | | att4 <= 0

| | | | | | | | att8 <= 0

| | | | | | | | | att13 <= 0: class2 (3.0)

| | | | | | | | | att13 > 0

| | | | | | | | | | att7 <= 0: class2 (3.0/1.0)

| | | | | | | | | | att7 > 0: class1 (2.0)

| | | | | | | | att8 > 0: class1 (2.0)

| | | | | | | att4 > 0: class2 (3.0)

| | | | | | att3 > 0

| | | | | | | att7 <= 0

| | | | | | | | att15 <= 0: class1 (2.0)

| | | | | | | | att15 > 0: class2 (2.0)

| | | | | | | att7 > 0: class1 (6.0)

| | | | | att12 > 0

| | | | | | att1 <= 0

| | | | | | | att10 <= 0: class1 (2.0)

| | | | | | | att10 > 0: class2 (4.0/1.0)

| | | | | | att1 > 0: class2 (16.0/3.0)

| | | att14 > 0

| | | | att6 <= 0

| | | | | att11 <= 0

| | | | | | att4 <= 0: class1 (35.0/3.0)

| | | | | | att4 > 0

| | | | | | | att9 <= 0: class1 (3.0)

| | | | | | | att9 > 0: class2 (3.0)

| | | | | att11 > 0

| | | | | | att18 <= 0

| | | | | | | att4 <= 0

| | | | | | | | att7 <= 0

| | | | | | | | | att8 <= 0

| | | | | | | | | | att3 <= 0: class2 (3.0)

| | | | | | | | | | att3 > 0: class1 (3.0/1.0)

Trang 14

| | | | | | | | | att8 > 0: class1 (2.0)

| | | | | | | | att7 > 0: class2 (10.0)

| | | | | | | att4 > 0: class1 (4.0)

| | | | | | att18 > 0: class1 (29.0/5.0)

| | | | att6 > 0

| | | | | att5 <= 0

| | | | | | att4 <= 0: class1 (3.0)

| | | | | | att4 > 0

| | | | | | | att9 <= 0

| | | | | | | | att8 <= 0: class1 (3.0/1.0)

| | | | | | | | att8 > 0: class2 (5.0)

| | | | | | | att9 > 0: class1 (4.0/1.0)

| | | | | att5 > 0: class2 (15.0/1.0)

| | att16 > 0

| | | att4 <= 0: class2 (124.0/22.0)

| | | att4 > 0

| | | | att17 <= 0

| | | | | att8 <= 0: class2 (16.0/1.0)

| | | | | att8 > 0

| | | | | | att13 <= 0: class1 (5.0/1.0)

| | | | | | att13 > 0: class2 (5.0/1.0)

| | | | att17 > 0

| | | | | att20 <= 0

| | | | | | att5 <= 0

| | | | | | | att8 <= 0: class1 (2.0)

| | | | | | | att8 > 0: class2 (3.0/1.0)

| | | | | | att5 > 0: class2 (3.0)

| | | | | att20 > 0: class1 (8.0/1.0)

att19 > 0

| att4 <= 0: class2 (188.0/20.0)

| att4 > 0

| | att17 <= 0: class2 (46.0/6.0)

| | att17 > 0

| | | att13 <= 0

| | | | att6 <= 0: class1 (2.0)

| | | | att6 > 0

| | | | | att8 <= 0: class2 (6.0/1.0)

| | | | | att8 > 0

| | | | | | att12 <= 0: class2 (3.0/1.0)

| | | | | | att12 > 0: class1 (2.0)

| | | att13 > 0: class1 (9.0/1.0)

Number of Leaves : 50

Trang 15

Size of the tree : 99

Time taken to build model: 0.1 seconds

=== Evaluation on test split ===

=== Summary ===

Correctly Classified Instances 73 73 %

Incorrectly Classified Instances 27 27 %

Kappa statistic 0.1993

Mean absolute error 0.3447

Root mean squared error 0.4719

Relative absolute error 87.6686 %

Root relative squared error 104.9567 %

Coverage of cases (0.95 level) 96 %

Mean rel region size (0.95 level) 96.5 %

Total Number of Instances 100

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class

0.25 0.083 0.538 0.25 0.341 0.583 class1

0.917 0.75 0.759 0.917 0.83 0.583 class2

Weighted Avg 0.73 0.563 0.697 0.73 0.693 0.583

=== Confusion Matrix ===

a b < classified as

7 21 | a = class1

6 66 | b = class2

 Lần thứ ba: Lấy 85% dữ liệu để xây dựng cây, 15% để test:

Ngày đăng: 13/12/2013, 11:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w