Bài báo cáo nhóm môn trí tuệ nhân tạo CHƯƠNG 1. TÌM HIỂU CÔNG CỤ WEKA CÁC CHỨC NĂNG CHÍNH CỦA WEKA CHƯƠNG 2 TÌM HIỂU VỀ GIAO DỊCH – TRANSACTION .....................................................................................................................................................................................................................................................................................................................
Trang 11
TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA KỸ THUẬT – CÔNG NGHỆ
BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO
TÊN ĐỀ TÀI: MÁY HỌC _ 01
Trang 22
TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA KỸ THUẬT – CÔNG NGHỆ
BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO
TÊN ĐỀ TÀI: MÁY HỌC _ 01
Trang 33
PHỤ LỤC
HƯƠNG 1 TÌM HIỂU CÔNG CỤ WEKA CÁC CHỨ N NG HÍNH 5
I Tìm hiểu công cụ Weka 5
1 Giới thiệu phần mềm Weka 5
2 Cài đặt Weka 6
II Các chức năng chính của phần mềm 6
1 Các chức năng chính của phần mềm: 6
2 WEKA – Các môi trường chính 9
3 WEKA – Môi trường Explore 9
4 WEKA Khuôn dạng của tập dữ liệu 10
5 WEKA Explorer: Tiền xử lý dữ liệu 10
6 WEKA Explorer: Các bộ phân lớp (1) 11
7 WEKA Explorer: Các bộ phân lớp (2) 11
8 WEKA Explorer: Các bộ phân lớp (3) 11
9 WEKA Explorer: Các bộ phân lớp (4) 12
10 WEKA Explorer: Các bộ phân lớp (5) 12
11 WEKA Explorer: Các bộ phân cụm (1) 13
12 WEKA Explorer: Các bộ phân cụm (2) 13
13 WEKA Explorer: Luật kết hợp 13
14 WEKA Explorer: Lựa chọn thuộc tính 13
15 WEKA Explorer: Hiển thị dữ liệu 14
III Tìm hiểu đặc tính tập dữ liệu 14
1 Khái quát về tập dữ liệu 14
2 Các kiểu dữ liệu chính 14
3 Các kiểu giá trị thuộc tính 15
4 Tiến hành mô tả tập dữ liệu File 15
HƯƠNG 2 - TÌM HIỂU VỀ GIAO DỊCH – TRANSACTION 16
Trang 44
I Khái niệm về cơ sở dử liệu giao dịch 16
II Khái niệm về giao dịch 16
HƯƠNG 3 SỬ DỤNG WEKA ĐỂ CHẠY THUẬT TOÁN APRIORI 18
I Tổng quan về thuật toán Apriori 18
1 Nguyên tắc Apriori 18
2 Mô tả thuật toán Apriori trong việc tìm luật luật kết hợp 18
II Ứng dụng thuật toán Apriori tìm luật kết hợp trên Weka 19
Trang 55
HƯƠNG 1 TÌM HIỂU CÔNG CỤ WEKA CÁC CHỨ N NG HÍNH
I Tìm hiểu công cụ Weka
1 Giới thiệu phần mềm Weka
- 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
- Mục tiêu: Xây dựng một công cụ hiện đại nhằm
phát triển các kỹ thuật máy học và áp dụng chúng vào bài
toán khai thác dữ liệu trong thực tế
- Năm 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
- Năm 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
- Năm 2005 – Weka nhận giải thưởng SIGKDD Data Mining and Knowledge Discovery Service Award
Xếp hạng trên Sourceforge.net từ 25-06-2007: 241 (907,318 lượt) Thông qua
địa chỉ trang chủ: http://www.cs.waikato.ac.nz/ml/weka/
Các phiên bản Weka:
- 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 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
Trang 66
2 ài đặt Weka
Download công cụ Weka: https://sourceforge.net/projects/weka/
Hình 1: Trang chủ Download weka-3-8-4-azul-zulu-windows
Hình 2: Giao diện chương trình WEKA sau khi được cài đặt
II 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
1 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
Tiền xử lí dữ liệu:
- Hiển thị thông tin về dữ liệu đang xét
+ Tập dữ liệu: tên, số mẫu, số thuộc tính
+ Các thuộc tính: tên, kiểu dữ liệu, giá trị thuộc tính, tỷ lệ %
+ Biểu đồ minh họa thông tin
- Cung cấp các bộ lọc dữ liệu thông dụng, ví dụ:
+ ReplaceMissingValues: thay thế giá trị thiếu
Trang 77
+ Normalize: chuẩn hĩa dữ liệu về đoạn [0, 1]
+ Discretize: rời rạc hĩa dữ liệu
Khai thác luật kết hợp: Cung cấp các thuật tốn khai thác luật kết hợp
- Apriori
- PredictiveApriori: là cải tiến của thuật tốn Apriori
Phân lớp: Cung cấp rất nhiều thuật tốn phân lớp, được gom thành các nhĩm dựa trên cơ sở lý thuyết hoặc chức năng
- Bayes: mạng Bayes, Nạve Bayes
- Hàm: SVM, các phương pháp hồi quy, hậu tuyến tính…
Trang 99
Một tập các công cụ các giải thuật học máy, khai phá dữ liệu, và các phương pháp thí nghiệm đánh giá
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 máy và khai phá dữ liệu
2 WEKA – ác môi trường chính
Simple CLI: Giao diện đơn giản kiểu dòng lệnh (như MS-DOS)
Explorer: Môi trường cho phép sử dụng tất cả các khả năng của WEKA để
khám phá dữ liệu
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ê (statistical tests) giữa các mô hình học máy
KnowledgeFlow: 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
3 WEKA – ôi trường Explore
Preprocess: Để chọn và thay đổi (xử lý) dữ liệu làm việc
Trang 1010
Classify: Để huấn luyện và kiểm tra các mô hình học máy (phân loại, hoặc hồi quy/dự đoán)
Cluster: Để học các nhóm từ dữ liệu (phân cụm)
Associate: Để khám phá các luật kết hợp từ dữ liệu
Select attributes: Để xác định và lựa chọn các thuộc tính liên quan (quan trọng) nhất của dữ liệu
Visualize: Để xem (hiển thị) biểu đồ tương tác 2 chiều đối với dữ liệu
4 WEKA Khuôn dạng của tập dữ liệu
5 WEKA Explorer: Tiền xử lý dữ liệu
- 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)
• 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 1111
6 WEKA Explorer: Các bộ phân lớp (1)
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ự đốn)
Các kỹ thuật phân lớp được hỗ trợ bởi WEKA
Nạve Bayes classifier and Bayesian networks
Decision trees
Instance-based classifiers
Support vector machines
Neural networks,…
7 WEKA Explorer: Các bộ phân lớp (2)
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
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á
8 WEKA Explorer: Các bộ phân lớp (3)
More options…
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
Trang 1212
(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
9 WEKA Explorer: Các bộ phân lớp (4)
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 đượ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
10 WEKA Explorer: Các bộ phân lớp (5)
Result list cung 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) hiện tại
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 (◻)
Trang 1313
11 WEKA Explorer: Các bộ phân cụm (1)
- Các bộ phân cụm (Cluster builders) của WEKA tương ứng với các mô hình tìm các nhóm của các ví dụ tương tự đố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…
- Các bộ phân cụm có thể được hiển thị kết quả và so sánh với các cụm (lớp) thực tế
12 WEKA Explorer: Các bộ phân cụm (2)
- Lựa chọn một bộ phân cụm (cluster builder)
- Lựa chọn chế độ phân cụm (cluster mode)
+ Use training set Các cụm học được sẽ được kiểm tra đối với tập học
+ Supplied test set Sử dụng một tập dữ liệu khác để kiểm tra các cụm học được
+ Percentage split Chỉ định tỷ lệ phân chia tập dữ liệu ban đầu cho việc xây dựng tập kiểm tra
+ Classes to clusters evaluation So sánh độ chính xác của các cụm học được đối với các lớp được chỉ định
- Store clusters for visualization
→ Lưu lại các bộ phân lớp trong bộ nhớ, để có thể hiện thị sau đó Ignore attributes
→ Lựa chọn các thuộc tính sẽ không tham gia vào quá trình học các cụm
13 WEKA Explorer: Luật kết hợp
- Lựa chọn một mô hình (giải thuật) phát hiện luật kết hợp
- 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)
14 WEKA Explorer: Lựa chọn thuộc tính
- Để xác định những thuộc tính nào là quan trọng nhất
Trang 14Vd: Correlation-based, wrapper, information gain, chi- squared,…
+ Search Method Để xác định một phương pháp (thứ tự) xét các thuộc tính
Vd: Best-first, random, exhaustive, ranking,…
15 WEKA Explorer: Hiển thị dữ liệu
- Hiển thị dữ liệu rất cần thiết trong thực tế
Giúp để xác định mức độ khó khăn của bài toán học
III Tìm hiểu đặc tính tập dữ liệu
1 Khái quát về tập dữ liệu
Một tập dữ liệu (dataset) là một tậphợp các đối tượng (objects) và các thuộc tính của chúng Mỗi thuộc tính (attribute) mô tả một đặc điểm của một đối tượng Một tập giá trị của các thuộc tính mô tả một đối tượng
- Có trật tự (Ordered)
+ Dữ liệu không gian (vd: bản đồ)
Trang 1515
+ Dữ liệu thời gian (vd: time-series data) + Dữ liệu chuỗi (vd: chuỗi giao dịch) + Dữ liệu chuỗi di truyền(genetic sequence data)
3 Các kiểu giá trị thuộc tính
Kiểu định danh/chuỗi (norminal): không có thứ tự Nó được lấy giá trị từ một tập không có thứ tự các giá trị (định danh) Ví dụ: Các thuộc tính như: Name, Profession, …
Kiểu nhị phân (binary): là một trường hợp đặc biệt của kiểu định danh Tập các giá trị chỉ gồm có 2 giá trị (Y/N, 0/1, T/F)
Kiểu có thứ tự (ordinal): Lấy giá trị từ một tập có thứ tự các giá trị Ví dụ như các thuộc tính lấy các giá trị số như: Age, Highv … hay thuộc tính lấy các giá trị từ tập {low, medium, high}
4 Tiến hành mô tả tập dữ liệu File
Ta tiến hành load file supermarket.arff trong gói data của chương trình
Hình 3: Tải file supermarket.arff
Thông tin tập dử liệu thu được:
- @Relation : supermarket
- Có 217 Attribute(thuộc tính), các thuộc tính có kiểu giá trị là norminal
- Số data là 4627
- Tất cả các thuộc tính đều mang kiểu Nominal
- No of rows : 4627 rows
- No of columns : 217 columns
Sau đây là một vài số liệu cho từng mẩu thử bao gồm tổng trọng lượng của từng mẫu so với trọng lượng từng bản ghi
- Deparment1 với tổng số 1047 và còn trống 3580 tức 77% so với tổng số trường hợp đưa ra
- Deparment2 với tổng số 131 và còn trống 4469 tức 97% so với tổng số trường hợp đưa ra
- Deparment3 với tổng số 90 và còn trống 4537 tức 98% so với tổng số trường hợp đưa ra
…
- Deparment214 với tổng số 0 và còn trống 4627 tức 100% so với tổng số trường hợp đưa ra
Trang 16HƯƠNG 2 - TÌM HIỂU VỀ GIAO DỊCH – TRANSACTION
I Khái niệm về cơ sở dử liệu giao dịch
Cơ sỡ dư liệu giao dịch (transaction database )là cơ cở dử liệu thường được thu thập từ một dữ liệu bán hàng hay một trung tâm thương mại.Trong đó số liệu thống
kê được phân tích là trong một lần mua hàng khách hàng sẽ mua những sản phẩm gì
II Khái niệm về giao dịch
Hạng mục (item): được định nghĩa là mặt hàng trong giỏ hay một thuộc tính
Ta xét tập các hạng mục (itemset) I = {i1, i2, i3, i4…, in} trong ví dụ : I = {sữa,bánh mì,ngũ cốc,sữa chua} thì các i1, i2, i3, i4…, in là các mặt hàng
Giao dịch (Transaction): là tập các hạng mục được mua trong một giỏ (có TID-mã giao dịch)
Dưới đây là bảng transaction chứa các transaction chứa nhiều item nhất(t1) và
ít item nhất được phân tích từ file supermarkert.arff:
Baking needs, Juice sat cord ms, Tea, Biscuits, Canned fish meat, Canned fruit, Canned vegetables, Breakfast food, Cleaner
Confectionary, Puddings deserts, Frozen foods, Spices, Jams spreads, Insecticides, Pet food, Laundry needs, Party snack foods, Tissues paper prd, Wrapping, Pkt canned soup, Soft drink, Health food other, Beverages hot, Deodorants soap, Haircare,
Trang 1717
Dental needs, Sanitary pads, Cheese, Milk cream, Margarine, Small goods, Dairy foods, Beef, Fruit, Potatoes, Vegetables, Brushware, Electrical, Kitchen , Perpared meals , Preserving needs , Small goods2 }
Trang 18HƯƠNG 3 SỬ DỤNG WEKA ĐỂ CHẠY THUẬT TOÁN APRIORI
I Tổng quan về thuật toán Apriori
Apriori là một thuật toán cổ điển dùng để khai thác các hạng mục theo tần suất
và kết hợp việc nghiên cứu luật để quản lý những cơ sở dữ liệu Bài toán được dặt ra cho thuật toán là tìm tất cả các tập mục phổ biến với minsup nào đó và sử dụng các tập mục phổ biến để sinh ra các luật kết hợp với độ tin cậy minconf nhất định
1 Nguyên tắc Apriori
- Đếm số lượng của từng item, tìm các item xuất hiện nhiều nhất
- Tìm các cặp ứng viên: Đếm các cặp => cặp item xuất hiện nhiều nhất
- Tìm các bộ ứng viên: Đếm các bộ ba => bộ ba item xuất hiện nhiều nhất Và tiếp tục với các bộ 4, bộ 5…
- Nguyên tắc chủ yếu: Mọi tập con của tập phổ biến là tập con phổ biến
2 Mô tả thuật toán Apriori trong việc tìm luật luật kết hợp
Bước 1 Duyệt (Scan) toàn bộ transaction database để có được support S của 1- itemset, so sánh S với min_sup, để có được 1-itemset (L1)
Bước 2 Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset Loại bỏ các itemsets không phải là frequent itemsets thu được k-itemset
Bước 3 Scan transaction database để có được support của mỗi candidate kitemset, so sánh S với min_sup để thu được frequent k –itemset (Lk)
Bước 4 Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (không tìm thấy frequent itemsets)
Bước 5 Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I Bước 6 Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy (Confidence) của nó > =min_conf