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 Gamers với thuật toán phân lớp

16 1,6K 38
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 đề Sử dụng phần mềm Weka khai phá bộ dữ liệu Gamers với thuật toán phân lớp
Tác giả Trần Anh Tú
Người hướng dẫn Giáo viên hướng dẫn: Hồ Nhật Quang
Trường học Học viện Kỹ thuật Quân sự
Chuyên ngành Công nghệ thông tin
Thể loại Tiểu luận
Định dạng
Số trang 16
Dung lượng 1,45 MB

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

Nội dung

I. Mô tảCho cơ sở dữ liệu về những người chơi Games , chúng ta sẽ nghiên cứu gói dữ liệu này để rút ra phương hướng phát hành , thu phí và thị trường phát triển game ngày nay . Đây là một vấn đề khá được quan tâm , trong đó đại bộ phận là giới trẻBộ dữ liệu là bản ghi về những người chơi games trong đó bao gồm : giới tính, Thể loại game , yêu cầu cấu hình máy tính , mức phí chơi , nhà phát hành game và kết luận là họ có chơi game đó hay không . Thuật toán phân lớp sẽ được lựa chọn áp dụng trên bộ dữ liệu này.II. Thực nghiệm trên WEKA1. Tiền xử lý dữ liệu: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ư:oFiltering Attributes: Chọn các thuộc tính phù hợp với mô hìnhoFiltering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hìnhoClean 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 ordinaloDiscretization (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 ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu.

Trang 1

Học viện kỹ thuật quân sự Khoa Công nghệ thông tin

BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆU

Đề tài: Sử

dụng phần mềm weka khai phá bộ dữ liệu Gamers

với thuật toán phân lớp

Giáo viên hướng dẫn: Hồ Nhật Quang Sinh Viên: Trần Anh Tú

Lớp : HTTT6

I Mô tả

Trang 2

Cho cơ sở dữ liệu về những người chơi Games , chúng ta sẽ nghiên cứu gói

dữ liệu này để rút ra phương hướng phát hành , thu phí và thị trường phát triển game ngày nay Đây là một vấn đề khá được quan tâm , trong đó đại

bộ phận là giới trẻ

Bộ dữ liệu là bản ghi về những người chơi games trong đó bao gồm : giới tính, Thể loại game , yêu cầu cấu hình máy tính , mức phí chơi , nhà phát hành game và kết luận là họ có chơi game đó hay không Thuật toán phân lớp sẽ được lựa chọn áp dụng trên bộ dữ liệu này.

II Thực nghiệm trên WEKA

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

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ư:

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

hình

o Filtering samples: Lọc các mẫu (instances, patterns) dữ

liệu cho mô hình

o 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

o 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 ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu

Trang 3

Trong bài toán hiện tại , các bước tiền xử lý dữ liệu cụ thể như sau:

- Khởi động WEKA Explorer Chọn cơ sở dữ liệu parkinsons.csv bằng cách chọn OpenFile… chọn kiểu dữ liệu CSV data file (*.csv) rồi chọn đường dẫn

tới file game.csv

Trang 4

Sau khi đã tải xong cơ sở dữ liệu ,ta sẽ thấy xuất hiện trên cửa số

Preprocess của WEKA như sau:

Tab bên trái là danh sách các thuộc tính , Tab bên phải là chi tiết từng thuộc tính được trỏ vào

Trích chọn thuộc tính trong Weka

- Trong WEKA, một phương pháp lựa chọn thuộc tính (Attribute

selection) bao gồm2 phần:

o Attribute Evaluator Để

Trang 5

xác định một phương pháp đánh giá mức • Attribute Evaluator Để xác định một phương pháp đánh giá mức

độ phù hợpcủa các thuộc tính

+ Vd: correlation-based, wrapper, information gain, chisquared squared,…

o Search Method Để xác

định mộtphương pháp (thứ tự) xét các thuộc tính

+ Vd: best-first, random, exhaustive, ranking,…

- Trong bộ dữ liệu đang sử dụng, có thể có nhiều thuộc tính không cần để xem xét 1 người có bị bệnh về tuyến giáp hay không, ví

dụ như: , ta sử dụng công cụ trích chọn thuộc tính như sau:

- Mở weka, chọn mở cơ sở dữ liệu game.arff, ta có màn hình

Preprocess

- Chọn tab “Select attributes”, trong mục “Attribute Evaluaror” chọn

WrapperSubsetEval, trong mục Classifier chọn NaiveBayes

Trong mục Search Method chọn GredySteepWise , ở select box thứ 3 chọn giá trị True và Start , ta sẽ thu được kết quả

Trang 6

=== Run information ===

Evaluator: weka.attributeSelection.WrapperSubsetEval -B weka.classifiers.bayes.NaiveBayes -F 5 -T 0.01 -R 1

Search:weka.attributeSelection.GreedyStepwise B T

-1.7976931348623157E308 -N -1

Relation: game-weka.filters.unsupervised.attribute.Remove-R1 Instances: 151

Attributes: 6

GioiTinh

Trang 7

LoaiGame

ThuPhi

CauHinh

NhaPhatHanh

QuyetDinh

Evaluation mode:evaluate on all training data

=== Attribute Selection on all input data ===

Search Method:

Greedy Stepwise (backwards).

Start set: all attributes

Merit of best subset found: 0.368

Attribute Subset Evaluator (supervised, Class (nominal): 6 QuyetDinh): Wrapper Subset Evaluator

Learning scheme: weka.classifiers.bayes.NaiveBayes

Scheme options:

Accuracy estimation: classification error

Number of folds for accuracy estimation: 5

Selected attributes: 1,2,3,4,5 : 5

GioiTinh

LoaiGame

ThuPhi

CauHinh

NhaPhatHanh

Trong gói dữ liệu này ,thuộc tính “STT” ở đây biểu thị số thứ tự , không

cần thiết cho quá trình khai phá dữ liệu nên ta sẽ loại bỏ nó đi , các bước loại bỏ như sau :

Trong panel Filter > Choose > filters >unsupervised > attribute > Remove

Trang 8

Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” và điền vào giá trị 1 (đây

là index của thuộc tính "STT" trong file dữ liệu) Chú ý rằng tùy chọn "invertSelection"

phải được thiết lập là false

Ngay sau khi bấm apply ,thuộc tính "STT" sẽ bị loại bỏ

Ta có màn hình bên dưới

Trang 9

Tới đấy ta Save cơ sở dữ liệu này thành file có dạng *.arff để thực hiện thuật toán phân

lớp ( mục save ở phía trên bên phải của weka )

2.Thuật toán phân lớp

Thực hiện thuật toán

- Trong bài toán này, ta sẽ áp dụng thử 2 thuật toán phân lớp,

đó là: cây quyết định (Decision tree) là J48 và SimpleCART và

mô hình MultilayerPerceptron của mạng Neuron (Neural network)

=== Run information ===

a Kết quả khi J48 với các thông số như sau (chia dữ liệu thành 10 phần)

Trang 10

=== Run information ===

Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation:

game-weka.filters.unsupervised.attribute.Remove-R1 Instances: 151

Attributes: 6

GioiTinh

LoaiGame

ThuPhi

CauHinh

NhaPhatHanh

QuyetDinh

Test mode:10-fold cross-validation

=== Classifier model (full training set) ===

J48 pruned tree

-NhaPhatHanh = VNG: Co (63.0/19.0)

NhaPhatHanh = VTC: Co (36.0/11.0)

NhaPhatHanh = FPT

| ThuPhi <= 4: Khong (22.0/7.0)

| ThuPhi > 4

| | LoaiGame = NhapVai

| | | GioiTinh <= 0: Co (2.0)

| | | GioiTinh > 0: Khong (3.0)

| | LoaiGame = Bansung

| | | GioiTinh <= 0

| | | | ThuPhi <= 5: Co (2.0)

| | | | ThuPhi > 5: Khong (2.0)

| | | GioiTinh > 0: Co (3.0)

| | LoaiGame = TheThao: Khong (5.0/2.0)

| | LoaiGame = ChienThuat: Co (13.0/4.0)

Trang 11

Number of Leaves : 10 Size of the tree : 16 Time taken to build model: 0 seconds

=== Stratified cross-validation ===

=== Summary ===

Correctly Classified Instances 87 57.6159 % Incorrectly Classified Instances 64 42.3841 % Kappa statistic -0.0138

Mean absolute error 0.4741 Root mean squared error 0.5155 Relative absolute error 100.7457 % Root relative squared error 106.3026 % Total Number of Instances 151

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class

0.83 0.842 0.619 0.83 0.709 0.45 Co

0.158 0.17 0.36 0.158 0.22 0.45 Khong

Weighted Avg 0.576 0.588 0.521 0.576 0.524 0.45

=== Confusion Matrix ===

a b < classified as

78 16 | a = Co

48 9 | b = Khong

Theo cây quyết định ở kết quả trên, khi đưa ra một bộ dữ liệu mới, ta sẽ xác định được kết quả là người này có quyết định sẽ chơi game mới hay không

b Kết quả chạy thuật toán theo mô hình MultilayerPerceptron của mạng Neuron

Correctly Classified Instances 74 49.0066 %

Trang 12

Incorrectly Classified Instances 77 50.9934 %

Kappa statistic -0.0813

Mean absolute error 0.5007

Root mean squared error 0.6412

Relative absolute error 106.393 %

Root relative squared error 132.2168 %

Total Number of Instances 151

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class

0.585 0.667 0.591 0.585 0.588 0.45 Co

0.333 0.415 0.328 0.333 0.33 0.45 Khong Weighted Avg 0.49 0.572 0.492 0.49 0.491 0.45

=== Confusion Matrix ===

a b < classified as

55 39 | a = Co

38 19 | b = Khong

c Kết quả khi J48 với các thông số như sau (khai thác trên 40% dữ liệu)

=== Run

information ===

Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: game-weka.filters.unsupervised.attribute.Remove-R1

Trang 13

Instances: 151

Attributes: 6

GioiTinh

LoaiGame

ThuPhi

CauHinh

NhaPhatHanh

QuyetDinh

Test mode:split 60.0% train, remainder test

=== Classifier model (full training set) ===

J48 pruned tree

-NhaPhatHanh = VNG: Co (63.0/19.0)

NhaPhatHanh = VTC: Co (36.0/11.0)

NhaPhatHanh = FPT

| ThuPhi <= 4: Khong (22.0/7.0)

| ThuPhi > 4

| | LoaiGame = NhapVai

| | | GioiTinh <= 0: Co (2.0)

| | | GioiTinh > 0: Khong (3.0)

| | LoaiGame = Bansung

| | | GioiTinh <= 0

| | | | ThuPhi <= 5: Co (2.0)

| | | | ThuPhi > 5: Khong (2.0)

| | | GioiTinh > 0: Co (3.0)

| | LoaiGame = TheThao: Khong (5.0/2.0)

| | LoaiGame = ChienThuat: Co (13.0/4.0)

Number of Leaves : 10

Size of the tree : 16

Time taken to build model: 0 seconds

=== Evaluation on test split ===

=== Summary ===

Correctly Classified Instances 36 60 % Incorrectly Classified Instances 24 40 % Kappa statistic 0.1628

Mean absolute error 0.4661

Root mean squared error 0.523

Trang 14

Relative absolute error 99.2617 %

Root relative squared error 109.5509 %

Total Number of Instances 60

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class

0.625 0.45 0.735 0.625 0.676 0.587 Co

0.55 0.375 0.423 0.55 0.478 0.587 Khong Weighted Avg 0.6 0.425 0.631 0.6 0.61 0.587

=== Confusion Matrix ===

a b < classified as

25 15 | a = Co

9 11 | b = Khong

d Kết quả khi J48 với các thông số như sau (khai thác trên 50% dữ liệu)

=== Run information

===

Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: game-weka.filters.unsupervised.attribute.Remove-R1

Instances: 151

Attributes: 6

GioiTinh

LoaiGame

ThuPhi

CauHinh

NhaPhatHanh

QuyetDinh

Test mode:split 50.0% train, remainder test

=== Classifier model (full training set) ===

Trang 15

J48 pruned tree

-NhaPhatHanh = VNG: Co (63.0/19.0)

NhaPhatHanh = VTC: Co (36.0/11.0)

NhaPhatHanh = FPT

| ThuPhi <= 4: Khong (22.0/7.0)

| ThuPhi > 4

| | LoaiGame = NhapVai

| | | GioiTinh <= 0: Co (2.0)

| | | GioiTinh > 0: Khong (3.0)

| | LoaiGame = Bansung

| | | GioiTinh <= 0

| | | | ThuPhi <= 5: Co (2.0)

| | | | ThuPhi > 5: Khong (2.0)

| | | GioiTinh > 0: Co (3.0)

| | LoaiGame = TheThao: Khong (5.0/2.0)

| | LoaiGame = ChienThuat: Co (13.0/4.0)

Number of Leaves : 10

Size of the tree : 16

Time taken to build model: 0.01 seconds

=== Evaluation on test split ===

=== Summary ===

Correctly Classified Instances 34 45.3333 %

Incorrectly Classified Instances 41 54.6667 %

Kappa statistic -0.1402

Mean absolute error 0.4893

Root mean squared error 0.5156

Relative absolute error 103.8292 %

Root relative squared error 107.0988 %

Total Number of Instances 75

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class

0.521 0.667 0.581 0.521 0.549 0.427 Co 0.333 0.479 0.281 0.333 0.305 0.427 Khong Weighted Avg 0.453 0.599 0.473 0.453 0.461 0.427

=== Confusion Matrix ===

Trang 16

a b < classified as

25 23 | a = Co

18 9 | b = Khong

Đánh giá kết quả :

Việc lựa chọn thuật toán để phân tích dataset rất quan trọng , mỗi dataset thích hợp với loại thuật toán khác nhau

Chẳng hạn như thuật toán cây hồi qui phân loại (CART – Classification And Regression Tree) và J48 cho kết quả tốt trên các dữ liệu kiểu số (Numerical Data), trong khi đó thuật toán ID3 cho kết quả tốt đối với dữ liệu định danh (Nominal Data)

Kết quả cho thấy việc chia dữ liệu thành các gói để phân tích cho kết quả khá xấp xỉ nhau

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

HÌNH ẢNH LIÊN QUAN

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 ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu. - Tiểu luận Khai phá dữ liệu: Sử dụng phần mềm weka khai phá bộ dữ liệu Gamers với thuật toán phân lớp
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 ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu (Trang 3)

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