Tải bản đầy đủ (.doc) (19 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (913.42 KB, 19 trang )

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


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


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 tồ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 tồn bộ q 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 tố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ự đố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 ngồi ý muốn. Rất mong nhận được sự góp ý, giúp đỡ của cơ để
em hồn thành tiểu luận tốt hơn.


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 tố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 tốn để phân tích dữ liệu cũng như
các mơ hình dự đố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 tốn mơ
hình hóa.
 2005 – Weka nhận giải thưởng SIGKDD Data Mining and Knowledge Discovery
Service Award.


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.
II.

NHỮNG TÍNH NĂNG VƯỢT TRỘI CỦA WEKA
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.


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 chun 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


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


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ó khn 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
 …



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 tố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.


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ự đố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 crossvalidation.
 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.


 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
q


trình

lựa

chọn

ngẫu

nhiên

các



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 ơ vng .
4. Gom nhóm (Cluster)
Cung cấp các thuật tốn gom nhóm phổ biến, ví dụ:
-

DBSCan

-

EM (Expectation Maximization).


-

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.


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


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 tố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 tố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


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

Xem kết quả


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:



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.
Ngồ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 ngồ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!


TÀI LIỆU THAM KHẢO
-

Trang chủ Weka: />Wikipedia Weka: />
-

/>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

-

/>


×