. Đặt vấn đề Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Khai phá dữ liệu là một bước của quá trình khai phá tri thức (Knowledge Discovery Process), bao gồm: •Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem understanding and data understanding). •Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu (data transformation). •Khai phá dữ liệu (Data mining): xác định nhiệm vụ khai phá dữ liệu và lựa chọn kĩ thuật khai phá dữ liệu. Kết quả cho ta một nguồn tri thức thô. •Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri thức thu được. •Triển khai (Deployment). Weka được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis. Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU. Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào. Weka bao gồm những phương thức chuẩn cho các vấn đề của khai phá dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp. Cụ thể đề tài này ta tìm hiểu về bài toán phân lớp trong weka và áp dụng trong bài toán dự đoán vị trí protein bằng cách áp dụng một số thước đo cho tế bào (cytoplasm, inner membrane, perisplasm, outer membrane, outer membrane lipoprotein, inner membrane lipoprotein inner membrane, cleavable signal sequence) II. Xây dự cơ sở dữ liệu 1.Thông tin chung dataset:
Trang 1B QUỐC PHÒNG Ộ QUỐC PHÒNG HỌC VI N KỸ THU N QUÂN SỰ ỆN KỸ THUẬN QUÂN SỰ ẬN QUÂN SỰ
*************
BÀI TẬP LỚN
KHAI PHÁ DỮ LIỆU
Đề tài: Sử dụng phần mềm Weka phân lớp cho bài toán dự đoán vị trí protein
Giáo viên hướng dẫn: Hồ Nhật Quang
Sinh viên thực hiện: Nguyễn Anh Tuấn(89) Lớp: Hệ thống thông tin 6
Trang 2I Đặt vấn đề
Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có
Khai phá dữ liệu là một bước của quá trình khai phá tri thức (Knowledge Discovery Process), bao gồm:
Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem
understanding and data understanding).
Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu (data transformation).
Khai phá dữ liệu (Data mining): xác định nhiệm vụ khai phá dữ liệu và lựa chọn kĩ
thuật khai phá dữ liệu Kết quả cho ta một nguồn tri thức thô.
Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri
thức thu được
Triển khai (Deployment).
Weka được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào Weka bao gồm những phương thức chuẩn cho các vấn đề của khai phá
dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp Cụ thể đề tài này ta tìm hiểu về bài toán phân lớp trong weka và áp dụng trong bài toán dự đoán vị trí protein bằng cách áp dụng một số thước đo cho tế bào (cytoplasm, inner membrane, perisplasm, outer membrane, outer membrane lipoprotein, inner
membrane lipoprotein inner membrane, cleavable signal sequence)
Trang 3II Xây dự cơ sở dữ liệu
1 Thông tin chung dataset:
Kiểu : phân lớp
Tính năng : 7
Trường hợp : 336
Nguồn gốc : Thế giới thực
Real / Integer / Nominal : 7/0/0
Số lớp : 8
Giá trị bị mất ? Không
Trang 42 Mô tả các thuộc tính
@relation ecoli
@attribute Mcg real[0.0,89.0]
@attribute Gvh real[1.0,88.0]
@attribute Lip real[1.0,48.0]
@attribute Chg real[1.0,5.0]
@attribute Aac real[0.0,88.0]
@attribute Alm1 real[1.0,94.0]
@attribute Alm2 real[0.0,99.0]
@attribute Site {cp,im,imS,imL,imU,om,omL,pp}
@inputs Mcg, Gvh, Lip, Chg, Aac, Alm1, Alm2
@output Site
Trang 53 Bảng dữ liệu
Binary attribute
Binary attribute
outer membrane and periplasmic proteins
program
signal regions from the sequence Site cp (cytoplasm)
im (inner membrane without signal sequence)
pp (perisplasm) imU (inner membrane, uncleavable signal sequence)
om (outer membrane) omL (outer membrane lipoprotein) imL (inner membrane lipoprotein) imS (inner membrane, cleavable signal sequence)
III Phân tích yêu cầu bài toán
Trang 6IV Tiến hành xử lý thực nghiệm trên Weka
1 Tiền sử lý dữ liệu
Tiến hành khởi chạy weka.Trong giao diện đồ họa của Weka,chọn Explorer
WEKA Decision Tree
Mục đích: Tạo một cây quyết định trong WEKA dự đoán vị trí của protein theo các thuộc tính khác nhau hay không?
Mục đích: Tạo một cây quyết định trong WEKA dự đoán vị trí của protein theo các thuộc tính khác nhau hay không?
Mcg , Gvh , Lip , Chg
Aac , Alm1 , Alm2
pp
imU
om omL
im cp
imL
imS
Trang 7Trong weka lưu trữ dữ liệu bằng định dạng ARFF File ARFF bao gồm danh sách các trường, và các giá trị thuộc tính cho mỗi trường được phân cách bằng dấu phẩy Hầu hết các bảng tính và các chương trình cơ sở dữ liệu cho phép bạn chuyển dữ liệu thành một tập tin mà các giá trị của thuộc tính đều được tách nhau bằng dấu phẩy như trong định dạng của file arff.Bạn chỉ cần đưa file vào một trình soạn thảo văn bản hoặc từ bộ vi xử lý; thêm tên của tập dữ liệu bằng cách sử
dụng các từ @relation, Khai báo tên các thuộc tính bằng từ khóa @attribute, và
từ khóa @data để bắt đầu đưa dữ liệu vào Ví dụ như hình dưới đây :
Sau khi đã tạo xong file arff thì tiến hành đọc dữ liệu vào weka Ta sẽ thấy xuất hiện dữ
liệu trên cửa sổ Preprocess của WEKA :
Trang 82. Xây dựng cây quyết định bằng J48
- Bước đầu tiên ta sử dụng tất cả dữ liệu để trainning cho cây:
+ Nhấn vào tab Classify chọn thuật toán sử dụng bằng cách nhấn vào nút Choose; khi cây thư mục hiện thư mục Trees/J48:
Trang 9Để tiến hành trainning trên toàn bộ dữ liệu ta chọn vào tùy chọn Use tranning set rồi nhấn Start.
Ta thu được kết quả hiển thị ở khung Classifier Output như sau:
Trang 10Nội dung :
=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: ecoli
Instances: 336
Attributes: 8
Mcg
Gvh
Lip
Chg
Aac
Alm1
Alm2
Site
Test mode: evaluate on training data
=== Classifier model (full training set) ===
J48 pruned tree
-Alm1 <= 59
| Gvh <= 58
| | Lip <= 1: omL (6.0/1.0)
| | Lip > 1
| | | Alm2 <= 61
| | | | Mcg <= 62: cp (148.0/9.0)
| | | | Mcg > 62
| | | | | Aac <= 51
| | | | | | Aac <= 39
| | | | | | | Alm1 <= 44: cp (3.0/1.0)
| | | | | | | Alm1 > 44: pp (2.0)
| | | | | | Aac > 39: pp (7.0)
| | | | | Aac > 51: om (6.0/2.0)
| | | Alm2 > 61
Trang 11| | | | Mcg <= 73: im (7.0/1.0)
| | | | Mcg > 73: imU (2.0)
| Gvh > 58
| | Aac <= 64: pp (38.0/2.0)
| | Aac > 64: om (15.0/1.0)
Alm1 > 59
| Mcg <= 56: im (52.0/5.0)
| Mcg > 56
| | Gvh <= 55
| | | Mcg <= 75
| | | | Alm1 <= 79
| | | | | Gvh <= 47
| | | | | | Mcg <= 68: imU (7.0)
| | | | | | Mcg > 68
| | | | | | | Alm1 <= 69: im (2.0)
| | | | | | | Alm1 > 69: imU (4.0/1.0)
| | | | | Gvh > 47: im (6.0/2.0)
| | | | Alm1 > 79: im (5.0)
| | | Mcg > 75
| | | | Alm1 <= 72
| | | | | Alm1 <= 69: imU (2.0)
| | | | | Alm1 > 69: im (3.0)
| | | | Alm1 > 72: imU (14.0)
| | Gvh > 55
| | | Mcg <= 66: im (4.0)
| | | Mcg > 66: pp (3.0/1.0)
Size of the tree : 41
Time taken to build model: 0.04 seconds
=== Evaluation on training set ===
=== Summary ===
Trang 12Correctly Classified Instances 310 92.2619 %
Incorrectly Classified Instances 26 7.7381 %
Kappa statistic 0.8924
Mean absolute error 0.0341
Root mean squared error 0.1305
Relative absolute error 18.6409 %
Root relative squared error 43.2743 %
Total Number of Instances 336
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.986 0.052 0.934 0.986 0.959 0.975 cp
0.922 0.031 0.899 0.922 0.91 0.97 im
0 0 0 0 0 0.985 imS
0 0 0 0 0 0.951 imL
0.8 0.003 0.966 0.8 0.875 0.974 imU
0.9 0.009 0.857 0.9 0.878 0.993 om
1 0.003 0.833 1 0.909 0.998 omL
0.904 0.011 0.94 0.904 0.922 0.965 pp
Weighted Avg 0.923 0.032 0.913 0.923 0.916 0.974
=== Confusion Matrix ===
a b c d e f g h < classified as
141 0 0 0 0 1 0 1 | a = cp
4 71 0 0 1 1 0 0 | b = im
0 1 0 0 0 1 0 0 | c = imS
0 1 0 0 0 0 1 0 | d = imL
1 5 0 0 28 0 0 1 | e = imU
1 0 0 0 0 18 0 1 | f = om
0 0 0 0 0 0 5 0 | g = omL
4 1 0 0 0 0 0 47 | h = pp
Trang 13Tóm tắt kết quả khi phân lớp:
+ Trường hợp phân lớp chính xác: 310 chiếm 92.2619% +Trường hợp không chính xác: 26 chiếm 7.7381%
Xây dựng cây :
Trang 143. Chạy thử nhiều lần cây trên số lượng dữ liệu tranning khác nhau:
Lần thứ hai: Lấy 95% dữ liệu để xây dựng cây, 5% để test:
Lần thứ ba: Lấy 90% dữ liệu để xây dựng cây, 10% để test:
Lần thứ tư: Lấy 85% dữ liệu để xây dựng cây, 15% để test:
Lần thứ năm: Lấy 80% dữ liệu để xây dựng cây, 20% để test:
Trang 15 Lần thứ sáu: Lấy 75% dữ liệu để xây dựng cây, 25% để test:
Lần thứ bảy: Lấy 70% dữ liệu để xây dựng cây, 30% để test:
Lần thứ tám: Lấy 65% dữ liệu để xây dựng cây, 35% để test:
Lần thứ chín: Lấy 60% dữ liệu để xây dựng cây, 40% để test:
Trang 16 Lần thứ mười: Lấy 50% dữ liệu để xây dựng cây, 50% để test:
V Đánh giá và kết luận
Sau khi thực hiện chạy 10 lần J48 để xây dựng cây với các tham số đầu vào khác nhau ta thấy ứng với lần chạy thứ 5 với các tham số lựa chọn là : bộ dữ liệu dùng khởi tạo cây
80 %, bộ dữ liệu test là 20% đạt được tỉ lệ phân lớp chính xác là 88%
Sau quá trình thực hành tạo cây quyết định trên WEKA bằng thuật toán J48 (C4.5) ta
có thể hình dung được quá trình khởi tạo và hoạt động của một cây quyết định như sau: