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

Báo cáo bài tập nhóm Đề tài khai phá dữ liệu supermatket với phần mềm weka

27 0 0
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 đề Khai phá dữ liệu supermatket với phần mềm weka
Tác giả Phạm Thùy Trang, Nguyễn Ngọc Thành, Lê Trọng Linh
Người hướng dẫn Th.S Đào Việt Anh
Trường học Đại học Hải Phòng
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo
Định dạng
Số trang 27
Dung lượng 2,91 MB

Nội dung

Click chuột trái hoặc click chuột phải chọn show properties… sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:... Click chuột trái hoặc click chuột phải chọn show properties

Trang 1

ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP NHÓM

ĐỀ TÀI : Khai phá dữ liệu supermatket với phần mềm weka

Giảng viên hướng dẫn Sinh viên thực hiện Th.S Đào Việt Anh Phạm Thùy Trang Nguyễn Ngọc Thành

Lê Trọng Linh

Trang 2

I GIỚI THIỆU WEKA

Weka là môi trường thử nghiệm KPDL do các nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan

và sinh động cho mọi người tìm hiểu về KPDL Weka còn cho phép các giải thuật học mới phát triển có thể tích hợp vào môi trường của nó Hệ thống được viết bằngjava Nó chạy được hầu hết trên tất cả hệ điều hành

Weka cung cấp nhiều giải thuật khác nhau với nhiều phương thức cho 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 cung cấp những tính năng chính sau:

Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá

Giao diện đồ họa người dùng (trực quan hóa dữ liệu)

Môi trường để so sánh các giải thuật học

Bạn có thể xử lý trước tập dữ liệu, cho vào trong một sơ đồ, và phân chia cáclớp kết quả và thực hiện nó mà không cần viết bất cứ một chương trình nào.Weka lấy dữ liệu từ các file có định dạng arff, nó được phát sinh từ một filehoặc một bảng cơ sở dữ liệu

Cách sử dụng Weka là thông qua giao diện đồ họa của nó

HGnh 1: Giao diê In đK họa cLa WekaCác phiên bản cLa Weka

WEKA 3.0: “book version”: Chỉ cho phép viết các câu lệnh

Trang 3

WEKA 3.2: “GUI version”- Graphical User interfaces (Phiên bản giao diện

đồ họa) : Ngoài việc viết các câu lệch có thể sử dụng giao diện đồ họa

WEKA 3.3: “Development version” (Phiên bản phát triển) :Với nhiều cải tiến

Cho phép bạn tự động hóa xử lý, làm cho nó phân lớp và lọc dễ dàng với nhữngcách thiết lập tham số khác nhau trên toàn thể bảng dữ liệu

3 KnowledgeFlow: cho phép người dùng kéo thả những chiếc hộp tượng trưng cho các giải thuật và dữ liệu để kết nối chúng lại với nhau và đưa ra cấu trúc

4 Simple CLI: Sử dụng câu lệnh

Trang 4

II EXPLORER

Trong giao diện của Explorer có 6 tab

HGnh 2: Giao diê In đK họa cLa Exporer

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

Classify: Tạo ra những chương trình để phân loại

Cluster: Tạo phân cụm cho cơ sở dữ liệu

Associate: Tạo luật kết hợp cho dữ liệu và đánh giá chúng

Select attributes: Lựa chọn những thuộc tính liên quan nhất trong tập

dữ liệu

Visualize: (Nhìn thấy sự khác nhau hai chiều của dữ liệu và sự tương tác giữa chúng)View different two-dimensional plots of the data and interact with them

1 Đưa dữ liệu vào

Trong tab Preprocess có:

Trang 5

Nút mở file từ máy khác.

chọn của bạn

Sử dụng nút bạn có thể đọc các tập tin ở nhiều định dạng như: định dạng ARFF, định dạng CSV, định dạng C4.5

Khi bạn mở một file từ mục open file sẽ hiện ra một cửa sổ như sau:

HGnh 3: MX file trong Exporer

2 Preprocess

Trong cửa sổ cLa Preprocess có 4 vùng

Vùng Filter

Trang 6

Cho bạn biết được giải thuật dùng để tiền xử lý dữ liệu đang được sử dụng Bạn

có thể thay đổi giải thuật đó bằng cách click vào button

Vùng Current Relation (Các mối quan hệ hiện tại)

Relation (Quan hệ): Cho biết tên của bảng dữ liệu

Instances (Trường hợp): Số lượng các bản ghi

Attributes.(Những thuộc tính): Số lượng các thuộc tính trong dữ liệu.Sum of weights: Tổng trọng lượng của mti bản ghi

Ví dụ: Khi file đã được mở, màn hình sẽ được thể hiện trong hình 3, nó cho bạnbiết về tên bảng bảng dữ liệu: Trong trường hợp này bảng dữ liê uu có tên là Weather nó có 14 bản ghi và 5 thuộc tính Tên các thuộc tính là outlook,

temperature, humidity, windy và play Đầu tiên, theo mặc định là thuô uc tính outlook và bạn có thể chọn những thuộc tính khác bằng cách click chuột vào nó

Vùng Attributes (Những thuộc tính)

Ở dưới hộp Current Relation là hộp Attributes Có bốn nút để thay đổi sự chọn lựa

All: Tất cả đều được chọn

None: Tất cả các hộp đều không được chọn

Invert: Những thuộc tính trước đây không được chọn sẽ trở thành được chọn và ngược lại

Pattern: Cho phép người dùng lựa chọn các thuộc tính bằng cách nhập tênthuộc tính vào

Vùng Selected Attribute:

Name: Tên thuô uc tính

Type: Kiểu dữ liê uu của thuô uc tính đó

Missing: cho biết số lượng và phần trăm tương ứng của số bản ghi có giátrị rtng trong thuô uc tính

Distinct: Cho biết số lượng các giá trị trong thuô uc tính

Trang 7

Unique: cho biết số lượng và phần trăm tương ứng của các giá trị không

bị lă up lại trong thuô uc tính

Nếu thuô uc tính bạn đang chọn có kiểu dữ liê uu là Nominal thì bạn sẽ nhìn thấytrong vùng này mô ut table gồm có các trường số thứ tự (NO.), tên các giá trị (lable),

số lượng mti giá trị (Count) và trọng lượng của chúng (Weight) như sau:

Nếu thuô uc tính bạn đang chọn có kiểu dữ liê uu là numeric thì table có hai trường là số liê uu thống kê (Statistic) và giá trị tương ứng (Value) Ở trường Statistic có các giá trị Minimum (Giá trị nhỏ nhất), Maximum (Giá trị lớn nhất), mean (Giá trị trung bình), Đô u lê uch chuyn (StdDev) như hình sau:

Sau khi đưa dữ liệu vào, bạn có thể thự hiện các thao tác để xử lý dữ liệu trước khi thực hiện những công việc khác như phân cụm, tạo cây quyết định, luật kết hợp… Để thực hiện xử lý dữ liệu trước hết bạn click vào button , một câythư mục đổ xuống, trong cây thưc mục đổ xuống như hình dưới đây:

Trang 8

Từ cây thư mục này bạn có thể thực hiện các thao tác để tiền xử lý dữ liệu của bạn Ở đây chúng tôi chỉ trình bày một số mục trong phần

Unsupervised/Attribute của cây thư mục

Cho phép bạn chèn thêm một thuộc tính cho bảng dữ liệu

Chọn mục Add trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ Add -N unnamed -C last Click chuột trái (hoặc click chuột phải chọn show properties…) sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

Trang 9

AttributeIndex: Vị trí của thuộc tính cần thêm vào trong bảng dữ liệu mặc định là cuối bảng dữ liệu (Last).

AttributeName: Tên của thuộc tính mới

AttributeType: kiểu dữ liệu của thuộc tính mới

Debug: Nếu chọn False thì chương trình sẽ không kiểm tra lti trong quá trình thực hiện

Expression: Nơi để nhập biểu thức toán học.Biểu thức có thể sử dụng các phép toán và các hàm sau: +, -, *, /, ^, log, abs, cos, exp, sqrt, floor, ceil, rint, tan, sin…Mặc định là a1^2, a1 là thuộc tính thứ 1

Name: Tên của thuộc tính mới

Trang 10

II.3 AddID

Cho phép bạn chèn vào một trường ID

Chọn mục AddID trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ AddID -C first -N ID Click chuột trái (hoặc click chuột phải chọn show properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

IDIndex: Vị trí của thuộc tính ID được thêm vào bảng dữ liệu Mặc định là

vị trí đầu tiên (first)

AttributeName: Tên của thuộc tính ID mới

Chèn thêm giá trị cho một thuộc tính

Chọn mục AddValue trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ AddValues -C last -L Click chuột trái (hoặc click chuột phải chọn show properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

Trang 11

AttributeIndex: Vị tri của thuộc tính cần thêm giá trị trong bảng dữ liệu.Labels: các giá trị của thuộc tính cần thêm vào, mti giá trị cách nhau bằng dấu phyy.

Sort: chọn False thì các giá trị trong thuộc tính không được sắp xếp mà giữ nguyên vị trí như lúc đưa vào Chọn true thì các giá trị trong thuộc tính được sắp xếp tăng dần như trong từ điển

Thay đổi định dạng kiểu ngày tháng

Chọn mục ChangeDateFormat trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ ChangeDateFormat -C last -F yyyy-MM-dd'T'HH:mm:ss Click chuột trái (hoặc click chuột phải chọn show properties…) vào dòng chữ này

sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

AttributeIndex: Vị trí thuộc tính cần thay đổi định dạng

Trang 12

DateFormat: Thiết lập định dạng mới cho thuộc tính được chọn.

AttributeIndices: vị trí của thuộc tính cần copy nếu chọn false ở mục invertSelection hoặc không cần copy nếu chọn true ở mục invertSelectionII.7 Discretize

Chỉ thực hiện trên các thuộc tính có giá trị là kiểu dữ liệu numeric Cho phép bạn chia khoảng giá trị của thuộc tính đó từ min đến max thành các khoảng giá trị nhỏ hơn

Chọn mục Discretize trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ Discretize -B 10 -M -1.0 -R first-last Click chuột trái (hoặc click chuột phải chọn show properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

Trang 13

AttributeIndices: vị trí của thuộc tính cần chia khoảng giá trị

Bins: Số khoảng sẽ được chia

II.8 MathEpression

Chỉ thực hiện trên các thuộc tính có giá trị là kiểu dữ liệu numeric

Cho phép bạn thay đổi giá trị của các thuộc tính thông qua các biểu thức toán học Có thể sử dụng các phép toán và hàm sau: +, -, *, /, pow, log,abs, cos, exp, sqrt, tan, sin, ceil, floor, rint, (, ),A,MEAN, MAX, MIN, SD, COUNT, SUM, SUMSQUARED, ifelse

Ví dụ: pow(A,6)/(MEAN+MAX)*ifelse(A<0,0,sqrt(A))+ifelse(![A>9 && A<15])

Chọn mục MathEpression trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ MathExpression -E (A-MIN)/(MAX-MIN) Click chuột trái (hoặcclick chuột phải chọn show properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

Trang 14

Expression: Cho phép bạn nhập các biểu thức toán học

IgnoreRange: Vị trí của thuộc tính sẽ được bỏ qua sự thay đổi giá trị nếu chọn False ở InvertSelection và ngược lại

II.10 Chuyển đổi kiểu dữ liệu

Trang 15

NominalToBinary: Đổi kiểu Nominal sang kiểu Binary

NominalToString: Đổi kiểu Nominal sang kiểu String

NumericToBinary: Đổi kiểu Numeric sang kiểu Binary

NumericToNominal: Đổi kiểu Numeric sang kiểu Nominal

StringToNominal: Đổi kiểu String sang kiểu Nominal

Xóa các thuộc tính không cần thiết đối với quá trình xử lí dữ liệu

Chọn mục Remove trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ Remove Click chuột trái (hoặc click chuột phải chọn show

properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

AttributeIndices: Lựa chọn những thuộc tính mà bạn muốn xóa, các thuộc tính cách nhau bằng dấu phyy, nếu nhiều thuộc tính liên tục nhau thì sử dụng dấu gạch ngang (-)

InvertSelection: Nếu như bạn chọn là False thì những thuộc tính bạn chọn

sẽ bị xóa, còn nếu bạn chọn là true thì những thuộc tính bạn chọn sẽ không bị xóa

mà sẽ xóa những thuộc tính bạn không chọn

Đổi vị trí của hai giá trị của một thuộc tính

Chọn mục SwapValues trong cây thư mục, ở bên phải nút Choose sẽ xuất hiệndòng chữ SwapValues -C last -F first -S last Click chuột trái (hoặc click chuột

Trang 16

phải chọn show properties…) vào dòng chữ này sẽ xuất hiện một hộp thoại cho phép bạn thiết lập các tham số:

AttributeIndex: Lựa chọn thuộc tính mà bạn muốn thay đổi vị trí hai giá trị của thuộc tính đó

FirstValueIndex: Số thứ tự của giá trị thứ nhất trong thuộc tính mà bạn muốn đổi

SecondValueIndex: Số thứ tự của giá trị thứ hai trong thuộc tính mà bạn muốn đổi

Đối với từng mục sau khi thiết lập bạn có thể lưu lại các thiết lập của bạn bằng cách chọn button ở cuối cửa sổ Chọn button để một file mà trước

đó bạn đã lưu lại những thiết lập của bạn Chọn button để biết cách sử dụng hộp thoại đang mở

Sau khi thiết lập các tham số, click vào để hoàn thành Tiếp đó click vào

để thực hiện

3 Tab Classify

Trong tab này có 4 vùng là Classifier, Test Opions, Result list và Classifier output, ngoài ra còn có một list box cho phép bạn chọn thuộc tính làm kết quả của việc phân lớp, một button để bắt đầu thực hiện việc phân lớp và button

để kết thúc việc phân lớp

Trang 17

Vùng Classifier:

Vùng này cho biết tên của thuật toán phân loại đang được chọn, mặc định là zero Bạn có thể thay đổi thuật toán bằng cách click chuột vào trong vùngnày và chọn một thuật toán mà bạn muốn Để thay đổi các thuộc tính cho thuật toán, click chuột trái (hoặc click chuột phải rồi chọn Show properties…) vào dòng chữ bên phải button

Vùng Test Option

Vùng này cho phép bạn lựa chọn các kiểu kiểm tra như:

Use training set:

Supplied test set:

Cross-validation:

Percentage split:

Trang 18

Ngoài ra trong vùng này còn có button cho phép bạn thiết lập một

số tham số khác

Vùng Result List

Vùng này chứa danh sách các kết quả đạt được sau khi thực hiện việc phân lớp Trong danh sách này bạn có thể chọn một kết quả vào nhấp chuột phải vào kết quả

đó sẽ xuất hiện một danh sách cho phép bạn chọn như hình sau:

View in main window: Mở kết quả ở vùng classifies output

View in separate window: Mở kết quả ở một cửa sổ khác

Save result buffer: Lưu kết quả vào bộ nhớ

Delete result buffer: Xóa kết quả

Load model:

Save model:

Re-evaluate model on current test set:

Visualize classifier errors:

Visualize tree: Mở cây quyết định

Visualize margin cuve:

Visualize threshold cuve:

Visualize cost cuve:

Vùng Classifier output

Đây là nơi hiện thị kết quả sau khi thực hiện phân lớp

Trang 19

3 Associate (luật kết hợp)

Gồm có 3 vùng: Associator, Associator output, Result list Ngoài ra còn có một button để bắt đầu thực hiện việc tạo ra luật kết hợp, button để kết thúc

Associator:

Vùng này cho biết tên của thuật toán sẽ được sử dụng để tạo luật kết hợp Bạn

có thể thay đổi thuật toán bằng cách click chuột vào trong vùng này và chọn một thuật toán mà bạn muốn Để thay đổi các thuộc tính cho thuật toán, click chuột trái (hoặc click chuột phải rồi chọn Show properties…) vào dòng chữ bên phải button

Trang 20

View in main window: Mở kết quả ở vùng Associator output

View in separate window: Mở kết quả ở một cửa sổ khác

Save result buffer: Lưu kết quả vào bộ nhớ

Delete result buffer: Xóa kết quả

III KHAI PHÁ DỮ LIỆU SUPERMARKET

1 Preprocess (Tiền xử lý )

a Mở bảng dữ liệu supermarket.aff: sau khi khởi động Weka, chọn Exploer Preproces open, sau đó chọn đường dẫn đến file supermartket.aff

Trang 21

Thông tin tập dữ liệu ta 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 norminal

- No.of rows: 4627 rows

- No.of columns: 217 columns

Sau đây là số liệu cho từng mẫu thử bao gồm tổng trọng lượng cho từng mẫu so với trọng lượng từng bản ghi

- Derpartment 4 với tổng số 84 và còn trống 4543 tức 98% so với tổng số trường hợp đưa ra

- Derpartment 5 với tổng số 175 và còn trống 4452 tức 96%

so với tổng số trường hợp đưa ra

- Derpartment 6 với tổng số 2 và còn trống 4652 tức 100% so với tổng số trường hợp đưa ra

- Derpartment 7 với tổng số 67 và còn trống4560 tức 99% so với tổng số trường hợp đưa ra

- Derpartment 8 với tổng số 0và còn trống4627 tức 100% so với tổng số trường hợp đưa ra

- Derpartment 9 với tổng số82 và còn trống 4545 tức98 % so với tổng số trường hợp đưa ra

- Grocery misc với tổng số178 và còn trống 4449 tức 96% so với tổng số trường hợp đưa ra

- Derpartment 11 với tổng số 5 và còn trống 4622 tức 100%

so với tổng số trường hợp đưa ra

- Baby needs với tổng số 619 và còn trống 4008 tức 87% so với tổng số trường hợp đưa ra

Trang 22

- Bread àd cake với tổng số3330và còn trống 1297tức 28% so với tổng số trường hợp đưa ra.

- Baking needs với tổng số 2795 và còn trống 1832 tức 40%

so với tổng số trường hợp đưa ra

- Coupons với tổng số 0và còn trống 4627 tức 100% so với tổng số trường hợp đưa ra

- Juice sat cord ms với tổng số 2436 và còn trống 2164tức 47% so với tổng số trường hợp đưa ra

- Tea với tổng số 896và còn trống 3731 tức 81% so với tổng

số trường hợp đưa ra

- Biscuits với tổng số 2605 và còn trống 2022 tức 44 % so vớitổng số trường hợp đưa ra

- Canned fish với tổng số 941 và còn trống 3686 tức 80% so với tổng số trường hợp đưa ra

- Canned fruit với tổng số 1283 và còn trống 3344 tức 72% sovới tổng số trường hợp đưa ra

- Canned vetgetable với tổng số 1554 và còn trống 3050 tức 66% so với tổng số trường hợp đưa ra

- Breakfast food với tổng số 1862 và còn trống 2756tức 60 %

so với tổng số trường hợp đưa ra

- Cigs tobacco pktsvới tổng số 999 và còn trống 3928 tức 85% so với tổng số trường hợp đưa ra

- Cleaner polishers với tổng số 1262 và còn trống 3365 tức 73% so với tổng số trường hợp đưa ra

- Coffee với tổng số 1094và còn trống 3533 tức 76% so với tổng số trường hợp đưa

- Sauces gravy pkle với tổng số 2201 và còn trống 2426 tức 52% so với tổng số trường hợp đưa ra

- Cònectinary với tổng số1690 và còn trống 2937 tức 63 % so với tổng số trường hợp đưa ra

- Pudding deserts với tổng số788 và còn trống 3839 tức 83%

so với tổng số trường hợp đưa ra

- Dishcloths với tổng số 362 và còn trống 4265 tức 92% so với tổng số trường hợp đưa ra

- Deod disinfectantnvới tổng số 379 và còn trống 4248 tức 92% so với tổng số trường hợp đưa ra

Ngày đăng: 06/02/2025, 16:25