Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật toán phân lớp

17 1.9K 14
Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật 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

Bài toán: Computer Hardware 1. Mô tả tập dữ liệu a. Nguồn gốc Tập dữ liệu này gồm 209 mẫu được hoàn thành năm 1987 bởi: Phillip Ein-Dor and Jacob Feldmesser Ein-Dor: Faculty of Management Tel Aviv University; Ramat-Aviv; Tel Aviv, 69978; Israel Nó thể hiện hiệu suất tương đối của CPU, được mô tả dựa trên thời gian chu kỳ(cycle time), kích thước bộ nhớ(memory size), vv của nó. Các ước tính về giá trị hiệu năng tương đối được các tác giả sử dụng phương pháp hồi quy tuyến tính. Những bài báo có sử dụng với bộ dữ liệu này: - Dan Pelleg. Scalable and Practical Probability Density Estimators for Scientific Anomaly Detection. School of Computer Science Carnegie Mellon University. 2004. - Yongge Wang. A New Approach to Fitting Linear Models in High Dimensional Spaces. Alastair Scott (Department of Statistics, University of Auckland). b. Cấu trúc(các thuộc tính) Data set này gồm có 209 mẫu và 10 thuộc tính bao gồm: 1. Vendor name: 30 (adviser, amdahl,apollo, basf, bti, burroughs, c.r.d, cambex, cdc, dec, dg, formation, four-phase, gould, honeywell, hp, ibm, ipl, magnuson, microdata, nas, ncr, nixdorf, perkin-elmer, prime, siemens, sperry, sratus, wang): tên của hãng sản xuất (kiểu Nominal). 2. Model Name: Gồm các ký hiệu đơn và duy nhất. 3. MYCT: Chu kỳ thời gian trên một nano giây (kiểu integer) 4. MMIN: Bộ nhớ chính nhỏ nhất theo đơn vị kilobyte (kiểu integer) 5. MMAX: Bộ nhớ chính lớn nhất theo đơn vị kilobyte (kiểu integer) 6. CACH: Bộ nhớ cache theo đơn vị kilobyte (kiểu integer) 7. CHMIN: Số kênh truyền nhỏ nhất trong các unit (kiểu integer) 8. CHMAX: Số kênh truyền lớn nhất trong các unit (kiểu integer) 9. PRP: Hiệu năng tương đối được công bố (kiểu integer) 10. ERP: Hiệu năng tương đối được đánh giá từ những bài báo gốc (kiểu integer) 2. Bài toán phân lớp Bài toán phân lớp ở đây là dùng tập dữ liệu đã cho huấn luyện một bộ phân lớp có khả năng đánh giá hiệu năng tương đối của CPU dựa trên chu kỳ thời gian, bộ nhớ, số kênh truyền 3. Giải quyết bài toán sử dụng các bộ phân lớp Giới thiệu về tiền xử lý dữ liệu (Data Preprocessing) Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc ordinal data) có thể áp dụng được (thích hợp) với các mô hình khai phá dữ liệu (data mining model) cụ thể. Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như: Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu từ numeric qua nomial hay ordinal Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu.

Trang 1

BÁO CÁO ĐỒ ÁN KHAI PHÁ DỮ LIỆU

Đề Tài:

Sử dụng phần mềm Weka khai phá bộ dữ liệu Computerhardware với thuật toán phân lớp

Giáo viên hướng dẫn: Hồ Nhật Quang

Sinh Viên: Vũ Trung KiênLớp: CNPM 6

Trang 2

Bài toán: Computer Hardware1 Mô tả tập dữ liệu

a Nguồn gốc

Tập dữ liệu này gồm 209 mẫu được hoàn thành năm 1987 bởi: Phillip Ein-Dor and Jacob Feldmesser

Ein-Dor: Faculty of Management Tel Aviv University; Ramat-Aviv; Tel Aviv, 69978; Israel

Nó thể hiện hiệu suất tương đối của CPU, được mô tả dựa trên thời gian chu kỳ(cycle time), kích thước bộ nhớ(memory size), vv của nó.

Các ước tính về giá trị hiệu năng tương đối được các tác giả sử dụng phương pháp hồi quy tuyến tính Những bài báo có sử dụng với bộ dữ liệu này:

- Dan Pelleg Scalable and Practical Probability Density Estimators for Scientific Anomaly Detection School of Computer Science Carnegie Mellon University 2004.

- Yongge Wang A New Approach to Fitting Linear Models in High DimensionalSpaces Alastair Scott (Department of Statistics, University of Auckland).

b.Cấu trúc(các thuộc tính)

Data set này gồm có 209 mẫu và 10 thuộc tính bao gồm:

1 Vendor name: 30 (adviser, amdahl,apollo, basf, bti, burroughs, c.r.d, cambex, cdc, dec, dg, formation, four-phase, gould, honeywell, hp, ibm, ipl, magnuson, microdata, nas, ncr, nixdorf, perkin-elmer, prime, siemens, sperry, sratus, wang): tên của hãng sản xuất (kiểu Nominal).

2 Model Name: Gồm các ký hiệu đơn và duy nhất.

3 MYCT: Chu kỳ thời gian trên một nano giây (kiểu integer)

4 MMIN: Bộ nhớ chính nhỏ nhất theo đơn vị kilobyte (kiểu integer) 5 MMAX: Bộ nhớ chính lớn nhất theo đơn vị kilobyte (kiểu integer) 6 CACH: Bộ nhớ cache theo đơn vị kilobyte (kiểu integer)

7 CHMIN: Số kênh truyền nhỏ nhất trong các unit (kiểu integer) 8 CHMAX: Số kênh truyền lớn nhất trong các unit (kiểu integer) 9 PRP: Hiệu năng tương đối được công bố (kiểu integer)

10 ERP: Hiệu năng tương đối được đánh giá từ những bài báo gốc (kiểu integer)

Trang 3

2 Bài toán phân lớp

Bài toán phân lớp ở đây là dùng tập dữ liệu đã cho huấn luyện một bộ phân lớp có khả năng đánhgiá hiệu năng tương đối của CPU dựa trên chu kỳ thời gian, bộ nhớ, số kênh truyền

3 Giải quyết bài toán sử dụng các bộ phân lớp

Giới thiệu về tiền xử lý dữ liệu (Data Preprocessing)

Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc ordinal data) có thể áp dụng được (thích hợp) với các mô hình khai phá dữ liệu (data mining model) cụ thể Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:

Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình

Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình

Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier)Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu

từ numeric qua nomial hay ordinal

Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài mô hình

chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu.

- Vấn đề tiền xử lý dữ liệu trong data set Computer hardware

o Lọc thuộc tính phù hợp: ta thấy trong tập dữ liệu Coputer hardware có thuộc tính Model Name kiểu dữ liệu là chuỗi các ký tự duy nhất là không phù hợp cho việc phân lớp do đó ta cần loại bỏ thuộc tính này.

o Lọc mẫu và làm sạch dữ liệu: ta thấy trong dataset này không có các giá trị sai lêch do đó ta không cần lọc bổ các mẫu và làm sạch dữ liệu

Trang 4

o Rời rạc hóa dữ liệu: trong data set này bao gồm phần lớn là các dữ liệu kiểu liên tục nên do đó ta cần tiến hành rời rạc hóa các dữ liệu đó cụ thể là: các thuộc tính: MYCT, MMIN, MMAX, CACH, CHMIN, CHMAX, PRP, ERP Để rời rạc hóa dữ liệu ta phân khoảng các dữ liệu ra thành n khoảng bins ví dụ thuộc tính ERP trong khoảng 137,3 – 1115,7 dựa vào công cụ

filters.unsupervised.attribute.Discretize trong weka ta có thể phân dữ liệu của thuộc tính thành 10 khoảng như sau:

Các mô hình huấn luyện cho bài toán phân lớp

Trong lĩnh vực máy học (machine Learning) và nhận dạng mẫu (pattern recognition), bài toán phân lớp (classification) đề cập đến các thuật toán

(algorithms) nhằm xác định lớp (class) của đối tượng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước (given categories) Khác với bài toán phân cụm (clustering), dữ liệu dùng để xây dựng mô hình (Training Data) trong bài toán phân lớp phải được xác định lớp trước (pre-Labeled).

Ví dụ trong bài toán này là đánh giá xem hiệu năng của CPU thuộc khoảng nào trong 10 khoảng đã phân dựa vào các thông số như chu kỳ thời gian, số kênh truyền, bộ nhớ,… của máy.

Một thuật toán thực hiện việc phân lớp được gọi là một bộ phân lớp

(classifier) Hình sau mô tả qui trình xây dựng mô hình phân lớp các đối tượng

Trang 5

Quy trình thực hiện huấn luyện bộ phân lớp với mẫu dữ liệu machine.arff

Dữ liệu để xây dựng mô hình:

+ Dữ liệu gốc (original dataset) là tập dữ liệu trong file machine.arff

+ Dữ liệu này phải có thuộc tính phân lớp (categorical attribute) ở trong dataset này là thuộc tính ERP.

Dữ liệu gốc sẽ được chia thành 2 phần là Training Set (để xây dựng model) và Test Set (để kiểm định mẫu - Model).

- Cuối cùng là tính toán lỗi để đánh giá mô hình phân lớp (classification model) - Chia nhỏ tập dữ liệu theo phương pháp CV (Cross-Validation) trong quá trình

huấn luyện và kiểm lỗi mô hình phân lớp

Đây là kỹ thuật chủ yếu được sử dụng trong xây dựng predictive Model Trong đó dữ liệu gốc sẽ được chia thành n phần bằng nhau (n-fold), và quá trình Train/Test Model thực hiện lặp lại n lần Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và (n-1) phần còn lại dùng để Train.

Trang 6

(Người ta đã chứng minh 10-fold Cross –Validation là giá trị tối ưu - theo GJ, McLachlan; K.A Do, C Ambroise (2004) Analyzing microarray gene

expression data Wiley)

- Tính toán lỗi cho bộ phân lớp

Trang 7

- Kết quả nhận được là những bộ phân lớp - Các bộ phân lớp được weka hỗ trợ bao gồm:

Trang 9

o bayes.NaiveBayes o classifiers.trees.J48

4 Thực nghiệm

Dữ liệu sẽ được chia làm 10 Folds và quá trình Train/Test Model thực hiện lặp lại 10 lần Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và 9 phần còn lại dùng để Train.

Sử dụng công cụ KnowledgeFlow

Quy trình thực hiện:

- Nạp dữ liệu: chọn ArffLoader để load nạp dữ liệu từ file machine.arff

- Xóa thuộc tính Model Name: ta chọn Filters->Únsupervised->attribute->RemoveByName sau đó nối ArffLoader với RemoveByName bằng Dataset

Trang 10

- Rời rạc hóa dữ liệu: Ta chọn Filters->Únsupervised->attribute->Discretize tiến hành rời rạc hóa dữ liệu cho các thuộc tính có index từ 2 đến 9 và phân thành 10 khoảng như hình vẽ

- Chọn ClassAssigner và CrossValidationFolderMaker bước này nhằm chọn thuộc tính phân lớp, ở đây thuộc tính phân lớp là thuộc tính ERP

Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation).Trong Evaluation chọn CrossValidation FoldMaker

Trang 11

Chọn Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật

toán J48) Sau đó nạp dữ liệu để train và Test mô hình, bấm phải chuột vào

CrossValidation FoldMaker chọn TrainingSet nối với J48, sau đó chọn TestSet

Hiệu chỉnh tham số của thuật toán bằng cách double click và thuật toán

Trang 12

Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của

mô hình phân lớp

Trang 13

Chọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của

mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh

Làm tương tự với thuật toán Naviebayes ta được mô hình như sau:

Sau đây là kết quả thực nghiệm:

Trang 14

Với thuật toán Navie Bayes

Với thuật toán J48

Trang 15

Thực nghiệm lần 2:

Thay vì rời rạc hóa tất cả các thuộc tính ta chỉ rời rạc hóa một thuộc tính dùng để phân lớp là thuộc tính ERP bằng cách chọn Discretize ở mô hình trên và cấu hình trường AttributeIndices trong Discretize có giá trị là 9 có nghĩa là thuộc tính thứ 9(ERP) như

Trang 16

- Với thuật toán J48:

Trang 17

5 Nhận xét

Từ những kết quả thực nghiệm trên ta thấy với dataset Computer Hardware, việc rời rạc hóa tất cả các thuộc tính và sử dụng thuật toán Navie Bayes để phân lớp cho kết quả tốt hơn so với thuật toán J48 Nhưng ngược lại trong trường hợp giữ nguyên các thuộc tính kiểu số thì thuật toán J48 lại tốt hơn so với thuật toán Navie Bayes Và sau cả 2 lần thử nghiệm thì thuật toán J48 cho ta tỉ lệ phân lớp chính xác cao nhất Như vậy với thuộc tính thuộc kiểu số thì sử dụng thuật toán J48 trong phân lớp dữ liệu cho hiệu quả tốt hơn so với thuật toán Navie Bayes và trong data set này ta chọn thuật toán J48 để phân lớp.

Ngày đăng: 03/12/2013, 17:09

Hình ảnh liên quan

Dữ liệu để xây dựng mô hình: - Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật toán phân lớp

li.

ệu để xây dựng mô hình: Xem tại trang 5 của tài liệu.
Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Evaluation chọn CrossValidation FoldMaker - Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật toán phân lớp

h.

ọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Evaluation chọn CrossValidation FoldMaker Xem tại trang 10 của tài liệu.
Chọn Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48) - Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật toán phân lớp

h.

ọn Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48) Xem tại trang 11 của tài liệu.
Làm tương tự với thuật toán Naviebayes ta được mô hình như sau: - Tiểu luận KHAI PHÁ DỮ LIỆU: Sử dụng phần mềm Weka khai phá bộ dữ liệu Computer hardware với thuật toán phân lớp

m.

tương tự với thuật toán Naviebayes ta được mô hình như sau: Xem tại trang 13 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan