Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

10 551 4
Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

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

Thông tin tài liệu

1. Mô tả tập dữ liệu a. Nguôn gốc Poker hand dataset được tạo ra bởi : Robert Cattral (cattral@gmail.com) và Franz Oppacher (oppacher@scs.carleton.ca) Đại học Carleton, Sở Khoa học Máy tính, Đơn vị Nghiên cứu Hệ thống thông minh Tại: 1125 Colonel By Drive, Ottawa, Ontario, Canada, K1S5B6. Ngày bắt đầu triển khai là tháng 1 năm 2007. b. Cấu trúc - Mỗi bản ghi dữ liệu của poker hàn là một ví dụ của người chơi. Thẻ được rút ra từ một bộ bài tiêu chuẩn 52 quân bài. - Mỗi thẻ được mô tả bằng cách sử dụng hai thuộc tính suit and rank, với tổng là 10 thuộc tính - Thứ tự của mỗi thẻ rất quan trọng, đó là lý do tại sao có 480 lựa chọn tromg bước đi 2. Các thuôc tính của data @relation Poker_Hand @attribute Suit-of-card#1 {1, 2, 3, 4} @attribute Rank-of-card#1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#2 {1, 2, 3, 4} @attribute Rank-of-card#2 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#3 {1, 2, 3, 4} @attribute Rank-of-card#3 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#4 {1, 2, 3, 4} @attribute Rank-of-card#4 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#5 {1, 2, 3, 4} @attribute Rank-of-card#5 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute class {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Với : 0: người chơi không được coi là tay chơi poker 1: Một đôi; một đôi bình đẳng cấp bậc trong năm thẻ 2: Hai cặp; hai cặp bình đẳng cấp bậc trong năm thẻ 3: Ba của một loại; ba cấp bậc tương đương trong năm thẻ 4: Straight; năm thẻ, tuần tự được xếp hạng với không có khoảng trống 5: đưa ra năm thẻ với cùng chất Hoa 6: Có đầy đủ cặp + đánh giá khác nhau của một loại 7: Bốn của một loại, bốn cấp bậc tương đương trong năm thẻ 8: Thẳng đưa ra 9: Royal đưa ra; {Ace, vua, Queen, Jack, Ten} 3. Bài toán phân lớp - Bài toán phân lớp theo các rút lá bài trong đó có 2 trạng thái là suit và rank

Học viện kỹ thuật quân sự - CNPM 6 Khai phá dữ liệu poker hand dataset 1. Mô tả tập dữ liệu a. Nguôn gốc Poker hand dataset được tạo ra bởi : Robert Cattral (cattral@gmail.com) và Franz Oppacher (oppacher@scs.carleton.ca) Đại học Carleton, Sở Khoa học Máy tính, Đơn vị Nghiên cứu Hệ thống thông minh Tại: 1125 Colonel By Drive, Ottawa, Ontario, Canada, K1S5B6. Ngày bắt đầu triển khai là tháng 1 năm 2007. b. Cấu trúc  Mỗi bản ghi dữ liệu của poker hàn là một ví dụ của người chơi. Thẻ được rút ra từ một bộ bài tiêu chuẩn 52 quân bài.  Mỗi thẻ được mô tả bằng cách sử dụng hai thuộc tính suit and rank, với tổng là 10 thuộc tính  Thứ tự của mỗi thẻ rất quan trọng, đó là lý do tại sao 480 lựa chọn tromg bước đi 2. Các thuôc tính của data @relation Poker_Hand @attribute Suit-of-card#1 {1, 2, 3, 4} @attribute Rank-of-card#1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#2 {1, 2, 3, 4} @attribute Rank-of-card#2 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#3 {1, 2, 3, 4} @attribute Rank-of-card#3 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#4 {1, 2, 3, 4} @attribute Rank-of-card#4 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute Suit-of-card#5 {1, 2, 3, 4} @attribute Rank-of-card#5 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} @attribute class {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Với : 0: người chơi không được coi là tay chơi poker 1: Một đôi; một đôi bình đẳng cấp bậc trong năm thẻ 2: Hai cặp; hai cặp bình đẳng cấp bậc trong năm thẻ 3: Ba của một loại; ba cấp bậc tương đương trong năm thẻ 4: Straight; năm thẻ, tuần tự được xếp hạng với không khoảng trống 5: đưa ra năm thẻ với cùng chất Hoa 6: đầy đủ cặp + đánh giá khác nhau của một loại 7: Bốn của một loại, bốn cấp bậc tương đương trong năm thẻ 8: Thẳng đưa ra 9: Royal đưa ra; {Ace, vua, Queen, Jack, Ten} Học viện kỹ thuật quân sự - CNPM 6 3. Bài toán phân lớp  Bài toán phân lớp theo các rút lá bài trong đó 2 trạng thái là suit và rank a. Giải quyết bài toán sử dụng các bộ phân lớp Xử lý dữ liệu đầu vào: Tất cả các thuộc tính đầu vào này là thuộc tính rời rạc do vậy nó phù hợp với hầu hết các thuật toán liên quan đến việc phân lớp b. Các mô hình huấn luyện cho bài toán phân lớp Trong lĩnh vực máy học (machine Learning) và nhận dạng mẫu (pattern recognition), bài toán phân lớp (classification) đề cập đến các thuật toán (algorithms) nhằm xác định lớp (class) của đối tượng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước (given categories). Khác với bài toán phân cụm (clustering), dữ liệu dùng để xây dựng mô hình (Training Data) trong bài toán phân lớp phải được xác định lớp trước (pre-Labeled). Ví dụ, xác định một email thuộc “spam” hoặc “non-spam”, hay xác định loại bệnh của bệnh nhân dựa vào các triệu chứng của họ. Training set Learn classifier Test set Model Một thuật toán thực hiện việc phân lớp được gọi là một bộ phân lớp (classifier). Hình sau mô tả qui trình xây dựng mô hình phân lớp các đối tượng. Học viện kỹ thuật quân sự - CNPM 6 c. Quy trình thực hiện huấn luyện bộ phân lớp với mẫu dữ liệu poker handDữ liệu đầu vào : poker hand.arff  Dữ liệu để xây dựng mô hình: dữ liệu gốc (original dataset), dữ liệu này phải thuộc tính phân lớp (categorical attribute). Dữ liệu gốc sẽ được chia thành 2 phần là Training Set (để xây dựng model) và Test Set (để kiểm định mẫu - Model).  Cuối cùng là tính toán lỗi để đánh giá mô hình phân lớp (classification model).  Chia nhỏ tập dữ liệu theo phương pháp CV (Cross-Validation) trong quá trình huấn luyện và kiểm lỗi mô hình phân lớp Đây là kỹ thuật chủ yếu được sử dụng trong xây dựng predictive Model. Trong đó dữ liệu gốc sẽ được chia thành n phần bằng nhau (n-fold), và quá trình Train/Test Model thực hiện lặp lại n lần. Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và (n-1) phần còn lại dùng để Train. (Người ta đã chứng minh 10-fold Cross –Validation là giá trị tối ưu - theo GJ, McLachlan; K.A. Do, C. Ambroise (2004). Analyzing microarray gene expression data. Wiley) Học viện kỹ thuật quân sự - CNPM 6  Tính toán lỗi cho bộ phân lớp  Kết quả nhận được là những bộ phân lớp  Các bộ phân lớp được weka hỗ trợ : Bayes:  NavieBayes  NavieBayesMiltinominal  NavieBayesUpdateable Học viện kỹ thuật quân sự - CNPM 6 Functions:  Logistic  MultilayerProceptron  SGD  SimpleLogistic  SMO Lazy:  IBk  Kstar  LWL Meta:  AdaBoostM1  Bagging  FilteredClassifier  LogitBoots Misc  InputmappedClassifier  SerialzedClassifier Rules  DecisionTable  JRip  OneR  ZeroR Trees  J48  LMT  DecisionStump  RandomTree  REPTree  RandomForest a. Thực hiện  Dữ liệu sẽ được chia làm 10 Folds và quá trình Train/Test Model thực hiện lặp lại 10 lần. Tại mỗi lần Train/Test Model, 1 phần dữ liệu dùng để Test và 9 phần còn lại dùng để Train.  Sử dụng công cụ KnowledgeFlow  Xác định nguồn và định dạng dữ liệu (DataSources): chọn ArffLoader để load nạp dữ liệu từ file poker-hand.arff Học viện kỹ thuật quân sự - CNPM 6  Chọn tab Evaluation và chọn ClassAssigner để xác định thuộc tính phân lớp (Category variable) của mô hình. Để nạp dữ kiệu từ dataset vào mô hình bấm phải chuột vào Poker hand Dataset và chọn dataset rồi kéo và thẻ đến ClassAssigner Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Tab Evaluation chọn CrossValidation FoldMaker. Nạp dữ liệu vào CV giống như nạp dữ liệu từ Poker hand Dataset vào ClassAssigner Học viện kỹ thuật quân sự - CNPM 6 Chọn Tab Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48). Sau đó nạp dữ liệu để train và Test mô hình, bấm phải chuột vào CrossValidation FoldMaker chọn TrainingSet nối với J48, sau đó chọn TestSet (chú ý là phải chọn TraningSet trước) Hiệu chỉnh tham số của thuật toán bằng cách double click và thuật toán Học viện kỹ thuật quân sự - CNPM 6 Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình phân lớp Học viện kỹ thuật quân sự - CNPM 6 Chọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh Với cách làm trên ta mô hình của thuật toán Naviebayes: Học viện kỹ thuật quân sự - CNPM 6 d. Kết quả thực hiện khai phá dữ liệu poker hand data set bằng 2 thuật toán trên ta kết quả như sau: • Thuật toán Naviebase: Correctly Classified Instances 12274 49.0764 % Incorrectly Classified Instances 12736 50.9236 % Kappa statistic -0.0061 Mean absolute error 0.1136 Root mean squared error 0.2387 Relative absolute error 99.9803 % Root relative squared error 100.1553 % Total Number of Instances 25010 • Thuật toán J48 Correctly Classified Instances 14390 57.537 % Incorrectly Classified Instances 10620 42.463 % Kappa statistic 0.1954 Mean absolute error 0.0986 Root mean squared error 0.2463 Relative absolute error 86.7951 % Root relative squared error 103.345 % Total Number of Instances 25010 . phân lớp với mẫu dữ liệu poker hand  Dữ liệu đầu vào : poker hand. arff  Dữ liệu để xây dựng mô hình: dữ liệu gốc (original dataset) , dữ liệu này phải có. Học viện kỹ thuật quân sự - CNPM 6 Khai phá dữ liệu poker hand dataset 1. Mô tả tập dữ liệu a. Nguôn gốc Poker hand dataset được tạo ra bởi : Robert Cattral

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

Hình ảnh liên quan

b. Các mô hình huấn luyện cho bài toán phân lớp - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

b..

Các mô hình huấn luyện cho bài toán phân lớp Xem tại trang 2 của tài liệu.
 Dữ liệu để xây dựng mô hình: dữ liệu gốc (original dataset), dữ liệu này phải có thuộc tính phân lớp (categorical attribute) - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

li.

ệu để xây dựng mô hình: dữ liệu gốc (original dataset), dữ liệu này phải có thuộc tính phân lớp (categorical attribute) Xem tại trang 3 của tài liệu.
Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Tab Evaluation chọn CrossValidation FoldMaker - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

h.

ọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Tab Evaluation chọn CrossValidation FoldMaker Xem tại trang 6 của tài liệu.
Chọn Tab Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48) - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

h.

ọn Tab Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48) Xem tại trang 7 của tài liệu.
Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình phân lớp - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

h.

ọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình phân lớp Xem tại trang 8 của tài liệu.
Với cách làm trên ta có mô hình của thuật toán Naviebayes: - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

i.

cách làm trên ta có mô hình của thuật toán Naviebayes: Xem tại trang 9 của tài liệu.
Chọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh - Tiểu luận khai phá dữ liệu: Sử dụng phần mềm Weka phân lớp cho cơ sở dữ liệu poker hand dataset

h.

ọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh Xem tại trang 9 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan