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

TỔNG QUAN về PHẦN mềm WEKA

19 290 4
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

Định dạng
Số trang 19
Dung lượng 1,24 MB

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

Nội dung

PHẦN II: NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ PHẦN MỀM WEKA I. GIỚI THIỆU VỀ WEKA 1. Khái niệm WEKA – Waikato Environment for Knowledge Analysis Là phần mềm khai thác dữ liệu, thuộc dự án nghiên cứu của đại học Waikato, New Zealand. WEKA là một phần mềm mã nguồn mở miễn phí khai thác dữ liệu, được xây dựng bằng ngôn ngữ lập trình Java, theo kiến trúc hướng đối tượng, được tổ chức thành thư viện phục vụ cho lĩnh vực học máy và khai phá dữ liệu Weka cung cấp các thuật toán học tập có thể dễ dàng áp dụng cho các bộ dữ liệu(dataset). Nó cũng bao gồm một loạt các công cụ để chuyển đổi các bộ dữ liệu như các thuật toán để phân loại và lấy mẫu mà không cần viết bất kỳ mã chương trình nào. Weka chứa một bộ sưu tập các công cụ trực quan và thuật toán để phân tích dữ liệu cũng như các mô hình dự đoán, cùng với các giao diện đồ họa để dễ dàng truy cập các chức năng này. • 1993 – Đại học Waikato, New Zealand, khởi động dự án, xây dựng phiên bản đầu tiên của Weka. • 1997 – Quyết định xây dựng lại Weka từ đầu bằng Java, có cài đặt các thuật toán mô hình hóa. • 2005 – Weka nhận giải thưởng SIGKDD Data Mining and Knowledge Discovery Service Award.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI: TÌM HIỂU VỀ PHẦN MỀM WEKA

Gia Lai, tháng 8 năm 2021

Trang 2

MỤC LỤC

PHẦN I: MỞ ĐẦU 2

PHẦN II: NỘI DUNG 4

CHƯƠNG I: TỔNG QUAN VỀ PHẦN MỀM WEKA 4

I GIỚI THIỆU VỀ WEKA 4

1 Khái niệm 4

2 Cấu trúc phần mềm Weka và các phiên bản 5

II NHỮNG TÍNH NĂNG VƯỢT TRỘI CỦA WEKA 5

III ĐỊNH DẠNG DỮ LIỆU 6

CHƯƠNG II: MÔI TRƯỜNG CHỨC NĂNG CỦA PHẦN MỀM 6

I CÁC MÔI TRƯỜNG CHỨC NĂNG CỦA WEKA 6

1 Explorer 6

2 Experimenter 7

3 KnowledgeFlow 7

4 Simple CLI 8

II TÌM HIỂU MÔ HÌNH EXPLORE 8

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

2 Khai thác luật kết hợp 9

3 Phân lớp 10

4 Gom nhóm 11

5 Lựa chọn thuộc tính 12

6 Mô hình hóa dữ liệu 12

CHƯƠNG III: VÍ DỤ 13

PHẦN III: KẾT LUẬN 18

Trang 3

TÀI LIỆU THAM KHẢO 20

PHẦN I: MỞ ĐẦU

Ngày nay khi mà thời buổi công nghiệp hóa, hiện đại hóa đang ngày càng phát triển trên toàn cầu thì công nghệ thông tin cũng trở thành trợ thủ đắc lực của con người trong cuộc sống và ở bất kỳ quốc gia nào để có thể hòa nhập với thế giới Đứng trước những thách thức , trước sự bùng nổ của thời đại công nghệ 4.0 cũng như việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống kinh tế xã hội, cách khai thác dữ liệu truyền thống không còn đáp ứng những yêu cầu , thách thức mới Do đó kỹ thuật phát hiện tri thức trong cơ sở dữ liệu mới ra đời nhằm giải quyết bài toán khai phá dữ liệu

Khai phá dữ liệu là một ngành khoa học thực nghiệm Nó được thiết kế sao cho cung cấp nhiều sự hỗ trợ cho toàn bộ quá trình xử lý số liệu thực nghiệm, bao gồm chuẩn bị dữ liệu đầu vào, việc ước lượng học những sơ đồ thống kê, và hình dung dữ liệu ra và kết quả của việc

học Khai phá dữ liệu (Data Mining) là lĩnh vực khá khó để khám phá và nghiên cứu Do đó,

nhiều phần mềm đã ra đời với mục tiêu là giúp cho người dùng có thể dễ dàng nghiên cứu các bài toán trong những lĩnh vực khó nhằn này Và trong những phần mềm đó thì Weka là một phần mềm hỗ trợ đắc lực cho con người trong việc phân tích dữ liệu, lập các mô hình dự đoán

phục vụ tốt cho việc khai phá dữ liệu Đề tài tiểu luận của em là : Tìm hiểu về phần mềm Weka

Em xin chân thành cảm ơn Giảng viên : TS.Trần Thị Hồng cung cấp kiến thức cũng như tài liệu tham khảo để em hoàn thành tiểu luận này Do kiến thức cũng như thời gian còn hạn chế nên không tránh khỏi các sai sót ngoài ý muốn Rất mong nhận được sự góp ý, giúp đỡ của cô để

em hoàn thành tiểu luận tốt hơn

Trang 4

PHẦN II: NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ PHẦN MỀM WEKA

I GIỚI THIỆU VỀ WEKA

1 Khái niệm

WEKA – Waikato Environment for Knowledge Analysis

Là phần mềm khai thác dữ liệu, thuộc dự án nghiên cứu của đại học Waikato, New Zealand WEKA là một phần mềm mã nguồn mở miễn phí khai thác dữ liệu, được xây dựng bằng ngôn ngữ lập trình Java, theo kiến trúc hướng đối tượng, được tổ chức thành thư viện phục vụ cho lĩnh vực học máy và khai phá dữ liệu

Weka cung cấp các thuật toán học tập có thể dễ dàng áp dụng cho các bộ dữ liệu(dataset) Nó cũng bao gồm một loạt các công cụ để chuyển đổi các bộ dữ liệu như các thuật toán để phân loại và lấy mẫu mà không cần viết bất kỳ mã chương trình nào

Weka chứa một bộ sưu tập các công cụ trực quan và thuật toán để phân tích dữ liệu cũng như các mô hình dự đoán, cùng với các giao diện đồ họa để dễ dàng truy cập các chức năng này

 1993 – Đại học Waikato, New Zealand, khởi động dự án, xây dựng phiên bản đầu tiên

của Weka

 1997 – Quyết định xây dựng lại Weka từ đầu bằng Java, có cài đặt các thuật toán mô

hình hóa

 2005 – Weka nhận giải thưởng SIGKDD Data Mining and Knowledge Discovery

Service Award

Trang 5

2 Cấu trúc phần mềm Weka và các phiên bản

Cấu trúc phần mềm

 WEKA được xây dựng bằng ngôn ngữ Java, cấu trúc gồm hơn 600 lớp, tổ chức thành

10 packages

 Các chức năng chính của phần mềm:

 Khảo sát dữ liệu: tiền xử lí dữ liệu, phân lớp, gom nhóm dữ liệu, và khai thác luật kết hợp

 Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng, đánh giá các mô hình học

 Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau

Các phiên bản:

 Snapshots là các bản vá lỗi mới nhất, thường là được cập nhật hàng đêm.

 Book versions là các phiên bản thể hiện những chức năng được mô tả trong quyển sách Data Mining: Practical Machine Learning Tools and Techniques (2nd Edition) của

Ian.H.Witten và Eibe Frank

 Developer versions là các phiên bản thử nghiệm, hỗ trợ nhiều tính năng mới nhưng còn

chưa ổn định

Weka được đánh giá là sản phẩm khai thác dữ liệu nổi bật là bởi những tính năng đặc biệt như sau:

- Hỗ trợ nhiều thuật toán máy học và khai thác dữ liệu

- Được tổ chức theo dạng mã nguồn mở để người dùng dễ dàng tải về và sử dụng

- Độc lập với môi trường do sử dụng máy ảo Java

- Dễ sử dụng, kiến trúc thuộc dạng thư viện dễ dàng cho việc xây dựng các ứng dụng thực nghiệm

- Giao diện đồ họa ( gồm cả tính năng hiển thị hóa dữ liệu)

- Môi trường cho pháp so sánh các giải thuật học và khai phá dữ liệu

- Weka hỗ trợ một số nhiệm vụ khai thác dữ liệu tiêu chuẩn cụ thể là xử lý trước dữ liệu, phân cụm, phân cụm, phân loại, hồi quy, trực quan hóa và lựa chọn tính năng

Trang 6

III ĐỊNH DẠNG DỮ LIỆU

Weka hỗ trợ khá nhiều định dạng như:

 ARFF: *.arff

 CVS files: *.cvs

 C4.5 files: *.name, *.data

 XRFF files: *.xrff

Trong đó, ARFF là định dạng chính được sử dụng phổ biến nhất trong Weka

ARFF là định dạng được sử dụng chính trong Weka, được biểu diễn dưới một dạng file text có thể đọc được một cách đơn giản bằng các chương trình như notepad… mà không cần phải có chương trình chuyên dụng Các dữ liệu trong file là giá trị thuộc tính của các thể hiện (instance)

có chung tập hợp các thuộc tính

ARFF dễ thao tác và dễ hiểu, người dùng có thể tự tạo cho mình một file ARFF khi hiểu về những quy định chuẩn của nó Tuy nhiên, vì là định dạng chuyên dụng cho mỗi chương trình Weka nên những ứng dụng khác không thể đọc được nó Do đó, khi sử dụng kết hợp Weka với các chương trình khác thì người dùng buộc phải xây dựng các module để chuyển kiểu dữ liệu

từ ARFF sang kiểu dữ liệu tương ứng với chương trình đó

CHƯƠNG II: MÔI TRƯỜNG CHỨC NĂNG CỦA PHẦN MỀM

I CÁC MÔI TRƯỜNG CHỨC NĂNG CỦA WEKA

1 Explorer

Explorer: là ứng dụng con cho phép thực nghiệm các nhiệm vụ khai thác dữ liệu thường gặp như:

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

- Khai thác luật kết hợp

- Phân lớp

- Gom nhóm

Trang 7

2 Experimenter

Experimenter: là ứng dụng con cung cấp môi trường thực nghiệm để kiểm chứng các mô

hình học, so sánh với nhau để đánh giá

3 KnowledgeFlow(KF) là môi trường cho phép bạn tương tác đồ họa kiểu kéo/thả để thiết kế

các bước (các thành phần) của một thí nghiệm KF là công cụ rất quan trong đối với việc xây dựng mô hình khai phá dữ liệu vì KF cho phép người xây dựng mô hình có thể điều chỉnh

Trang 8

từng giai đoạn (phase) cũng như điều chỉnh các tham số tương ứng với từng thuật toán qua từng bước để có một mô hình khai phá với kết quả tốt hơn

4 Simple CLI với giao diện đơn giản và kiểu dòng lệnh (như MS-DOS)

II.TÌM HIỂU MÔ HÌNH EXPLORER

Explorer là môi trường thể hiện đầy đủ các phương tiện để thao tác với dữ liệu và các thuật toán máy học được cung cấp bởi Weka Cung cấp một giao diện người dùng tiện dụng cho việc thực thi các thuật toán máy học trên bộ dữ liệu người dùng đưa vào

Giao diện:

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

 Dữ liệu có thể được nhập vào (imported) từ một tập tin có khuôn dạng: ARFF, CSV

 Dữ liệu cũng có thể được đọc vào từ một địa chỉ URL, hoặc từ một cơ sở dữ liệu thông qua JDBC

 Các công cụ tiền xử lý dữ liệu của WEKA được gọi là filters:

 Rời rạc hóa (Discretization)

 Chuẩn hóa (Normalization) Chuẩn hóa (Normalization)

 Lấy mẫu (Re-sampling)

 Lựa chọn thuộc tính (Attribute selection)

 Chuyển đổi (Transforming) và kết hợp (Combining) các thuộc tính

 …

Trang 9

2 Khai thác luật kết hợp(Associate)

+ Cung cấp các thuật toán khai thác luật kết hợp

- Apriori

- PredictiveApriori: là cải tiến của thuật toán Apriori

+ Associator output hiển thị các thông tin quan trọng:

 Run information: Các tùy chọn đối với mô hình phát hiện luật kết hợp, tên của tập dữ liệu, số lượng các ví dụ, các thuộc tính

 Associator model (full training set): Biểu diễn (dạng text) của tập các luật kết hợp phát hiện được

 Độ hỗ trợ tối thiểu (minimum support)

 Độ tin cậy tối thiểu (minimum confidence)

 Kích thước của các tập mục thường xuyên (large/frequent itemsets)

 Liệt kê các luật kết hợp tìm được

Trang 10

3 Phân lớp(Classify)

+ Các bộ phân lớp (Classifiers) của WEKA tương ứng với các mô hình dự đoán các đại lượng kiểu định danh (phân lớp) hoặc các đại lượng kiểu số (hồi quy/dự đoán)

+ Các kỹ thuật phân lớp được hỗ trợ bởi WEKA:

 Decision trees (Cây quyết định )

 Support vector machines (Hỗ trợ máy vector)

 Neural networks (Các mạng thần kinh)

+ Lựa chọn một bộ phân lớp (classifier)

+ Lựa chọn các tùy chọn cho việc kiểm tra (test options):

 Use training set: Bộ phân loại học được sẽ được đánh giá trên tập học trên tập học

 Supplied test set: Sử dụng một tập dữ liệu khác (với tập học) để cho việc đánh giá

 Cross-validation: Tập dữ liệu sẽ được chia đều thành K tập (folds) có kích thước xấp xỉ nhau, và bộ phân loại học được sẽ được đánh giá bởi phương pháp cross-validation

 Percentage split: Chỉ định tỷ lệ phân chia tập dữ liệu đối với việc đánh giá

 Output model: Hiển thị bộ phân lớp học được

 Output per-class stats: Hiển thị các thông tin thống kê về precision/recall đối với mỗi lớp

 Output entropy evaluation measures: Hiển thị đánh giá độ hỗn tạp (entropy) của tập dữ liệu

Trang 11

 Output confusion matrix: Hiển thị thông tin về ma trận lỗi phân lớp (confusion matrix) đối với phân lớp học được

 Store predictions for visualization: Các dự đoán của bộ phân lớp được lưu lại trong bộ nhớ, để có thể được hiển thị sau đó

 Output predictions: Hiển thị chi tiết các dự đoán đối với tập kiểm tra

 Cost-sensitive evaluation: Các lỗi (của bộ phân lớp) được xác định dựa trên ma trận chi phí (cost matrix) chỉ định

 Random seed for XVal / % Split: Chỉ định giá trị random seed được sử dụng cho quá trình lựa chọn ngẫu nhiên các ví dụ cho tập kiểm tra Classifier output hiển thị các thông tin quan trọng:

 Run information: Các tùy chọn đối với mô hình học, tên của tập dữ liệu, số lượng các ví dụ, các thuộc tính, và f.f thí nghiệm

 Classifier model (full training set): Biểu diễn (dạng text) của bộ phân lớp học

 Predictions on test data: Thông tin chi tiết về các dự đoán của bộ phân lớp đối với tập kiểm tra

 Summary: Các thống kê về mức độ chính xác của bộ phân lớp, đối với f.f thí nghiệm đã chọn

 Detailed Accuracy By Class: Thông tin chi tiết về mức độ chính xác của bộ phân lớp đối với mỗi lớp

 Confusion Matrix: Các thành phần của ma trận này thể hiện số lượng các ví dụ kiểm tra (test instances) được phân lớp đúng và bị phân lớp sai

 Result listcung cấp một số chức năng hữu ích:

 Save model: Lưu lại mô hình tương ứng với bộ phân lớp học được vào trong một tập tin nhị phân (binary file)

 Load model: Đọc lại một mô hình đã được học trước đó từ một tập tin nhị phân

 Re-evaluate model on current test set: Đánh giá một mô hình (bộ phân lớp) học được trước đó đối với tập kiểm tra (test set)

 Visualize classifier errors: Hiển thị cửa sổ biểu đồ thể hiện các kết quả của việc phân lớp

Các ví dụ được phân lớp chính xác sẽ được biểu diễn bằng ký hiệu bởi dấu chéo (x), còn các

ví dụ bị phân lớp sai sẽ được biểu diễn bằng ký hiệu ô vuông

4 Gom nhóm (Cluster)

Cung cấp các thuật toán gom nhóm phổ biến, ví dụ:

- DBSCan

- EM (Expectation Maximization)

Trang 12

- K-Means

5 Lựa chọn thuộc tính (Select Attributes)

- Để xác định những thuộc tính nào là quan trọng nhất

- Trong Weka một phương pháp lựa chọn thuộc tính bao gồm 2 phần:

Attribute Evaluator Xác định một phương pháp đánh giá mức độ phù hợp của các

thuộc tính, ví dụ: Tính tương quan, bao bọc, tăng thông tin

Search Method Xác định một phương pháp (thứ tự xét các thuộc tính) Vd: Tính ngẫu

nhiên, đầy đủ…

6 Mô hình hóa dữ liệu (Visualize)

Visualize là phần biểu diễn trực quan tập dữ liệu giúp người dùng có thể hiểu rõ bản chất tập dữ liệu đang khảo sát Visualize biểu diễn tập dữ liệu thông qua các ký hiệu hoặc màu sắc, giúp người dùng nhìn rõ được tập dữ liệu đang khảo sát được phân bố như thế nào, giá trị các thuộc tính ra sao.

Trang 13

CHƯƠNG III VÍ DỤ MINH HỌA

Demo sử dụng Weka Explorer

Trong phần này sẽ trình bày cách sử dụng Weka để xây dựng cây quyết định C4.5 sử dụng dữ liệu play tennis

Dữ liệu được nhập từ file tennis.arff Các bước thực hiện huấn luyện như sau:

Nhập dữ liệu

Nhấn Open file để import file dữ liệu

Hiệu chỉnh dữ liệu

Trang 14

Hiệu chỉnh dữ liệu để đáp ứng yêu cầu của bài toán

Chọn thuật toán huấn luyện

Chú ý ở đây ta chọn J48 vì Weka implement một thuật toán dựa trên C4.5 gọi nó J48 để giải quyết một số vần đề implement của thuật toán C4.5

Cấu hình training set

Chọn bộ dữ liệu test thích hợp để test cây sau khi huấn luyện và tính độ lỗi, tỉa cây

Trang 15

Start training

Nhấn Start để bắt đầu huấn luyện cây

Xem kết quả

Trang 16

Kết quả được hiển thị ở khung Classifier Output Sử dụng scrollbar để xem kết quả đầy đủ.

Cây quyết định kết quả có thể được view ở dạng Cây 1 cách trực quan bằng cách thực hiện như hình vẽ trên

Cây quyết định sau khi chạy có dạng như sau:

Trang 18

PHẦN III: KẾT LUẬN

Trong tiểu luận trên, em đã trình bày tổng quan về phần mềm Weka, và lấy một ví dụ về việc phân tích dữ liệu về thời tiết để đưa ra quyết định đi chơi hay không đi chơi…

Với những tính năng vượt trội và mạnh mẽ, đặc biệt là phần mềm mã nguồn mở, giờ đây người dùng có thể nghiên cứu các giải thuật trong khai phá dữ liệu hay học máy một cách dễ dàng và trực quan hóa hơn, đặc biệt là những người mới tập tành nghiên cứu, tìm hiểu lĩnh vực này Ngoài ra, với những chuyên gia, có thể sử dụng các class có sẵn để làm thư viện và tùy biến, chỉnh sửa thành những chức năng phục vụ cho nghiên cứu chuyên sâu

Do kiến thức còn hạn hẹp nên bài báo cáo của em không tránh có thiết sót ngoài ý muốn, rất mong nhận được sự giúp đỡ, góp ý của cô và các bạn

Em xin chân thành cảm ơn!

Trang 19

TÀI LIỆU THAM KHẢO

- Trang chủ Weka: https://www.cs.waikato.ac.nz/ml/weka/

- Wikipedia Weka: https://en.wikipedia.org/wiki/Weka_(machine_learning)

- http://www.nsl.hcmus.edu.vn/greenstone/collect/thesiskh/index/assoc/HASH8c8d.dir/5.p df

- Nguyễn Thị Hạnh, T.S Hồ Cẩm Hà, “Khai phá dữ liệu bằng cây quyết định”, 2008

- http://www.cs.waikato.ac.nz/ml/weka/index_documentation.html

Ngày đăng: 25/09/2021, 22:41

TỪ KHÓA LIÊN QUAN

w