1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận khai phá dữ liệu: SỬ DỤNG WEKA VỚI CSDL SEGMENT TEST ÁP DỤNG THUẬT TOÁN PHÂN CỤM REPTree

25 2K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tiểu luận khai phá dữ liệu: Sử dụng WEKA với CSDL SEGMENT TEST áp dụng thuật toán phân cụm REPTREE
Tác giả Nguyễn Thị Hồng
Người hướng dẫn Giảng viên Hồ Nhật Quang
Trường học Học viện Kỹ thuật Quân sự
Chuyên ngành Khai phá dữ liệu
Thể loại Tiểu luận
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 779,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I. Giới thiệu về Weka và cách sử dụng phần mềm Weka Weka là một công cụ phần mềm viết bằng Java, phục vụ lĩnh vực học máy và khai phá dữ liệu. 1. Các tính năng chính - Một tập các công cụ tiền xử lý dữ liệu, các giải thuật học máy, khai phá dữ liệu, 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ác môi trường chính - Simple CLI : giao diện đơn giản kiểu dòng lệnh(như MS-DOS) - Explore (Chúng ta sẽ chủ yếu sử dụng môi trường này) 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éptiế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. Môi trường Explorer

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN -oOo -

MÔN: KHAI PHÁ DỮ LIỆU

TIỂU LUẬN: SỬ DỤNG WEKA VỚI CSDL SEGMENT TEST ÁP

DỤNG THUẬT TOÁN PHÂN CỤM REPTree

Trang 2

I Gi ớ i thi ệ u v ề Weka và cách s ử d ụ ng ph ầ n m ề m Weka

Weka là một công cụ phần mềm viết bằng Java, phục vụ lĩnh vực học máy

và khai phá dữ liệu

1 Các tính năng chính

- Một tập các công cụ tiền xử lý dữ liệu, các giải thuật học máy, khai phá dữ liệu, 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ác môi tr ườ ng chính

- Simple CLI : giao diện đơn giản kiểu dòng lệnh(như MS-DOS)

- Explore (Chúng ta sẽ chủ yếu sử dụng môi trường này) 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éptiế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

Trang 3

3 Môi tr ườ ng Explorer

- Preprocess: Để chọn và thay đổi(xử lý) dữ liệu làm việc

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

- Assoclate : Để 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

Trang 4

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

- Các công cụ tiền 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 ()

 Lựa chọn thuộc tính(Attribute selection)

 Chuyển đổi (Tranforming) và kết hợp (Combining) các thuộc tính

5 Weka Explore: Các b ộ phân l ớ p

- Các bộ phân lớp (Classifiers) của Weka tương ứng với các mô hình dự

đoá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)

- Lựa chọn một bộ phận phân lớp(classifire)

- Lựa chọn các tùy chọn cho việc kiểm tra (test options)

Use training set Bộ phận lọ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, các bộ phận loại họ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á

6 Các b ộ phân l ớ p

- More options

Output model Hiển thị bộ phân lớp học được

Output per-class stars Hiển thị 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 mỗi phân lớp học được

Trang 5

Store predicitions for visualization Các dự đoán của

bộ phân lớp được lưu lại trong bộ nhớ, để có thể 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

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

Datatiled 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 được phân lớp đúng và

bị phân lớp sai

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

Trang 6

Visualize classifier errors Hiển thị cửa sổ thể hiện các

kết quả của việc phân lớp

7 Các bộ phân cụm

- Các bộ phân cụm (Cluster builders) của Weka tương ứng với 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

- Lựa chọn một chế độ phân cụm (cluster buider)

- 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

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

đó

 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

8 Luật kết hợp

- Lựa chọn 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 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

Trang 7

II Ứng d ụ ng Weka vào bài toán v ớ i c ơ s ở d ữ li ệ u là segment test s ử

dụng thuật toán REPTree

1 Mô t ả bài toán

Phân đoạn ảnh là một thao tác ở mức thấp trong toàn bộ quá trình xử lý ảnh.Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó Các vùng ảnh đồng nhất này thông thường sẽ tương ứng với tòan bộ hay từng phần của các đối tượng thật sự bên trong ảnh Phân đoạn ảnh là chia ảnh thành các vùng không trùng lắp Mỗi vùng gồm một nhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó[1] Tiêu chí này phụ thuộc vào mục tiêu của quá trình phân đoạn Ví dụ như đồng nhất về màu sắc, mức xám, kết cấu, độ sâu của các layer… Sau khi phân đoạn mỗi pixel chỉ thuộc

về một vùng duy nhất

2 Trích chon đ ặ c tính

a Ý nghĩa và ph ươ ng pháp trích ch ọ n đ ặ c tính

- Với Dataset segment test được lựa chọn bao gồm 20 thuộc tính dùng để mô

tả về phân đoạn, tuy nhiên khi xây dựng một Data mining model nào đó thìchỉ cẩn khoảng 50 thuộc tính trong hàng trăm thuộc tính đó Nếu sử dụng tất cả các thuộc tính đó để xây dựng mô hình thì ta cần nhiều CPU, tốn nhiều bộ nhớ trong quá trình Training model, thậm chí các thuộc tính không cần thiết đó làm giảm độ chính xác của mô hình và gây khó khăn trong việc phát hiện tri thức

- Các phương pháp trích chọn thuộc tính thường tính trọng số(score) của các

thuộc tính và sau đó chỉ chọn các thuộc tính có trọng số tốt nhất để sử dụngcho mô hình Các phương pháp này cho phép ta hiệu chỉnh ngưỡng để lấy

ra các thuộc tính có Score trên ngưỡng cho phép Quá trình trích chọn thuộc tính luôn được thực hiện trước quá trình Training model

Một số phương pháp lựa chọn thuộc tính(feature selection methods)

- Có rất nhiều phương pháp để chọn thuộc tính tùy thuộc vào cấu trúc của dữ

liệu dùng cho mô hình và thuật toán được dùng để xây dựng mô hình Sau đây là một số phương pháp phổ biến dung trong trích chọn thuộc tính:

Trang 8

+ interestingness score: Được sử dụng để xếp hạng (rank) các thuộc tính

đối với các thuộc tính có kiểu dữ liệu liên tục (continuous) Một thuộc tínhđược xem là Interesting nếu nó mang một vài thông tin hữu ích (thế nào là thông tin hữu ích tùy thuộc vào vấn đề đang phân tích của bạn) Để đo

lường mức độ interestingness, người ta thường dựa vào entropy (một

thuộc tính với phân bố ngẫu nhiên có entropy cao hơn và có information

gain (độ lợi thông tin) thấp hơn) vì vậy các thuộc tính đó gọi là less

interesting) Entropy của một thuộc tính nào đó sẽ được so sánh với

entropy của tất cả các thuộc tính còn lại theo công thức sau:

Interestingness(Attribute) = - (m - Entropy(Attribute)) *(m - Entropy(Attribute)) Trong đó m gọi là entropy trung tâm (Central

entropy- có nghĩa là entropy của toàn bộ tập thuộc tính)

+Shannon's Entropy: Được sử dụng đối với các dữ liệu kiểu rời rạc

(discretized data) Shannon's entropy đo lường độ bất định (uncertainty) của biến ngẫu nhiên đối với một kết quả cụ thể (particular outcome)

Shannon's entropy được tính theo công thức sau:

H(X) = -∑ P(xi) log(P(xi))

+Ngoài interestingness score và Shannon's entropy, một số phương

pháp khác cũng thường được sử dụng trong lựa chọn thuộc tính như

Bayesian with K2 Prior, Bayesian Dirichlet Equivalent with Uniform Prior

b Trích ch ọ n thu ộ c tính trong weka

- Trong weka, một phương pháp lựa chọn thuộc tính(attribute selection) bao

Trang 9

- Trong bộ cơ sở dữ liệu supper market có thể có nhều thuộc tính không cần

xem xét, ta sử dụng công cụ trích chọn thuộc tính như sau:

- Mở weka, chọn mở cơ sở dữ liệu segment-test.arff, ta sẽ có như sau:

- Chọn tab “Select attributes”, trong mục “Attribute Evaluaror” chọn WrapperSubsetEval, trong mục Classifier chọn NaiveBayes như hình sau:

Trang 10

- Trong mục Search Method chọn GredySteepWise, và làm như sau:

Trang 11

- Bấm Star để thực hiện kết quả

Trang 12

Như vậy ta chỉ cần 14/20 thuộc tính trong cơ sở dữ liệu trong việc khai phá dữ liệuBao gồm các thuộc tính sau:

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

- Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưavào các mô hình là rất cần thiết, bước này làm cho dữ liệu có đượcban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc original data) có thể

áp dụng được (thích hợp) với các mô hình khai phá dữ liệu (datamining model) cụ thể Các công việc cụ thể của tiền xử lý dữ liệu baogồm những công việc như:

o Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình

o Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho

mô hình

Trang 13

o Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ liệu cho phù

hợp với các mô hình như chuyển đổi dữ liệu từ numeric quanomial hay ordinal

o Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục

nhưng một vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (nhưluật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữliệu

Tiền xử lý dữ liệu với bài toán segment-test:

Trong bài toán của mình em đã loại bỏ đi các thuộc tính không cần thiết

trong việc khai phá dữ liệu bằng cách: Trong panel Filter chọn Choose -> filters ->unsupervised -> attribute -> Remove

Trang 14

Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” và gỏ vào

3,5,6,8,9,20 (đây là các chỉ số tương ứng với các thuộc tính loại bỏ) Chú ý

rằng tùy chọn "invertSelection" phải được thiết lập là false

Trang 15

ấn Apply ta sẽ được bộ dữ liệu mới không có các thuộc tính đã bị tick nữa Kết quả cuối cùng ta được bộ các thuộc tính sẽ sử dụng như sau:

Trang 16

Ta sẽ save lại dữ liệu, tên là segment-test2.arff, ta sẽ thực hiện thuật toán phân lớp trên cơ sở dữ liệu mới này

Trang 17

III Kết quả thu được khi sử dụng thuật toán REPTree

1 Kết quả khi sử dụng thuật toán REPTree với các thông số thiết đặt như sau(chia dữ liệu thành 10 phần)

=== Run information ===

Scheme:weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S 1 -L -1 Relation: segment-weka.filters.unsupervised.attribute.Remove-R3,5,6,8,9,20 Instances:810

Trang 18

saturation-mean

hue-mean

Test mode:split 66.0% train, remainder test

=== Classifier model (full training set) ===

Trang 20

| | | | | exblue-mean < 9.33 : -1.17 (7/0) [5/0]

| | | | | exblue-mean >= 9.33 : -1.33 (3/0) [1/0] exgreen-mean >= 3.11

Time taken to build model: 0.09seconds

=== Evaluation on test split ===

=== Summary ===

Correlation coefficient 0.9968

Mean absolute error 0.0755

Root mean squared error 0.1242

Relative absolute error 6.3802 %

Trang 21

Root relative squared error 8.0401 %

Total Number of Instances 275

2 Kết quả khi REPTree với các thông số thiết đặt như sau(chia dữ liệu thành 2 phần theo tỉ lệ 50%, 50%)

=== Run information ===

Scheme:weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S

1 -L -1 Relation: segment-weka.filters.unsupervised.attribute.Remove- R3,5,6,8,9,20

Instances:810 Attributes:14 region-centroid-col region-centroid-row short-line-density-5 vegde-sd

intensity-mean rawred-mean rawblue-mean rawgreen-mean exred-mean exblue-mean exgreen-mean value-mean saturation-mean

Trang 22

hue-mean

Test mode:split 50.0% train, remainder test

=== Classifier model (full training set) ===

| | | | | | | | saturation-mean >= 0.35 : -2.21 (7/0) [0/0]

| | | | | | | | | | | region-centroid-col >= 90 : -2.13 (25/0) [15/0]

Trang 23

| | | | | | | | | | exgreen-mean >= -9.28 : -2.18

(19/0.01) [10/0]

| | | | | | | | | exred-mean >= -7.39 : -2.06 (10/0) [2/0]

| | | | | | | | intensity-mean >= 34.3

| | | | | | | | | exred-mean < -11.44 : -2.25 (3/0)

[3/0.1]

| | | | | | | | | exred-mean >= -11.44 : -1.99 (6/0) [1/0.01]

Trang 24

Time taken to build model: 0.02seconds

Trang 25

=== Evaluation on test split ===

=== Summary ===

Correlation coefficient 0.9893 Mean absolute error 0.0847 Root mean squared error 0.2276 Relative absolute error 7.0816 % Root relative squared error 14.5675 % Total Number of Instances 405

3 Đánh giá k ế t qu ả

Việc lựa chọn thuật toán nào đó để có một model tốt phụ thuộc rất nhiều yếu

tố, trong đó cấu trúc của dataset điều này có ý nghĩa quan trọng đến việc lựa chọn thuật toán Trong bài toán đã chọn, ta thấy việc sử dụng cây REPTree với việc chia lớp dữ liệu thành 2 lớp với tỉ lệ xấp xỉ nhau càng gần càng tốt, khi chia tỉ lệ 50-50 ta thấy kết quả khá tôt

Ngày đăng: 16/12/2013, 15:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w