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

Tiểu luận Khai phá dữ liệu: Sử dụng phần mềm weka khai phá bộ dữ liệu bank-data

28 4,9K 20
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Data mining tiền xử lý dữ liệu và khai phá luật kết hợp sử dụng WEKA
Tác giả Vũ Thị Khánh Lệ
Người hướng dẫn Giáo Viên Hướng Dẫn Hồ Nhật Quang
Chuyên ngành Khai phá dữ liệu
Thể loại Tiểu luận
Định dạng
Số trang 28
Dung lượng 1,11 MB

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

Nội dung

A , Tiền xử lý dữ liệu (Data Preprocessing)1. Giới thiệu về tiền xử lý dữ liệu (Data Preprocessing)Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầ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 (data mining model) cụ thể. Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:Filtering Attributes: Chọn các thuộc tính phù hợp với mô hìnhFiltering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hìnhClean 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 qua nomial hay ordinalDiscretization (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.Bài viết này mô tả một số công việc cơ bản của quá trình tiền xử lý dữ liệu qua ví dụ cụ thể trên phần mềm Weka nhằm giúp bạn hiểu hơn về Data Preprocessing trong Data mining.2. Tiền xử lý dữ liệu với Weka (Data Preprocessing with Weka)Dữ liệu được dùng trong minh họa này là dữ liệu về khách hàng ngân hàng ( file comma-separated format tên bank-data.csv ). Gồm 12 thuộc tính và 600 khách hàng (samples, instances, patterns). Cấu trúc file bank-data.csv như sau:

Trang 1

A , Tiền xử lý dữ liệu (Data Preprocessing)

1 Giới thiệu về tiền xử lý dữ liệu (Data Preprocessing)

Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các môhình là rất cần thiết, bước này làm cho dữ liệu có được ban đầ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 (data mining model) cụ thể Các công việc cụ thể của tiền xử

lý dữ liệu bao gồm những công việc như:

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

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

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 qua nomial hay ordinal

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ảithực hiện việc rời rạc hóa dữ liệu

Trang 2

Bài viết này mô tả một số công việc cơ bản của quá trình tiền xử lý dữ liệu qua ví

dụ cụ thể trên phần mềm Weka nhằm giúp bạn hiểu hơn về Data Preprocessingtrong Data mining

2 Tiền xử lý dữ liệu với Weka (Data Preprocessing with Weka)

Dữ liệu được dùng trong minh họa này là dữ liệu về khách hàng ngân hàng ( file

comma-separated format tên bank-data.csv ) Gồm 12 thuộc tính và 600 khách

hàng (samples, instances, patterns) Cấu trúc file bank-data.csv như sau:

Vấn đề đặt ra là để thực hiện mô hình khai phá luật kết hợp (Association RuleMining) trên file bank-data.csv ta cần phải làm các việc sau :

- Loại bỏ thuộc tính id vì thuộc tính này không dùng trong mô hình Quátrình này gọi là lọc thuộc tính (Filtering Attribute)

Trang 3

- Rời rạc hóa giá trị của các trường liên tục là “children”,” age” và

“income” vì mô hình khai phá luật kết hợp không làm việc với các kiểu dữ

liệu liên tục Quá trình này goi là rời rạc hóa dữ liệu (Discretization)

Nạp dữ liệu (Loading the Data)

Thông thường, định dạng chuẩn file dữ liệu của Weka la file ARFF (AttributeRelation File Format), tuy nhiên rất nhiều DBMS và Spreadsheet cho phép tổ chứcfile dữ liệu dưới dạng file csv (comma-separated values) và một điều thuận lợi làWeka cho phép đọc dữ liệu từ file csv

Nạp file dữ liệu data-bank.csv: Chọn tab “Preprocess” > Open file

Nếu không ở định dạng ARFF, một hộp thoại hiển thị cho phép người dùng

convert Click vào nút "Use Covertor", và nhấn OK

Trang 4

Sau khi dữ liệu được nạp lên, panel bên trái thể hiện các thuộc tính của file dữ liệu,panel bên phải thể hiện các thống kê tương ứng với thuộc tính bên trái (xem hình

Trang 5

Click vào panel bên trái sẽ hiển thị các thuộc tính của file dữ liệu

hình p5 và p6 dưới đây cho thấy kết quả lựa chọn thuộc tính độ tuổi ""và" kết hôn " tương ứng.

Trang 7

2.1 Lọc thuộc tính (Filtering Attributes)

Trong file dữ liệu bank-data.csv, mỗi khách hàng được xác định duy nhất bởi

thuộc tính id Chúng ta cần loại bỏ thuộc tính này trước khi thực hiện các bước tiếptheo trong Association Rule Mining Công việc này được thực hiện rất dễ dàng trong Weka như sau:

Trong panel "Filter", click vào nút "Choose" Sẽ xuất hiện cửa sổ các danh sách bộ lọc sẵn dùng Kéo danh sách và chọn "weka.filters.unsupervised.attribute.Remove"như hình sau :

Trang 8

Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” và gỏ vào 1 (đây làindex của thuộc tính id trong file dữ liệu) Chú ý rằng tùy chọn "invertSelection" phải được thiết lập là false Sau đó click vào OK

Trang 9

Bây giờ trong hộp thoại bạn sẽ nhìn thấy "Remove -R 1"

Trang 10

Bấm nút “Apply” sẽ tạo ra một liệu mới (working relation) với 11 thuộc tính saukhi đã loại bỏ thuộc tính id

Trang 11

Bạn có thể thực hiện việc lọc nhiều thuộc tính khác nhau tùy theo ứng dụng củabạn theo cách trên.

Bây giờ ta lưu lại dữ liệu sau khi loại bỏ thuộc tính id dưới dạng file arff với tên là

"bank-data-R1.arff" Để thực hiện việc rời rạc hóa dữ liệu ở bước tiếp theo.

Chọn nút “save” và gỏ vào tên file "bank-data-R1.arff"

Trang 12

Nội dung file “bank-data-R1.arff như sau (in WordPad)

Trang 13

Chú ý rằng, khi thuộc tính “id” đã bị loại thì tất cả các giá trị của trường id trong các record cũng bị loại.

2.2 Rời rạc hóa dữ liệu (Discretization)

Trong Data Mining, một số kỹ thuật như khai phá luật kết hợp (association rulemining) chỉ có thể thực hiện trên các dữ liệu phân loại (categorical/ nominal data)

Trang 14

Điều này yêu cầu phải thực hiện việc rời rạc hóa trên các thuộc tính có kiểu dữ liêntục (như kiểu numeric chẳn hạn) khi muốn áp dụng các kỹ thuật này Trong file dữ

liệu “bank-data-R1.arff” có 3 thuộc tính kiểu số, đó là "age", "income", và "children" Đối với thuộc tính "children", vì phạm vi giá của nó chỉ có thể là 0,1,2 và 3 cho nên

ta có thể giữ lại các giá trị của thuộc tính này Việc rời rạc hóa cho thuộc tính

“children” có thể thực hiện đơn giản bằng cách mở file “bank-data-R1.arff” bằng

bất kỳ text editor nào (WordPad chẳn hạn) và thay từ khóa “numeric” bằng các giá

trị rời rạc {0,1,2,3} Sau đó lưu kết quả lại với tên file "bank-data2.arff" (Xem hình)

Bây giờ trên file “bank-data2.arff”, chúng ta sẽ thực hiện việc rời rạc hóa dữ liệu

trên 2 thuộc tính là "age" và "income"

Trong ví dụ này, các dữ liệu liên tục trên 2 trường “age” và “income” sẽ được tựđộng chuyển vào 3 khoảng bins (intervals)

Đầu tiên chúng ta load tập dữ liệu đã lọc của chúng ta mở file "bank-data2.arff" Hộp thoại sau xuất hiện :

Trang 15

Nếu ta chọn thuộc tính "children" trong tập dữ liệu mới,ta sẽ thấy đây là một thuộctính cùng với 4 giá trị riêng biệt :

Trang 16

Bây giờ mở lại hộp thoại Filter và chọn: filters.unsupervised.attribute.Discretize

Trang 17

Tiếp theo, bấm chuột vào text box ngay bên phải nút “Choose” và thiết lập cáctham số để thực hiện việc rời rạc hóa.

Trong textbox attributeIndices nhập 1 tương ứng với index của thuộc tính “age” Trong mục binsnhập 3 (tuổi được chia thành 3 khoảng – interval)

Trang 18

Click "Apply" để thực hiện Kết quả sẽ được tạo ra trong một working relationmới, trong đó các giá trị liên tục trong thuộc tính “age” sẽ được tự động chia vào 3khoảng có nhãn lần lượt là "(-inf-34.333333]", "(34.333333-50.666667]"

“(50.666667- inf)”

Trang 19

Tương tự, ta thực hiện việc rời rạc hóa thuộc tính “income” và sau đó lưu lại file

dữ liệu với tên “bank-data3.arff”

Nếu bạn mở file dữ liệu “bank-data3.arff” bằng text editor như wordpad sẽ thấy

như sau

Trang 20

Chú ý rằng, kiểu dữ liệu cũng như giá trị của 2 thuộc tính “age” và “income” đã chuyển sang Nominal với 3 khoảng (bin, interval) Kiểm tra thuộc tính “age” ta sẽ thấy rằng có 3 độ tuổi có thể gọi là nhỏ, trung niên, già tương ứng với 3 khoảng là

"(-inf-34.333333]", "(34.333333-50.666667]" “(50.666667- inf)”

Chúng ta có thể thay đổi các nhãn mà Weka tự động tạo ra bằng các nhãn dễ hiểuhơn Chẳn hạn ta thay nhãn "(-inf-34.333333]" bằng 0_34, nhãn "(34.333333-50.666667]" bằng 35_51 và nhãn “(50.666667- inf)” bằng 52-max ta chỉ cần mởfile dữ liệu ra bằng text editor có hỗ trợ find and replace (như wordpad chạn hạn)

và thực hiện việc tìm kiếm và thay thế như trên

Trang 21

Đối với thuộc tính “income” ta thay thế các nhãn như sau:

(-inf-24386.173333] thay bằng 0_24386

(24386.173333-43758.136667] thay bằng 24387_43758

(43758.136667-inf)thay bằng 43759_max

Sau khi đã thực hiện và thay thế các nhãn của 2 thuộc tính “age” và “income” ta

lưu lại file dữ liệu cuối cùng có tên “bank-data-final.arff”.

Trang 22

B,Khai phá luật kết hợp(Association rule mining)

Bây giờ, với file dữ liệu đã qua quá trình lọc thuộc tính id và rời rạc hóa dữ liệutrên 3 thuộc tính là “children”, “age” và “income”, ta có thể thực hiện các kỹ thuậtmining chỉ làm việc trên dữ liệu nominal (như association rule mining) Sau đây làkết quả thực hiện thuật toán Apriori để phát hiện luật kết hợp trên file dữ

liệu “bank-data-final.arff”

Trang 23

Click vào tab "Associate" để mở ra giao diện thuật toán khai phá luật kết hợp (Apriori) Tuy nhiên phải thay đổi tham số (e.g., support, confidence, etc.) click thevào nút "Choose Click vào nút "More" cho những tham số khác

Trang 24

Giải thích một số tham số chính của thuật toán Apriori sinh luật kết hợp

lowerBoundMinSupport: Cận dưới của minimum support.

metricType: Có 4 loại metricType là Confidence, Lift , Leverage và Conviction

Minimum metric score: Chỉ quan quan đến các luật có metric score cao hơn giá trị

này

numRules: Số luật muốn tìm (các luật sẽ được sắp xếp theo thứ tự giảm dần của

metric score

significanceLevel: Mức ý nghĩa (chỉ dùng khi metricType là confidence).

upperBoundMinSupport: Cận trên của minimum support (bắt đầu lặp lại việc giảmminimum support từ upperBoundMinSupport đến lowerBoundMinSupport)

Các luật kết hợp thu được

Trang 25

10 luật tốt nhất được sinh ra bởi thuật toán Apriori trên dữ liệu bank.arff như sau (sắp xếp giảm dần theo confidence):

1 income=43759_max 80 ==> save_act=YES 80 conf:(1)

2 age=52_max income=43759_max 76 ==> save_act=YES 76 conf:(1)

3 income=43759_max current_act=YES 63 ==> save_act=YES 63 conf:(1)

4 age=52_max income=43759_max current_act=YES 61 ==> save_act=YES

61 conf:(1)

Trang 26

5 children=0 save_act=YES mortgage=NO pep=NO 74 ==> married=YES

8 children=0 mortgage=NO pep=NO 107 ==> married=YES 104 conf:(0.97)

9 income=43759_max current_act=YES 63 ==> age=52_max 61 conf:(0.97)

10 income=43759_max save_act=YES current_act=YES 63 ==> age=52_max

Trang 27

Using the Command Line

weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0

Trong giao diện chính của WEKA, click "Simple CLI" để bắt đầu giao diện dòng lệnh Lệnh chính để sinh ra luật là :

java weka.associations.Apriori options -t

directory-path\bank-data-final.arff

Trang 28

The end !

Ngày đăng: 03/12/2013, 16:29

HÌNH ẢNH LIÊN QUAN

Hình p5 và p6 dưới đây cho thấy kết quả  lựa chọn thuộc tính độ tuổi ""và" kết  hôn " tương ứng . - Tiểu luận Khai phá dữ liệu: Sử dụng phần mềm weka khai phá bộ dữ liệu bank-data
Hình p5 và p6 dưới đây cho thấy kết quả lựa chọn thuộc tính độ tuổi ""và" kết hôn " tương ứng (Trang 5)

TỪ KHÓA LIÊN QUAN

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

w