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 phân lớp cho cơ sở dữ liệu poker hand dataset

10 560 4
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khai phá dữ liệu: Phân lớp cho poker hand dataset bằng Weka
Trường học Học viện Kỹ thuật Quân sự
Chuyên ngành Khoa học Máy tính
Thể loại tiểu luận
Định dạng
Số trang 10
Dung lượng 427,42 KB

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

Nội dung

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

Trang 1

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

Trang 2

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

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

Trang 3

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

Trang 4

 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

Trang 5

 Logistic

 MultilayerProceptron

 SimpleLogistic

Lazy:

 IBk

 Kstar

Meta:

 AdaBoostM1

 Bagging

 FilteredClassifier

 LogitBoots

Misc

 InputmappedClassifier

 SerialzedClassifier

Rules

 DecisionTable

 JRip

 OneR

 ZeroR

Trees

 J48

 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

Trang 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

Trang 7

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

Trang 8

Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình

phân lớp

Trang 9

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 có mô hình của thuật toán Naviebayes:

Trang 10

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 có 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

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 (Trang 2)
 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) (Trang 3)
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 (Trang 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) - 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) (Trang 7)
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 (Trang 8)
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: (Trang 9)
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 (Trang 9)

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