Tải bản đầy đủ (.pdf) (32 trang)

Hệ trợ giúp quyết định, Khai phá dữ liệu PHẦN mềm WEKA và ỨNG DỤNG

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 (1.81 MB, 32 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
***

BÁO CÁO
HỌC PHẦN HỆ TRỢ GIÚP QUYẾT ĐỊNH
ĐỀ TÀI: TÌM HIỂU PHẦN MỀM WEKA VÀ ỨNG DỤNG

GVHD:

ĐOÀN THỊ THANH HẰNG

NHÓM SV: 1. BÙI THANH THƯ
2. NGUYỄN HOÀI NAM
3. NGUYỄN TRƯỜNG PHI
LỚP:

HÀ NỘI, 09/2019

68DCHT211


LỜI NÓI ĐẦU
Ngày nay, khi mà cuộc cách mạng công nghệ 4.0 đang 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 trên thế giới. Đứng trước những thách thức bùng nổ của cuộc cách mạng này, cũng
như việc ứng dụng thông tin trong lĩnh vực của đời sống, xã hội thì Hệ trợ giúp quyết định (DSSDecision Support System) là hệ thống thông tin được tạo ra và phát triển để trợ giúp công tác ra
quyết định, đặc biệt đối với các hoạt động ra quyết định kinh doanh hoặc tổ chức
Các DSS phục vụ cho việc quản lý, vận hành và lập kế hoạch của một tổ chức, giúp mọi người
đưa ra quyết định về các vấn đề có thể thay đổi nhanh chóng và không dễ dàng xác định trước- tức
là các vấn đề quyết định không có cấu trúc và bán cấu trúc. Hệ thống hỗ trợ quyết định có thể vi


tính hóa hoàn toàn hoặc có thể có sự hỗ trợ của con người.
Cùng với sự ra đời của hệ trợ giúp quyết định, phần mềm Weka được xây dựng để hỗ trợ đắc lực
cho con người trong việc phân tích dữ liệu và lập các mô hình dự đoán, phục vụ tốt nhất cho quá
trình tổ chức, ra quyết định. Chính vì những tính năng hữu ích đó, nhóm chúng em quyết định chọn
đề tài: “Tìm hiểu về phần mềm Weka và những ứng dụng”. Trong quá trình thực hiện đề tài, do
kiến thức còn hạn hẹp nên không thể tránh những sai sót. Rất mong quý thầy (cô) nhận xét và đưa
ra những đánh giá để chúng em rút kinh nghiệm
Chúng em xin chân thành cám ơn!


NHẬN XÉT CỦA GIÁO VIÊN

............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
..................................................................................................


MỤC LỤC

PHẦN 1: GIỚI THIỆU VỀ PHẦN MỀM WEKA ..................................................................... 1
1.1.

Giới thiệu chung ......................................................................................................... 1

1.2.

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

1.3.

Các phiên bản của Weka............................................................................................. 2

1.4.

Ưu điểm của Weka ..................................................................................................... 2

PHẦN 2: TÌM HIỂU CHI TIẾT VỀ PHẦN MỀM WEKA ........................................................ 3

2.1.

Cài đặt Weka.............................................................................................................. 3

2.2.

Menu thành phần ........................................................................................................ 4

2.2.1

Program .............................................................................................................. 4

2.2.2.

Visualization ....................................................................................................... 5

2.2.3.

Tools................................................................................................................... 5

2.2.4.

Help .................................................................................................................... 6

2.2.5.

Applications ........................................................................................................ 6

2.3


Môi trường Explorer ................................................................................................... 8

2.3.1.

Preprocess ........................................................................................................... 8

2.3.2.

Classify ............................................................................................................... 9

2.3.3.

Cluster ...............................................................................................................10

2.3.4.

Associate: khám phá các luật kết hợp từ dữ liệu ...................................................10

2.3.5.

Select Attributes .................................................................................................11

2.4.

Visualize ...................................................................................................................11

PHẦN 3: ỨNG DỤNG CỦA PHẦN MỀM WEKA .................................................................11
3.1. Tập tin ARFF ...............................................................................................................11
3.2. Cây quyết định..............................................................................................................12
3.3. Thuật toán J48 ..............................................................................................................13

3.3. Xây dựng mô hình phân lớp bằng cây quyết định trong Weka ........................................15
3.3.1. Mô tả bài toán ........................................................................................................15
3.3.2. Tiền xử lý dữ liệu ...................................................................................................15
3.3.3. Sử dụng thuật toán J48 ...........................................................................................17
3.4. Đánh giá và kết luận .....................................................................................................26



DANH MỤC HÌNH ẢNH
Hình 0-1 Giao diện chính ......................................................................................................... 3
Hình 0-2 Menu thành phần ...................................................................................................... 4
Hình 0-3 Menu thành phần Program ......................................................................................... 4
Hình 0-4 Menu thành phần Visualization .................................................................................. 5
Hình 0-5 Menu thành phần Tools.............................................................................................. 6
Hình 0-6 Menu thành phần Applications ................................................................................... 7
Hình 0-7 Môi trường Explorer .................................................................................................. 8
Hình 0-8 Cấu trúc cây quyết định.............................................................................................13
Hình 0-9 Bảng dữ liệu các thuộc tính thời tiết ..........................................................................15
Hình 0-10 Chọn file dữ liệu Weather.aff ..................................................................................16
Hình 0-11 Kết quả hiển thị file dữ liệu weather.aff ...................................................................16
Hình 0-12 Thuật toán J48 ........................................................................................................17
Hình 0-13 Classify Output .......................................................................................................18
Hình 0-14 Tree View...............................................................................................................19
Hình 0-15 Kết quả với tỉ lệ phân chia 60% ...............................................................................20
Hình 0-16 Kết quả với tỉ lệ phân chia 70% ...............................................................................21
Hình 0-17 Kết quả tỉ lệ phân chia 60% .....................................................................................22
Hình 0-18 Kết quả tỉ lệ phân chia 50% .....................................................................................23
Hình 0-19 Kết quả tỉ lệ phân chia 40% .....................................................................................24
Hình 0-20 Kết quả tỉ lệ phân chia 35% .....................................................................................25
Hình 0-21 Quá trình khởi tạo và hoạt động của cây quyết định .................................................26



PHẦN 1: GIỚI THIỆU VỀ PHẦN MỀM WEKA
1.1.Giới thiệu chung
- WEKA: là tên viết tắt của Waikato Enviroment for Knowledge Analysis (Môi trường
phân tích kiến thức của Waikato)
- Weka là một phần mềm mã nguồn mở miễn phí khai thác dữ liệu, viết bằng ngôn ngữ
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, thuộc dự án nghiên cứu của đại học Waikato, New
Zealand. Ngoài khuôn khổ trường đại học, Weka còn được phát âm vần điệu với
Mecca- đây là một loài chim không bay với bản chất tò mò chỉ tìm thấy trên các đảo
ở New Zealand, đồng thời loài chim này cũng chính là biểu tượng cho phần mềm
Weka
- Các cột mốc phát triển phần mềm Weka:
 Năm 1993: Đại học Waikato khởi động dự án, xây dựng phiên bản đầu tiên
của Weka
 Năm 1997: quyết định xây dựng lại Weka từ đầu bằng ngôn ngữ Java, có cài
đặt các thuật toán mô hình hóa
 Năm 2005: Weka nhận giải thưởng SIGKDD Data Mining and Knowledge
Discovery Service Award.
- Hiện tại, phiên bản ổn định mới nhất của Weka là Weka 3.8. Ngoài ra, Đại học
Waikato còn cung cấp phiên bản đang phát triển Weka 3.9. Đối với mỗi phiên bản,
Weka được cung cấp đầy đủ các phiên bản cho hệ điều hành Windows, Mac OS X,
Linux. Lưu ý, máy tính cần có phải phiên bản Java cần thiết để để chạy một phiên bản
Weka cụ thể. Với bản Weka 3.8 hiện tại, máy tính cần cài đặt phiên bản Java 1.7 trở
lên
- Theo KDNugget (2005) đánh giá, Weka là sản phẩm khai thác dữ liệu được sử dụng
nhiều nhất, nổi bật và hiệu quả nhất năm 2005
1.2.Cấu trúc phần mềm
- Weka được xây dựng bằng ngôn ngữ Java, bao gồm hơn 600 class, tổ chức thành 10

packages
- Weka có một số lượng lớn các công cụ hồi quy và phân loại. Các gói bản địa là các
gói được bao gồm trong Weka thực thi, nổi tiếng nhất là gói cây mô hình M5p. Một
số công cụ hồi quy phổ biến khác như: M5Rules, Decision Stump, Random Forest,
RepTree, ZeRoR,...
- Các chức năng chính:
 Khảo sát dữ liệu: tiền xử lý dữ liệu, phân lớp, gom nhóm và khai thác luật kết
hợp
 Thực nghiệm mô hình: cung cấp các 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 môi trường chính:
 Simple CLI: giao diện đơn giản kiểu dòng lệnh, cho phép thực thi trực tiếp
lệnh của Weka cho các hệ điều hành không cung cấp giao diện dòng lệnh riêng

Hệ trợ giúp quyết định (DSS)

1




Explorer: Môi trường cho phép sử dụng tất cả các tính năng của Weka để khai
phá dữ liệu như là tính năng tiền xử lý dữ liệu (Preprocess), phân lớp
(Classtify),
phân cụm (Clusster), khai thác luật kết hợp (Associate)
 Experimenter: môi trường cho phép tiến hành các thí nghiệm và thực hiện các
kiểm tra thống kê giữa các mô hình học máy
 KnowledgeFlow: môi trường cho phép tương tác đồ họa kiểu kéo/ thả để thiết
kế các thành phần (các bước) của thí nghiệm

 Workbench: môi trường là sự kết hợp của cả 4 môi trường nêu trên, người sử
dụng có thể tùy ý chuyển đổi mà không cần quay lại cửa sổ “Weka GUI
Chooser”
- Weka hỗ trợ chạy được trên nhiều hệ điều hành khác nhau, trong đó được chia thành
2 nhóm chính là những phiên bản dành cho môi trường Windows và các platform như
Linux, Macintosh,..
1.3. Các phiên bản của Weka
- Snapshots: là các bản vá lỗi mới nhất, thường đượ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 cuốn
Data Minning:
ractical 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
1.4. Ưu điểm của Weka
- Phần mềm Weka được biết đến và sử dụng rộng rãi nhất vào khoảng năm 1997 với
những ưu điểm vượt trội:
 Tính khả dụng miễn phí theo giấy phép Công cộng GPL (General Public
License)
 Hỗ trợ nhiều thuật toán máy học và khai thác dữ liệu
 Kiến trúc thư viện dễ dàng cho việc xây dựng các ứng dụng thực nghiệm
 Được thực hiện bằng ngôn ngữ lập trình Java nên có tính di động cao, chạy
được trên hầu hết các nền tảng điện toán hiện đại nào đã được thử nghiệm như
Linux hay Window,..
 Tổng hợp toàn diện các kỹ thuật tiền xử lý và mô hình hóa dữ liệu
 Giao diện đồ họa giúp người dùng dễ sử dụng
- Ngoài ra, Weka còn hỗ trợ khai thác dữ liệu tiêu chuẩn, cụ thể hơn là tiền xử lý dữ
liệu, 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. Tất cả các kỹ
thuậ của Weka dựa trên giả định rằng dữ liệu có sẵn dưới dạng một tệp phẳng hoặc
quan hệ, trong đó mỗi điểm dữ liệu được mô tả bằng một số cố định


Hệ trợ giúp quyết định (DSS)

2


PHẦN 2: TÌM HIỂU CHI TIẾT VỀ PHẦN MỀM WEKA
2.1.Cài đặt Weka
- Link Dowload: />-

Các bước cài đặt tương tự như các phần mềm bình thường khác

Hình 0-1 Giao diện chính

Hệ trợ giúp quyết định (DSS)

3


2.2.Menu thành phần

Hình 0-2 Menu thành phần

2.2.1 Program

Hình 0-3Menu thành phần Program

Hệ trợ giúp quyết định (DSS)

4



-

LogWindow (Ctrl+L): ghi lại thông tin các lỗi hệ thống hay lỗi phát sinh trong quá
trình sử dụng phần mềm
Memory usage (Ctrl+M): sủ dụng bộ nhớ
Settings: cài đặt các chương trình Weka
Exit: chức năng đóng chương trình Weka

2.2.2. Visualization

Hình 0-4Menu thành phần Visualization

Visualization bao gồm các phương pháp biểu diễn trực quan giúp nhận rõ được bản
chất của tập dữ liệu:
 Plot (Ctrl+P): vẽ biểu đồ 2D cho tập dữ liệu
 ROC (Ctrl+R): vẽ biểu diễn một đường cong ROC đã lưu trước đó
 TreeVisualizer (Ctrl+T): biểu diễn đồ thị có hướng ( ví dụ như cây quyết định)
 GraphVisualizer (Ctrl+G): biểu diễn đồ thị tổng quát
 BoundaryVisualizer (Ctrl+B): biểu diễn 2D về biên giữa các lớp
2.2.3. Tools
-

Hệ trợ giúp quyết định (DSS)

5


Hình 0-5Menu thành phần Tools


Một số tiện ích khác của Weka được tích hợp trong tools:
 Package Manager (Ctrl + U): giao diện đồ họa cho trình quản lý gói của Weka
 ArffViewer ( Ctrl + A): là ứng dụng cho phép xem các file ARFF dưới dạng
bảng tính, nó giống như một file text với dữ liệu được lưu dưới dạng nối tiếp
nhau, giúp ta có một cái nhìn trực quan hơn thay vì nhìn trực tiếp vào nội dung
của file ARFF
 SQLViewer ( Ctrl + S): là chức năng dùng để kết nối các dữ liệu bên ngoài
khi biểu diễn bảng SQL để truy vấn dữ liệu
 Bayes net editor (Ctrl + N): ứng dụng để chỉnh sửa, hiển thị và tìm hiểu các
mạng lưới của Bayes
2.2.4. Help
- Help chứa đường dẫn đến trang chủ của Weka và các trang Web liên quan đến tài liệu
tham khảo cũng như các ví dụ mẫu,..
2.2.5. Applications
-

Hệ trợ giúp quyết định (DSS)

6


Hình 0-6Menu thành phần Applications

-

Applications chứa các môi trường chức năng chính của Weka:
 Explorer: cung cấp môi trường để khảo sát dữ liệu
 Experimenter: môi trường thực hiện các thực nghiệm và kiểm chứng giữa các
mô hình học

 Knowledge Flow: cũng có các chức năng tương tự như Explorer nhưng
Knowledge Flow lại có giao diện kéo thả tiện lợi. Đồng thời còn hỗ trợ chức
năng học tăng dần
 Workbench: được coi là ứng dụng tất cả trong một, nó kết hợp tất cả các ứng
dụng bên trong đó
 Simple CLI: cung cấp giao diện dòng lệnh thực thi Weka, tính năng này tương
tự như Command Prompt của Window. Simple CLI sẽ thực thi trực tiếp các
lệnh mà không cần thông qua giao diện
Hệ trợ giúp quyết định (DSS)

7


2.3 Môi trường Explorer
- Như đã nói ở trên, Weka có bốn môi trường chính là: Simple CLI, Explorer,
Experimenter, KnowledgeFlow. Trong đó Explorer là môi trường được sử dụng nhiều
nhất bởi nó cho phép người dùng sử dụng tất cả các tính năng của Weka để khám phá
dữ liệu

Hình 0-7Môi trường Explorer

2.3.1. Preprocess
- Preprocess: là một chức năng của Explorer hỗ trợ người dùng các thao tác trong việc
tiền xử lý dữ liệu. Nói cách khác Preprocess là chức năng giúp người dùng hiệu chỉnh
dữ liệu trước khi tiến hành các chức năng khác
 Đọc dữ liệu
- Trong tiền xử lý dữ liệu, Preprocess hỗ trợ tải lên 4 loại file:
 Open file: hiển thị hộp thoại cho phép duyệt file có sẵn từ máy vào Weka . Hệ
thống có thể đọc các tệp ở định dạng khác nhau như ARFF, CVS. Bên cạnh
những định dạng dữ liệu đã được dựng sẵn, người dùng cũng có thể thêm định

dạng file mới bằng cách hiệu chỉnh gói chức năng weka.core.converts. Tuy

Hệ trợ giúp quyết định (DSS)

8



-


-


-


2.3.2.

nhiên để có thể hiệu chỉnh gói phần mềm này, người dùng phải có một kiến
thức nhất định về Java
 Open URL: đọc dữ liệu từ nơi lưu trữ dữ liệu bằng địa chỉ URL (Uniform
Resource Locator)
 OpenDB: đọc dữ liệu từ cơ sở dữ liệu như MS SQL, My SQL,..tuy nhiên
người dùng cần phải chỉnh sửa file cấu hình trong weka/
experiment/DatabaseUtils.props
 Generate: phát sinh dữ liệu mới từ bộ sinh dữ liệu DateGenerators. Dữ liệu ở
đây sẽ được phát sinh ngẫu nhiên theo quy định của bộ phát sinh này trong
Weka
Hiệu chỉnh dữ liệu (edit)

Giúp người dùng điền hoặc chỉnh sửa để dữ liệu đầy đủ và chính xác hơn với một số
thao tác:
 Get mean: lấy trung bình giá trị của một thuộc tính trong tất cả các mẫu, nói
cách khác là lấy trung bình tất cả các dòng trong một cột
 Set all value to: đặt giá trị của một thuộc tính trong tất cả các mẫu bằng giá trị
do người dùng định
 Replace value with: thay thế giá trị của một thuộc tính cũ bằng giá trị mới
 Rename Attribute: đổi tên thuộc tính
 Attribute as class: đặt thuộc tính đăng chọn làm thuộc tính phân lớp
 Delete attribute: xóa thuộc tính
 Sort data: sắp xếp dữ liệu tăng dần theo thuộc tính được chọn
 Optimal column width: tối ưu hóa chiều rộng của cột
Current Realation ( Cung cấp thông tin về tập dữ liệu)
Khi dữ liệu được tải lên, bảng Preprocess sẽ hiển thị nhiều thông tin khác nhau, trong
đó có Current Relation. Current Relation cung cấp cái nhìn trực quan và chi tiết về dữ
liệu mà ta đang làm việc với 3 mục như sau:
 Relation:hiển thị tên của mối quan hệ
 Instances: số lượng các mẫu bản ghi trong bảng dữ liệu
 Attribute: số lượng các thuộc tính trong bảng dữ liệu
Filter (Lọc dữ liệu)
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 (Decretization)
 Chuẩn hóa (Nomalization)
 Lấy mẫu (Re-sampling)
 Lựa chọn thuộc tính (Attribute Selection)
 Chuyển đổi và kết hợp các thuộc tính
Save (Lưu dữ liệu)
Weka cho phép người dùng lưu trữ dữ liệu sau khi đã hiệu chỉnh theo nhiều định dạng
khác nhau
Classify


Hệ trợ giúp quyết định (DSS)

9


Các bộ phân lớp (Classifies) của Weka tương ứng với các mô hình dự đoán đạ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). Người dùng
có thể sử dụng Classify để chọn thuật toán hay điều chỉnh các tham số
- Các kỹ thuật phân lớp được hỗ trợ bởi Weka:
 Naïve Bayes classifier and Bayesian networks
 Decision trees
 Instance-based classifiers
 Support vector machines
 Neural networks
 J48
 ID3
 RamdomTree
 LMT
 RepTree
2.3.3. Cluster
- Các bộ phân cụm (Cluster Builder) của Weka tương ứng các mô hình tìm các nhóm
đối với một tập dữ liệu
- Các kỹ thuật phân cụm được hỗ trợ bởi Weka:
 Expectation maximization (EM)
 k-Means
 Canopy
 Cobweb
 FarthesFirst
 FillteredClusterer

 MakeDensityBase
- Các bộ phân cụm có thể được hiển thị kết quả và so sánh với các lớp thực tế
- Lựa chọn chế độ phân cụm (Cluster Mode):
 Use training set:
 Supply test set:
 Percentage split:
 Classes to Evalution:
-

2.3.4. Associate: khám phá các luật kết hợp từ dữ liệu
- Associator mode:
 Minium Support: Độ hỗ trợ tối thiểu
 Minium Confidence: Độ tin cậy tối thiểu
 Large/frequent itemsets: kích thước của các tập thường xuyên
 Liệt kê các luật kết hợp tìm được
- Một số các thông số:
 Car: khai phá luật kết hợp phân lớp
 Classindex: index của lớp dùng trong trường hợp “car= true”
 LowerBoundMinSupport: cận dưới độ hỗ trợ tối thiểu
Hệ trợ giúp quyết định (DSS)

10


 MetricType: dạng thang đo độ tin cậy của giải thuật khai phá luật kết hợp
 minMetric: số điểm tối thiểu chấp nhận được của thang đo
 numRules: số Rule cần tìm
 OutputItemset: hiển thị tập dữ liệu
 removeAllMissingCol: loại bỏ cột dữ liệu không có giá trị
 verbose: chạy chế độ hiển thị chi tiết quá trình

2.3.5. Select Attributes
- Lựa chọn thuộc tính để xác định 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 thuộc tính
 Search Method: Để xác định một phương thức (thứ tự) xét các thuộc tính
2.4. Visualize
- Hiển thị dữ liệu rất quan trọng trong thực tế, giúp xác định mức độ khó khăn của bài
toán
- Weka có thể hiển thị: thuộc tính riêng lẻ (1-D Visualization) và cặp thuộc tính (2-D
Visualization)
- Thanh trượt Jitter hỗ trợ việc hiển thị rõ ràng hơn khi có quá nhiều điểm tập trung
quanh 1 vị trí trên bản đồ
- Hiển thị biểu đồ tương tác 2 chiều đối với dữ liệu
- Các giá trị lớp khác nhau sẽ được hiển thị màu khác nhau
PHẦN 3: ỨNG DỤNG CỦA PHẦN MỀM WEKA
3.1. Tập tin ARFF
- Dữ liệu đầu vào của WEKA được định dạng chuẩn ARFF với phần mở rộng “*. arff”.
Tuy nhiên, WEKA cung cấp bộ chuyển đổi dữ liệu từ các định dạng “*. csv”, “*. names”,
“.data”, “*. json”, “*. libsvm”, “*. m”, “*. dat”, “*. bsi” sang dạng “*. arff”.
- Ngoài ra, cũng có thể bổ sung các định dạng khác bằng cách thêm bộ chuyển đổi tập tin
vào package “weka. core. converters”. Người sử dụng cần mở tập tin dữ liệu ban đầu,
tùy chỉnh dữ liệu rồi lưu lại với định dạng “*. arff”
- Một tập tin ARFF là một tập tin văn bản theo bảng mã ASCII mô tả một danh sách các
thể hiện (instances) của tập các thuộc tính. Một tập tin ARFF đơn giản có dạng:
@relation 1
@attribute name {John, Peter, Marry}
@attribute birthday date "yyyy-MM-dd HH: mm: ss"
@attribute math numeric
@attribute sentence string

@data
John,"2014-07-02 12:00:00",7,'aaa'
Peter,"2014-07-03 12:00:00",8,'aa b'
Marry,"2014-07-04 12:00:00",5,'Acvc aa1'
- Như đã thấy ở trên, một tập tin ARFF gồm 02 phần riêng biệt.

Hệ trợ giúp quyết định (DSS)

11





Phần thứ nhất có thể gọi là phần mô tả. Nó chứa thông tin về: tên của quan hệ,
các thuộc tính của quan hệ và dạng dữ liệu của mỗi thuộc tính.
Phần thứ hai là phần dữ liệu. Nó bắt đầu với từ khóa “@data” trên một dòng
riêng biệt. Sau đó là các thể hiện (instance) và mỗi thể hiện trên một dòng. Giá
trị các thuộc tính của một thể hiện phân cách nhau bằng một dấu “,”. Giá trị
các thuộc tính xuất hiện theo thứ tự được khai báo ở phần mô tả. Các giá trị bị
thiếu sẽ được thể hiện bằng “?”.

Tên của quan hệ được khai báo ở dòng đầu tiên của tập tin với cú pháp:
@relation<tên quan hệ>
Một thuộc tính được khai báo với cú pháp:
@attribute <tên thuộc tính><kiểu DL của thuộc tính>
Tên quan hệ và tên của thuộc tính là một chuỗi ký tự không bắt đầu bằng các ký tự đặc
biệt “{”, “}”, “,”, “%” và được đặt trong dấu nháy đơn nêu chứa khoảng trắng
- Tập tin ARFF định nghĩa các thuộc tính theo 4 kiểu chính:
 Thuộc tính dạng số: @attribute math numeric

 Thuộc tính dạng chuỗi: @attribute sentence string
 Thuộc tính định danh: @attribute name {}
 Thuộc tính dạng ngày tháng: @attribute birthday date "", định dạng ngày theo
tiêu chuẩn ISO-8601. Ví dụ “yyyy-MM-dd HH: mm: ss”.
3.2. Cây quyết định
- Cây quyết định là cây mà mỗi nút biểu diễn một đặc trưng (tính chất), mỗi
nhánh(branch) biểu diễn một quy luật(rule) và mỗi lá biểu biễn một kết quả (giá trị cụ
thể hay một nhánh tiếp tục)
- Trong lý thuyết quyết định (chẳng hạn quản lý rủi ro), một cây quyết định (tiếng
Anh: decision tree) là một đồ thị của các quyết định và các hậu quả có thể của nó (bao
gồm rủi ro và hao phí tài nguyên). Cây quyết định được sử dụng để xây dựng một kế
hoạch nhằm đạt được mục tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ
quá trình ra quyết định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.

Hệ trợ giúp quyết định (DSS)

12


Hình 0-8 Cấu trúc cây quyết định

- Các kiểu cây quyết định:
 Cây hồi quy (Regression Tree): ước lượng các hàm giá có giá trị là số thực thay
vì được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá một ngôi nhà
hoặc khoảng thời gian một bệnh nhân nằm viện)
 Cây phân loại (Classification tree): giới tính (nam hay nữ), kết quả của một
trận đấu (thắng hay thua).
- Ưu điểm của cây quyết định:
 Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị là
tên thể loại

 Cây quyết định là một mô hình hộp trắng.
 Có thể thẩm định một mô hình bằng các kiểm tra thống kê.
 Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn
3.3. Thuật toán J48
- Thuật toán J48 (hay còn gọi là C4.5) được tác giả Quinlan công bố vào năm 1996.
Thuật toán này là một thuật toán được cải tiến từ thuật toán ID3 và giải quyết hầu hết
các vấn đề mà ID3 chưa thực hiện được
- Đây là một sự cải tiến với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số
và làm việc được với tập dữ liệu bị thiếu và nhiễu.
- J48 thực hiện phân lớp mẫu dữ liệu theo chiến lược phát triển theo chiều sâu: xét tất
cả các phép thử có thể xảy ra để phân chia tập dữ liệu đã cho và chọn ra phép thử có
giá trị GainRaio tốt nhất
 Xác định thuộc tính phân lớp theo công thức của Gain:

Hệ trợ giúp quyết định (DSS)

13




-

Đến năm 1991, tác giả Nunez lại đưa ra một công thức khác:

Mô tả thuật toán dưới dạng mã như sau:

Hệ trợ giúp quyết định (DSS)

14



3.3. Xây dựng mô hình phân lớp bằng cây quyết định trong Weka
3.3.1. Mô tả bài toán
- Dữ liệu được dùng trong ví dụ này là file weather.aff có 4 thuộc tính: Outlook,
Temperature, Humidity, Windy và thuộc tính phân loại là Play có 2 giá trị Yes và
No. Đây là dữ liệu mô tả về khả năng có đến sân chơi thể thao hay không của những
người chơi thể thao phụ thuộc vào thời tiết

Hình 0-9 Bảng dữ liệu các thuộc tính thời tiết

Bằng cách sử dụng Weka để thực thi một cây quyết định, chúng ta có thể xây dựng
1 công cụ hỗ trợ được các yêu cầu dựa trên những dữ liệu khách quan thu thập trước
đó
3.3.2. Tiền xử lý dữ liệu
- Khởi động Weka và chọn Explorer
- Chọn File dữ liệu Weather.aff
-

Hệ trợ giúp quyết định (DSS)

15


Hình 0-10 Chọn file dữ liệu Weather.aff

-

Kết quả như sau:


Hình 0-11 Kết quả hiển thị file dữ liệu weather.aff

Hệ trợ giúp quyết định (DSS)

16


3.3.3. Sử dụng thuật toán J48

Hình 0-12 Thuật toán J48

-

-

Nhấn tab “Classify” :
 Nhấn nút Choose
 Mở thư mục tree
 Chọn thuật toán J48
 Nhấn Start
Ta thu được kết quả ở khung Classify Output:

Hệ trợ giúp quyết định (DSS)

17


Hình 0-13 Classify Output

a) Đánh giá hiệu quả phân lớp theo phương pháp Cros- Vadilation

- Kết quả được trả về theo các vùng dữ liệu:
 Vùng Run Information: cho biết thông tin về dữ liệu nguồn
o Đề án sử dụng: weka.classifiers.trees.J48 -C 0.25 -M 2
o Cơ sở dữ liệu: weather.symbolic
o Số trường: 14

Hệ trợ giúp quyết định (DSS)

18


-

o Số thuộc tính: 5 (Outlook, temperature, humidity, windy, play)
o Chế độ kiểm tra: 10-fold cross-validation
 Vùng hiển thị kết quả training:
o Chế độ phân lớp: toàn bộ dữ liệu
o Cây J48 sau khi tiến hành training:
outlook = sunny
| humidity = high: no (3.0)
| humidity = normal: yes (2.0)
outlook = overcast: yes (4.0)
outlook = rainy
| windy = TRUE: no (2.0)
| windy = FALSE: yes (3.0)
o Số lượng lá: 5
o Kích thước cây: 8
o Thời gian tiến hành: 0.01s
Kết quả hiển thị cây như sau:


Hình 0-14 Tree View

Hệ trợ giúp quyết định (DSS)

19


×