tai lieu weka

27
WEKA Đại Học Khoa Học Tự Nhiên TP.HCM Khoa Công Nghệ Thông Tin Biên soạn: Nguyễn Hoàng Khai

Upload: mirana-shade

Post on 08-Nov-2014

370 views

Category:

Documents


21 download

TRANSCRIPT

Page 1: Tai Lieu Weka

WEKA

Đại Học Khoa Học Tự Nhiên TP.HCM Khoa Công Nghệ Thông Tin

Biên soạn: Nguyễn Hoàng Khai

Page 2: Tai Lieu Weka

Nội dung

• Giới thiệu Weka

• Lịch sử phát triển

• Các phiên bản

• Các chương trình con

• Định dạng tập tin

• Khảo sát dữ liệu với Explorer

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

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

• Phân lớp

• Gom nhóm

2

Page 3: Tai Lieu Weka

Weka

• Waikato Environment for Knowledge Analysis

• Được phát triển bởi ĐH Waikato, New Zealand.

• Là phần mềm mã nguồn mở tích hợp các thuật toán máy học & khai thác dữ liệu

• Cung cấp các chức năng cơ bản của khai thác dữ liệu:

• Khảo sát dữ liệu

• Thống kê & học máy

• Thực nghiệm & kiểm chứng mô hình

• Sử dụng trong nghiên cứu, giảng dạy và ứng dụng.

3

Page 4: Tai Lieu Weka

Lịch sử phát triển

• 1993: Xây dựng nền tảng kiến trúc và giao diện

• 1994: Phát hành phiên bản Weka đầu tiên

• 1997: Bắt đầu xây dựng lại Weka bằng Java

• 1999: Hoàn thiện Weka 100% Java

• 2005: SIGKDD Data Mining and Knowledge Discovery Service Award

• Xếp hạng trên Sourgeforce.net (2009/09/16):

245 (1,630,936 lượt download)

4

Page 5: Tai Lieu Weka

Các phiên bản Weka

• Snapshot: Các bản vá lỗi mới nhất, cập nhật liên tục

• Book: Phiên bản gồm các chức năng được mô tả theo cuốn Data Mining: Practical Machine Learning Tools and Techniques của Ian Witten và Eibe Frank. (3.4.x)

• Developer: Phiên bản hỗ trợ nhiều tính năng mới nhưng chưa ổn định (3.7.x)

• Stable: Phiên bản ổn định nhất. (3.6.x)

• Trang chủ Weka: http://www.cs.waikato.ac.nz/ml/weka/

• Source code:

https://svn.scms.waikato.ac.nz/svn/weka/

5

Page 6: Tai Lieu Weka

Các chương trình con

6

Page 7: Tai Lieu Weka

Explorer

• Chương trình chính của Weka.

• Khảo sát dữ liệu, tiền xử lý, phân lớp, gom nhóm…

7

Page 8: Tai Lieu Weka

Simple CLI

• Tương tự Explorer, giao diện command-line

8

Page 9: Tai Lieu Weka

Experimenter

• Thực nghiệm, kiểm chứng và so sánh các mô hình máy học trên các tập dữ liệu

9

Page 10: Tai Lieu Weka

KnowledgeFlow

• Gồm các chức năng của Explorer, đồng thời cho phép kết nối & tổng hợp các thuật toán với giao diện đồ thị trực quan

10

Page 11: Tai Lieu Weka

Định dạng ARFF

1. Phần Header: Chứa các khai báo

• @relation <tên dữ liệu>

• @attribute <tên thuộc tính 1> <Kiểu dữ liệu>

• @attribute <tên thuộc tính 2> <Kiểu dữ liệu>

• @attribute <tên thuộc tính n> <Kiểu dữ liệu>

2. Phần dữ liệu: Chứa dữ liệu

• @data

• Instance 1

• Instance 2

• Instance n

11

Page 12: Tai Lieu Weka

Định dạng ARFF

• Các kiểu dữ liệu

• Numeric @ATTRIBUTE name numeric

• Nominal @ATTRIBUTE class {setosa, versicolor}

• String @ATTRIBUTE name string

• Date @ATTRIBUTE discovered date

• Dữ liệu thiếu: Ký hiệu “?”

12

Page 13: Tai Lieu Weka

@relation heart-disease-simplified

@attribute age numeric

@attribute sex { female, male}

@attribute chest_pain_type { typ_angina, asympt,

non_anginal, atyp_angina}

@attribute cholesterol numeric

@attribute exercise_induced_angina { no, yes}

@attribute class { present, not_present}

@data

63,male,typ_angina,233,no,not_present

67,male,asympt,286,yes,present

67,male,asympt,229,yes,present

38,female,non_anginal,?,no,not_present

...

Định dạng ARFF

13

Page 14: Tai Lieu Weka

Khảo sát dữ liệu với Explorer

• Tiền xử lý

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

• Phân lớp

• Gom nhóm

• Chọn lọc thuộc tính

• Biễu diễn dữ liệu

• Phiên bản sử dụng trong slide: Weka 3.6.1 14

Page 15: Tai Lieu Weka

Hiển thị thông tin về dữ liệu

Dữ liệu: • Tên dữ liệu • Số mẫu • Số thuộc tính

Thuộc tính • Tên thuộc tính • Kiểu dữ liệu • Số mẫu thiếu giá trị • Số giá trị khác nhau • Số mẫu có giá trị khác biệt • Các thông tin khác

Biểu đồ quan hệ giữa các thuộc tính 15

Page 16: Tai Lieu Weka

Tiền xử lý

• Các tác vụ tiền xử lý trong Weka được gọi là Filter

Cấu hình Filter

16

Page 17: Tai Lieu Weka

Các bộ lọc hỗ trợ bởi Weka

• Cung cấp 68 bộ lọc.

• Hỗ trợ các thông dụng như lấy mẫu lại, rời rạc hóa, chuẩn hóa, thay thế giá trị thiếu, chọn lọc thuộc tính, tổng hợp thuộc tính, …

• Lọc mẫu: Resample, Randomize, Normalize, Remove Frequent Values, …

• Lọc thuộc tính: Dicretize, Replace Missing Values, Add, Copy, Remove, Reorder, Add Values, Add Noise, ...

• Cho phép thiết lập cấu hình cho từng bộ lọc.

• Cho phép kết hợp nhiều bộ lọc khác nhau (Multi Filter).

17

Page 18: Tai Lieu Weka

Ví dụ: Rời rạc hóa dữ liệu

• Trước khi rời rạc

• Rời rạc bằng bộ lọc Discretize.

Chia 5 giỏ theo độ sâu

• Kết quả

18

Page 19: Tai Lieu Weka

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

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

• Apriori

• Predictive Apriori

• Filtered Associator

• Generalized Sequence Patterns

• Hotspot

• Tertius

19

Page 20: Tai Lieu Weka

Phân lớp

• Khoảng 80 thuật toán phân lớp, được chia thành nhiều nhóm:

• Bayes: Naïve Bayes, Bayes Net, …

• Hàm phân lớp: Gaussian, Liner Regression, SVM, …

• Cây: ID3, J48, NBTree, …

• Các thuật toán phân lớp dựa trên luật.

• Lazy: K*, …

20

Page 21: Tai Lieu Weka

Gom nhóm

• Cung cấp 11 thuật toán gom nhóm:

• DBScan

• Simple K Means

• X Means

• Farthest First

• EM

21

Page 22: Tai Lieu Weka

• Apriori

• FPGrowth

• Filtered Associator

• Generalized Sequental Patterns

• Hot Spot

• Predictive Apriori

• Tertius

Ví dụ Khai thác luật kết hợp với Weka

22

Page 23: Tai Lieu Weka

Apriori

• Khai thác tập phổ biến & luật kết hợp

• Hỗ trợ nhiều độ đo tính lý thú

• Tất cả các thuộc tính phải là rời rạc

Page 24: Tai Lieu Weka

Các tham số của Apriori

Page 25: Tai Lieu Weka

Các tham số của Apriori

• car: Chỉ có thuộc tính phân lớp ở vế phải của luật

• Dùng false để khai thác tất cả LKH.

• classIndex: Vị trí thuộc tính phân lớp trong dư liệu

• Mặc định: -1 (thuộc tính cuối cùng)

• lowerBoundMinSupport: giá trị MinSup của tập phổ biến.

• outputItemSets: xuất các tập phổ biến.

Page 26: Tai Lieu Weka

Các tham số của Apriori

• metricType: độ đo tính lý thú của LKH

• Confident (mặc định)

• Lift

• Leverage

• Conviction

• minMetric: độ lý thú chấp nhận được

• numRules: số LKH cần khai thác

• Thường dùng số đủ lớn để khai thác tất cả.

• significanceLevel: Tính lại 4 độ đo lý thú cho LKH sau khi khai thác

Page 27: Tai Lieu Weka

Ví dụ

• Dữ liệu: Weather.Nominal

• Numrules: 10, minsup: 0.1 minconf = 0.8

• Kết quả: 1. outlook=overcast 4 ==> play=yes 4 conf:(1)

2. temperature=cool 4 ==> humidity=normal 4 conf:(1)

3. humidity=normal windy=FALSE 4 ==> play=yes 4 conf:(1)

4. outlook=sunny play=no 3 ==> humidity=high 3 conf:(1)

5. outlook=sunny humidity=high 3 ==> play=no 3 conf:(1)

6. outlook=rainy play=yes 3 ==> windy=FALSE 3 conf:(1)

7. outlook=rainy windy=FALSE 3 ==> play=yes 3 conf:(1)

8. temperature=cool play=yes 3 ==> humidity=normal 3 conf:(1)

9. humidity=normal 7 ==> play=yes 6 conf:(0.86)

10. play=no 5 ==> humidity=high 4 conf:(0.8)