Đề tài Tạo luật kết hợp trong cơ sơ dữ liệu bank - Data.csv với phần mềm 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ằng java. 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ác lớ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 file hoặ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ó Hình 1: Giao diện đồ họa của Weka  Các phiên bản của Weka  WEKA 3.0: “book version”: Chỉ cho phép viết các câu lệnh.  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. Trong phần Applications có 4 phần: 1. Explorer: Sử dụng menu lựa chọn. Explorer chỉ sử dụng cho những bộ dữ liệu vừa và nhỏ. 2. Experimeter: Cho phép người dùng thực hiện những bài tập cơ bản khi ứng dụng phân lớp và kĩ thuật hồi quy, với những công việc có giá trị, phương pháp và tham số tốt nhất cho vấn đề đã cho. 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ững cá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

doc29 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2396 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tạo luật kết hợp trong cơ sơ dữ liệu bank - Data.csv với phần mềm weka, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC ----˜Y™---- BÁO CÁO BÀI TẬP NHÓM Đề tài: TẠO LUẬT KẾT HỢP TRONG CƠ SƠ DỮ LIỆU BANK-DATA.CSV VỚI PHẦN MỀM WEKA Giáo viên hướng dẫn Sinh viên thực hiện Th.S Nguyễn Hương Giang Lưu Hải Phong Trịnh Thị Hiền Nguyễn Thị Hằng Huế, 12/2009 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ằng java. 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ác lớ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 file hoặ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ó Hình 1: Giao diện đồ họa của Weka Các phiên bản của Weka WEKA 3.0: “book version”: Chỉ cho phép viết các câu lệnh. 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. Trong phần Applications có 4 phần: Explorer: Sử dụng menu lựa chọn. Explorer chỉ sử dụng cho những bộ dữ liệu vừa và nhỏ. Experimeter: Cho phép người dùng thực hiện những bài tập cơ bản khi ứng dụng phân lớp và kĩ thuật hồi quy, với những công việc có giá trị, phương pháp và tham số tốt nhất cho vấn đề đã cho. 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ững cách thiết lập tham số khác nhau trên toàn thể bảng dữ liệu 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. Simple CLI: Sử dụng câu lệnh EXPLORER Trong giao diện của Explorer có 6 tab Hình 2: Giao diện đồ họa của 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. Đưa dữ liệu vào Trong tab Preprocess có: Nút mở các file có sẵn trên máy. Nút mở file từ máy khác. Nút đọc dữ liệu từ một cơ sở dữ liệu. Nút Phần mềm tự tạo ra dữ liệu cho bạn theo những sự lựa 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: Hình 3: Mở file trong Exporer Preprocess Trong cửa sổ của Preprocess có 4 vùng Vùng Filter 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 mỗi 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ạn biết về tên bảng bảng dữ liệu: Trong trường hợp này bảng dữ liệu 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ộc 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ên thuộc tính vào. Vùng Selected Attribute: Name: Tên thuộc tính. Type: Kiểu dữ liệu của thuộc 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ị rỗng trong thuộc tính. Distinct: Cho biết số lượng các giá trị trong thuộc tính. 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ặp lại trong thuộc tính. Nếu thuộc tính bạn đang chọn có kiểu dữ liệu là Nominal thì bạn sẽ nhìn thấy trong vùng này một table gồm có các trường số thứ tự (NO.), tên các giá trị (lable), số lượng mỗi giá trị (Count) và trọng lượng của chúng (Weight) như sau: Nếu thuộc tính bạn đang chọn có kiểu dữ liệu là numeric thì table có hai trường là số liệu 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), Độ lệch chuẩn (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ây thư mục đổ xuống, trong cây thưc mục đổ xuống như hình dưới đây: 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. Add 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ố: 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. DateFormat : định dạng ngày NominalLabels: Giá trị của thuộc tính nếu thuộc tính có kiểu dữ liệu là Nominal, các giá trị được cách nhau bằng dấu phẩy. AddEpression Cho phép chèn thêm một trường mà giá trị của trường này được tính theo một biểu thức toán học do người dùng nhập vào. Chọn mục AddEpression trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ AddExpression -E a1^2 -N expression. 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ố: Debug: Nếu chọn False thì chương trình sẽ không kiểm tra lỗi 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. 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. AddValues 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ố: 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, mỗi giá trị cách nhau bằng dấu phẩy. 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. ChangeDateFormat 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 DateFormat: Thiết lập định dạng mới cho thuộc tính được chọn. Copy Cho phép bạn sao chép các thuộc tính trong bảng dữ liệu. Sự sao chép này phụ thuộc vào các thông số mà bạn lựa chọn. Chọn mục Copy trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ Copy. 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: 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 invertSelection 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ố: AttributeIndices: vị trí của thuộc tính cần chia khoảng giá trị Bins: Số khoảng sẽ được chia 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(A9 && 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ặ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ố: 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. MergerTwoValues Gộp hai giá trị bất kỳ của một thuộc tính có kiểu dữ liệu Nominal thành một giá trị, tên của giá trị mới có dạng: _ Chọn mục MergerTwoValues trong cây thư mục, ở bên phải nút Choose sẽ xuất hiện dòng chữ MergeTwoValues -C last -F first -S 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ố: Chuyển đổi kiểu dữ liệu 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 Remove 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 phẩy, 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. SwapValues Đổ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ện dòng chữ SwapValues -C last -F first -S 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ố: 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. 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. 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ù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 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: 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 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 Associator output Đây là nơi hiện thị kết quả của việc tạo luật kết hợp 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 ttaoj luật kết hợ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 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ả TẠO LUẬT KẾT HỢP VỚI CƠ SỞ DỮ LIỆU BAN-DATA.CSV Cơ sở dữ liệu Cơ sơ dữ liệu sử dụng để tạo luật kết hợp là “bank- data.cvs”. CSDL này gồm 100 bản ghi, với 12 thuộc tính: ID (mã số), TUOI (tuổi), GIOI TINH (giới tính), KHU VUC (khu vực), THU NHAP (thu nhập), KET HON (kết hôn), CON (số con), XE (xe), TKTK (tài khoản tiết kiệm), TK_HIEN TAI (Tài khoản hiện tại), THE CHAP (thế chấp). Sử dụng phần mềm Weka để tạo ra luật kết hợp quyết định cho một khách hàng được vay vốn hay không. Preprocess (Tiền xử lý ) Mở bảng dữ liệu bank- data.csv: sau khi khởi động Weka, chọn Exploer àPreproces àopen, sau đó chọn đường dẫn đến file bank-data.csv. Loại bỏ thuộc tính ID khỏi CSDL: Click chuột vào checkbox ở thuộc tính ID, sau đó click vào Chuyển đổi kiểu dữ liệu của thuộc tính TUOI thành kiểu Nominal với 3 giá trị Thanh nien (Thanh niên), Trung nien (Trung niên), Gia(Già) Bước 1: Chọn mục MathExpression trong cây thư mục rồi thiết lập các thông số trong hộp thoại của nó như sau: Click vào để hoàn thành. Tiếp đó click vào để thực hiện. Bước 2: Chuyển đổi kiểu dữ liệu của trường TUOI sang kiểu Nominal Sử dụng mục NumericToNominal Bước 3: Thêm các giá trị Thanh nien, Trung nien, Gia vào thuộc tính TUOI Chọn mục AddValues ở cây thư mục và thiết lập các thông số trong hộp thoại của nó như sau: Bước 4: Click vào button ở phía trên vùng Filter, sẽ xuất hiện một bảng dữ liệu như sau: Click chuột phải vào thuộc tính TUOI rồi chọn Replace Value Width… Xuất hiện hộp thoại, gõ 1 vào rồi Click OK, xuất hiện hộp thoại thứ 2, gõ Thanh nien vào rồi click OK: Thực hiện tương tự với hai trường hợp còn lại. Chuyển đổi kiểu dữ liệu của thuộc tính THU NHAP thành kiểu Nominal với 3 giá trị Thap (Thấp), TB (Trung bình), Cao (Cao). Bước 1: Chọn mục MathExpression trong cây thư mục rồi thiết lập các thông số trong hộp thoại của nó như sau: Click vào để hoàn thành. Tiếp đó click vào để thực hiện. Bước 2: Chuyển đổi kiểu dữ liệu của trường THU NHAP sang kiểu Nominal Sử dụng mục NumericToNominal. Bước 3: Thêm các giá trị Thap, TB, Cao vào thuộc tính THU NHAP Chọn mục AddValues ở cây thư mục và thiết lập các thông số trong hộp thoại của nó như sau: Bước 4: Click vào button ở phía trên vùng Filter, sẽ xuất hiện một bảng dữ liệu như sau: Click chuột phải vào thuộc tính THU NHAP rồi thực hiện tương tự Bước 4 của phần 2.3 Chuyển đổi kiểu dữ liệu của thuộc tính CON thanh kiểu Nominal với 3 giá trị 0_con, 1_con, 2_con, 3_con Bước 1:Chuyển kiểu dữ liệu của thuộc tính con thành kiểu Nominal Sử dụng mục NumericToNominal Bước 2: Dùng mục Addvalues để thêm giá trị con vào thuộc tính CON Bước 3: Dùng mục mergeTwoValues để gộp 2 giá trị 0 và giá trị con thành một giá trị có tên là 0_con Quay lại bước 2 và thực hiện tương tự đối với các giá trị còn lại. Sau khi thực hiện xong trong thuộc tính CON sẽ có 4 giá trị là 0_con, 1_con, 2_con, 3_con. Lưu ý: Sau khi đã xử lý xong dữ liệu click vào button để lưu lại bảng dữ liệu. Ta nhận thấy rằng ở các thuộc tính TUOI và THU NHAP sau khi xử lý xong có một số giá trị sẽ không được sử dụng đến là 1, 2, 3, để loại bỏ những giá trị này ta luu bảng dữ liệu lại với định dạng CSV rồi mở lại một lần nữa, lúc này các giá trị 1,2,3 đã bị loại bỏ. Classifier (Phân lớp) Trong vùng Classifier click button sau đó chọn mục tree/j48 rồi click vào button để bắt đầu việc phân lớp. Sau khi phân lớp xong kết quả sẽ được hiện thì ở vùng Classifier như sau: === Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: BANK-DATA-SUA Instances: 101 Attributes: 11 TUOI GIOI TINH KHU VUC THU NHAP KET HON CON XE TKTK TK_HIEN TAI THE CHAP CHO VAY Test mode: 10-fold cross-validation === Classifier model (full training set) === J48 pruned tree ------------------ CON = 1_con: C (19.0/2.0) CON = 0_con | THE CHAP = K | | KET HON = K: C (7.0/1.0) | | KET HON = C | | | GIOI TINH = nam: C (12.0/5.0) | | | GIOI TINH = nu: K (12.0/3.0) | THE CHAP = C | | TKTK = K: C (3.0/1.0) | | TKTK = C: K (12.0/1.0) CON = 3_con | TKTK = K: K (3.0) | TKTK = C: C (6.0/1.0) CON = 2_con | TUOI = Trung nien | | TKTK = K: C (5.0/1.0) | | TKTK = C | | | KET HON = K: K (2.0) | | | KET HON = C | | | | TK_HIEN TAI = K: K (4.0/1.0) | | | | TK_HIEN TAI = C: C (2.0) | TUOI = Thanh nien: K (8.0/1.0) | TUOI = Gia: C (6.0/1.0) Number of Leaves : 14 Size of the tree : 24 Time taken to build model: 0.09 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 55 54.4554 % Incorrectly Classified Instances 46 45.5446 % Kappa statistic 0.0897 Mean absolute error 0.4312 Root mean squared error 0.5574 Relative absolute error 86.5751 % Root relative squared error 111.6459 % Total Number of Instances 101 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.537 0.447 0.58 0.537 0.558 0.618 C 0.553 0.463 0.51 0.553 0.531 0.618 K Weighted Avg. 0.545 0.454 0.547 0.545 0.545 0.618 === Confusion Matrix === a b <-- classified as 29 25 | a = C 21 26 | b = K Trong vùng result list, click chuột phải vào dòng chữ tree.j48 chọn mục Visualize tree để mở cây quyết định Associate (Tạo luật kết hợp) Trong vùng Associator, bên phải button xuất hiện dòng chữ Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -A -c -1, click chuột trái (hoặc chuột phải chọn Show properties…) vào dòng chữ này để thiết lập các tham số như hình sau: Click Ok sau đó click vào button để tạo luật kết hợp, kết quả sẽ hiện thị ở vùng Associator output như sau: === Run information === Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -A -c -1 Relation: BANK-DATA-SUA Instances: 101 Attributes: 11 TUOI GIOI TINH KHU VUC THU NHAP KET HON CON XE TKTK TK_HIEN TAI THE CHAP CHO VAY === Associator model (full training set) === Apriori ======= Minimum support: 0.1 (10 instances) Minimum metric : 0.9 Number of cycles performed: 18 Generated sets of large itemsets: Size of set of large itemsets L(1): 42 Size of set of large itemsets L(2): 172 Size of set of large itemsets L(3): 131 Size of set of large itemsets L(4): 19 Size of set of large itemsets L(5): 1 Best rules found: 1. CON=1_con TK_HIEN TAI=C 16 ==> CHO VAY=C 15 conf:(0.94) 2. CON=1_con TKTK=C 13 ==> CHO VAY=C 12 conf:(0.92) 3. CON=1_con THE CHAP=K 13 ==> CHO VAY=C 12 conf:(0.92) 4. CON=1_con XE=K 12 ==> CHO VAY=C 11 conf:(0.92) 5. CON=1_con TKTK=C TK_HIEN TAI=C 12 ==> CHO VAY=C 11 conf:(0.92) 6. CON=1_con TK_HIEN TAI=C THE CHAP=K 12 ==> CHO VAY=C 11 conf:(0.92) 7. CON=0_con TKTK=C THE CHAP=C 12 ==> CHO VAY=K 11 conf:(0.92) Kết quả: Tạo được 7 luật kết hợp: 1. CON=1_con TK_HIEN TAI=C 16 ==> CHO VAY=C 15 conf:(0.94) 2. CON=1_con TKTK=C 13 ==> CHO VAY=C 12 conf:(0.92) 3. CON=1_con THE CHAP=K 13 ==> CHO VAY=C 12 conf:(0.92) 4. CON=1_con XE=K 12 ==> CHO VAY=C 11 conf:(0.92) 5. CON=1_con TKTK=C TK_HIEN TAI=C 12 ==> CHO VAY=C 11 conf:(0.92) 6. CON=1_con TK_HIEN TAI=C THE CHAP=K 12 ==> CHO VAY=C 11 conf:(0.92) 7. CON=0_con TKTK=C THE CHAP=C 12 ==> CHO VAY=K 11 conf:(0.92)

Các file đính kèm theo tài liệu này:

  • docBáo cáo- Tạo luật kết hợp trong cơ sơ dữ liệu bank-datacsv với phần mềm weka.doc