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

Tiểu luận khai phá dữ liệu Xây dựng tập dữ liệu cho Weka

23 1,8K 9

Đ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

Định dạng
Số trang 23
Dung lượng 0,98 MB

Nội dung

Khai thác dữ liệu sử dụng các thuật toán toán học tinh vi để phân đoạn dữ liệu và đánh giá xác suất của các sự kiện trong tương lai.. Khai thác dữliệu còn được gọi là khám phá tri thức t

Trang 1

MỤC LỤC

Trang 2

LỜI NÓI ĐẦU

Chúng em xin chân thành cảm ơn PGS.TS Đỗ Phúc đã truyền đạt những kiến thứcquý báu từ những kinh nghiệm sống đến những vấn đề khoa học mới nhất trong bộ mônKhai phá dữ liệu

Trong những năm gần đây, việc nắm bắt được thông tin được coi là chìa khóa củakinh doanh Ai thu thập, phân tích và hiểu được thông tin và hành động được nhờ vàonhững thông tin đó là kẻ thắng cuộc trong thời đại thông tin này Chính vì vậy, việc tạo rathông tin và mức tiêu thụ thông tin ngày nay ngày càng gia tăng

Khai phá dữ liệu (Data Mining) là một lĩnh vực khoa học liên ngành mới xuất hiệngần đây nhằm đáp ứng nhu cầu này Các kết quả nghiên cứu cùng với những ứng dụngthành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là mộtlĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so vớicác công cụ phân tích dữ liệu truyền thống

Trong phạm vi tiểu luận này, em muốn chia sẽ những khái quát và những hiểu biếtbản thân về phần mềm mã nguồn mở Weka và ví dụ ứng dụng Weka để khai phá dữ liệu,phân lớp tập dữ liệu các động vật trong vườn thú thành từng loại động vật khác nhau

Trang 3

Chương 1: Giới thiệu

1.1 Giới thiệu về khai thác dữ liệu

1.1.1 Khái niệm

Dữ liệu trên thế giới và xung quanh cuộc sống của chúng ta ngày càng tăng, không

có điểm dừng Máy tính mặt ở khắp nơi nên dữ liệu dễ dàng để lưu những thông tin màtrước đây chúng ta vứt bỏ đi sau khi xem Đĩa và lưu trữ trực tuyến không tốn kém làm trìhoãn quyết định phải làm gì với tất cả các dữ liệu này, đơn giản là có được nhiều bộ nhớhơn và giữ lại tất cả Những dữ liệu được ghi lại đó là các quyết định của, sự lựa chọncủa khách hàng trong các siêu thị, thói quen tài chính của khách hàng, nơi đi và đến, …Khi khối lượng dữ liệu tăng lên, tỷ lệ người hiểu khối dữ liệu đó giảm đến đáng báođộng Nằm ẩn trong các dữ liệu này là thông tin có khả ăng hữu ích

Khai thác dữ liệu là việc thực hiện tự động tìm kiếm trong các kho dữ liệu lớn đểkhám các mô hình và xu hướng Khai thác dữ liệu sử dụng các thuật toán toán học tinh vi

để phân đoạn dữ liệu và đánh giá xác suất của các sự kiện trong tương lai Khai thác dữliệu còn được gọi là khám phá tri thức trong dữ liệu (Knowledge Discovery in Data -KDD)

Các thuộc tính quan trọng của khai thác dữ liệu là:

- Tự động khám phá các mẫu

- Dự đoán kết quả tương tự

- Tạo ra các thông tin có thể thực hiện

- Tập trung vào các tập dữ liệu và cơ sở dữ liệu lớn

1.1.2 Tự động khám phá

Khai phá dữ liệu được thực hiện bằng việc xây dựng các mô hình Một mô hình sửdụng một thuật toán để hoạt động trên một tập hợp các dữ liệu Khái niệm tự động pháthiện liên quan đến việc thực hiện các mô hình khai phá dữ liệu

Các mô hình khai phá dữ liệu có thể được sử dụng để khai phá dữ liệu mà chúngđược xây dựng, nhưng hầu hết các loại mô hình khái quát các dữ liệu mới Quá trình ápdụng một mô hình dữ liệu mới được biết đến như scoring

1.1.3 Dự đoán

Nhiều hình thức khai phá dữ liệu dự đoán Ví dụ, một mô hình có thể dự đoán thunhập dựa trên giáo dục và các yếu tố nhân khẩu học khác

Trang 4

Một số hình thức khai phá dữ liệu dự đoán tạo ra quy tắc Ví dụ, một quy tắc có thểxác định rằng một người có bằng cử nhân trong một khu vực nhất định có khả năng thunhập lớn hơn mức trung bình trong khu vực

1.1.4 Sự gom nhóm

Các hình thức khai phá dữ liệu xác định các nhóm tự nhiên trong dữ liệu Ví dụ, một

mô hình có thể xác định các phân đoạn dân số có thu nhập trong một phạm vi nhất định,

có một hồ sơ lái xe tốt, và thuê một chiếc xe mới hàng năm

1.1.5 Thông tin hữu ích

Khai phá dữ liệu có thể lấy được thông tin hữu từ khối lượng lớn dữ liệu Ví dụ, thị trấn có thể sửdụng một mô hình dự báo thu nhập dựa trên nhân khẩu học để phát triển một kế hoạch cho nhà ởthu nhập thấp Một cơ quan cho thuê xe hơi có thể sử dụng một mô hình xác định phân khúckhách hàng để thiết kế một chương trình khuyến mãi nhắm mục tiêu khách hàng giá trị cao

1.1.6 Khai phá dữ liệu và thống kê

Có rất nhiều chồng chéo giữa khai thác dữ liệu và thống kê Trong thực tế hầu hết các

kỹ thuật được sử dụng trong khai thác dữ liệu có thể được đặt trong một khuôn khổ thống

kê Tuy nhiên, kỹ thuật khai thác dữ liệu không giống như các kỹ thuật thống kê truyềnthống

Phương pháp truyền thống thống kê, nói chung, đòi hỏi rất nhiều sự tương tác củangười dùng để xác nhận sự đúng đắn của một mô hình Kết quả là, các phương phápthống kê có thể được khó khăn để tự động hóa Hơn nữa, phương pháp thống kê thườngkhông quy mô tốt để tập hợp dữ liệu rất lớn Phương pháp thống kê dựa vào thử nghiệmgiả thuyết hoặc tìm kiếm mối tương quan dựa trên nhỏ hơn, các mẫu đại diện của mộtdân số lớn hơn

Phương pháp khai thác dữ liệu phù hợp với dữ liệu lớn và có thể được tự động dễdàng hơn Trong thực tế, các thuật toán khai thác dữ liệu thường yêu cầu các tập dữ liệulớn cho việc tạo ra các mô hình chất lượng

1.1.7 Khai phá dữ liệu và OLAP

OLAP có thể được định nghĩa là phân tích nhanh chóng chia sẻ đa chiều dữ liệu.OLAP và khai phá dữ liệu là những hoạt động khác nhau nhưng bổ sung cho nhau

OLAP hỗ trợ các hoạt động như dữ liệu tổng kết, phân bổ chi phí, phân tích chuỗithời gian, và phân tích what-if Tuy nhiên, hầu hết hệ thống OLAP không có khả năngsuy luận quy nạp vượt ra ngoài sự hỗ trợ cho dự báo chuỗi thời gian Suy luận quy nạp,

Trang 5

quá trình đạt đến một kết luận chung từ các ví dụ cụ thể, là một đặc tính của khai phá dữliệu Suy luận quy nạp còn được gọi là học tính toán

Hệ thống OLAP cung cấp một cái nhìn đa chiều của dữ liệu, bao gồm hỗ trợ đầy đủcho hệ thống phân cấp Xem các dữ liệu này là một cách tự nhiên để phân tích các doanhnghiệp và tổ chức Khai phá dữ liệu, mặt khác thường là không có một khái niệm về kíchthước và phân cấp

Khai phá dữ liệu và OLAP có thể được tích hợp trong một số cách Ví dụ, khai phá

dữ liệu có thể được sử dụng để lựa chọn kích thước cho một khối lập phương, tạo ra giátrị mới cho một kích thước, hoặc tạo ra các biện pháp mới cho một khối lập phương.OLAP có thể được sử dụng để phân tích các kết quả khai phá dữ liệu ở các cấp độ khácnhau của granularity

Khai phá dữ liệu có thể giúp bạn xây dựng các hình khối thú vị và hữu ích hơn Ví

dụ, kết quả của khai phá dữ liệu tiên đoán có thể được thêm vào như là các biện pháp tùychỉnh để một khối lập phương Những biện pháp này có thể cung cấp các thông tin như

"có khả năng mặc định" hoặc "có khả năng mua" cho mỗi khách hàng Quá trình OLAPsau đó có thể tổng hợp và tóm tắt các khả năng

1.1.8 Khai phá dữ liệu và kho dữ liệu

Dữ liệu có thể được khai phá cho dù nó được lưu trữ trong các tập tin phẳng, bảngtính, bảng cơ sở dữ liệu, hoặc một số định dạng lưu trữ khác Các tiêu chí quan trọng đốivới dữ liệu không phải là định dạng lưu trữ, mà là là khả năng giải quyết được vấn đề Làm sạch và chuẩn bị dữ liệu phù hợp là rất quan trọng để khai phá dữ liệu, và mộtkho dữ liệu có thể tạo điều kiện thuận lợi cho các hoạt động này Tuy nhiên, một kho dữliệu sẽ không được sử dụng nếu nó không chứa các dữ liệu bạn cần để giải quyết vấn đề Với một ngoại lệ, Oracle khai phá dữ liệu đòi hỏi dữ liệu được trình bày theo dạngsingle-record Điều này có nghĩa rằng các dữ liệu cho mỗi bản ghi phải được quy địnhtrong một hàng duy nhất Trường hợp ngoại lệ là các dữ liệu được chấp nhận bởi thuậttoán Apriori để tính toán luật kết hợp Các dữ liệu cho luật kết hợp có thể được trình bàynhư là các giao dịch, các dữ liệu cho mỗi trường hợp quy định trên nhiều hàng

1.2 Giới thiệu về phần mềm mã nguồn mở Weka

1.2.1 Giới thiệu Weka

Khai thác dữ liệu không phải là chỉ đơn thuần là lĩnh vực của các công ty lớn và phầnmềm đắt tiền Trong thực tế, có một phần của phần mềm mà hầu như tất cả những điềutương tự như những tính năng đắt tiền của phần mềm - phần mềm được gọi là WEKA

Trang 6

WEKA là sản phẩm của Đại học Waikato (New Zealand) và lần đầu tiên được thực hiệnvào năm 1997 Nó sử dụng bản quyền GNU General Public License (GPL) Phần mềmnày được viết bằng ngôn ngữ Java và có một giao diện để tương tác với các tập tin dữliệu và xuất ra các kết quả trực quan (như là bảng và các biểu đồ) Nó cũng có một APIthông dụng, vì vậy bạn có thể nhúng WEKA, giống như bất kỳ thư viện khác, trong cácứng dụng của riêng bạn để những thứ như nhiệm vụ khai thác dữ liệu phía máy chủ tựđộng.

Weka là một tập hợp các thuật toán máy học tập cho các nhiệm vụ khai thác dữ liệu.Các thuật toán có thể được áp dụng trực tiếp vào dữ liệu hoặc gọi từ mã Java của riêngbạn Weka chứa các công cụ cho:

- Tiền xử lý dữ liệu (Pre-processing on data)

- Phân lớp (Classification)

- Hồi quy (Regression)

- Gom nhóm (Clustering)

- Luật kết hợp (Association Rules)

- Trực quan hóa (Visualization)

Nó cũng rất phù hợp cho việc phát triển các chương trình máy học máy mới

Website của phần mềm Weka: http://www.cs.waikato.ac.nz/~ml/weka/index.html

1.2.2 Giao diện Weka Explorer

Cách dễ nhất để sử dụng Weka là thông qua một giao diện người dùng đồ họa được

gọi là Explorer Điều này cho phép truy cập đến tất cả các chức năng bằng cách sử dụng

menu và form

1.2.2.1 Xây dựng dữ liệu cho Weka

Dữ liệu có thể được nhập vào từ một tập tin có khuôn dạng: ARFF, CVS, hoặc từmột cơ sở dữ liệu thông qua JDBC Phương pháp ưa tiên của Weka để tải dữ liệu theođịnh dạng tập tin ARFF (File Format Attribute-Relation File Format), tập tin này có thểxác định các loại dữ liệu được nạp, sau đó cung cấp các dữ liệu chính nó Trong tập tin,bạn xác định mỗi cột và mỗi cột có chứa những gì Trong trường hợp của mô hình hồiquy, bạn bị giới hạn một cột NUMERIC hoặc một cột DATE Cuối cùng, bạn cung cấpmỗi dòng dữ liệu trong một định dạng phân cách bằng dấu phẩy

Ví dụ: định dạng của tập dữ liệu

Trang 7

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

Một số cơng cụ tiền xử lý dữ liệu của Weka được gọi là filters:

- Rời rạc hĩa (Discretization): Một số kỹ thuật như khai thác luật kết hợp cĩ thểđược thực hiện trên dữ liệu phân lớp Điều này địi hỏi phải thực hiện rời rạctrên các thuộc tính số hoặc liên tục

- Chuẩn hĩa (Normalization):

- Lấy mẫu (Re-sampling)

- Lựa chọn thuộc tính (Attribute selection)

- Chuyển đổi (Transforming) và kết hợp (Combining) các thuộc tính

- …

1.2.2.3 Các bộ phân lớp

Các bộ phân lớp (Classifiers) của Weka tương ứng với các mơ hình dự đốn các đạilượng kiểu định danh (phân lớp) hoặc các đạ lượng kiểu số (hồi quy/dự đốn)

Một số kỹ thuật phân lớp được hỗ trợ bởi Weka:

- Phân lớp Naive Bayes và mạng Bayesian (Nạve Bayesclassifier and Bayesiannetworks)

- Cây quyết định (Decision trees)

- Phân lớp dựa trên cá thể cần được phân lớp (Instance-based Classifiers)

- Máy phân lớp sử dụng vectơ hỗ trợ (Support Vector Machines)

- Mạng Nơ-ron (Neural networks)

- …

Lựa chọn các tùy chọn cho việc kiểm tra:

Trang 8

- Use trainning set: Bộ phân lớp học được sẽ được đánh giá trên tập học

- Supplied test set: Sử dụng một tập dữ liệu khác (với tập học) để cho việc đánhgiá

- Cross validation: Tập dữ liệu sẽ được chia đều thành k tập (folds) có kích thướcxấp xỉ nhau và bộ phân lớp học được sẽ được đánh giá bởi phương pháp cross-validation

- Percentage split: Chỉ định tỷ lệ phân chia tập dữ liệu đối với việc đánh giá

- Output model: Hiển thị bộ phân lớp học được

- Output per-class stats: hiển thị các thông tin thống kê về percision/recall đối vớimỗi lớp

- Output confusion matrix: hiển thị thông tin về ma trận lỗi phân lớp (confusionmatrix) đối với phân lớp học được

- Store predictions for visualization: các dự đoán của bộ phân lớp được lưu lạitrong bộ nhớ, để có thể được hiển thị sau đó

- Output predictions: hiển thị chi tiết các dự đoán đối với tập kiểm tra

- Cost-sensitive evaluation: các lỗi (của bộ phân lớp) được xác định dựa trên matrận chi phí (cost matrix) chỉ định

- Random seed for Xval / % Split: chỉ dịnh giá trị random seed được sử dụng choquá trình lựa chọn ngẫu nhiên các ví dụ cho tập kiểm tra

Result list: cung câp một số tính năng hữu ích:

- Save model: lưu lại mô hình tương ứng với bộ phân lớp học được vào trong mộttập tin nhị phân

- Load model: đọc lại một mô hình đã được học trước đó từ một tập nhị phân

- Re-evaluate model on current test set: đánh giá một mô hình (bộ phân lớp) họcđược trước đó đối với tập kiểm ta (test set) hiện tại

- Visualize classifier errors: hiển thị cửa sổ biểu đồ thể hiện các kết quả của việcphân lớp

Lựa chọn chế độ phân cụm (cluster mode):

- Use tranning set: các cụm học được sẽ được kiểm tra đối với tập học

- Supplied test set: sử dụng một tập dữ liệu khác để kiểm tra các cụm học được

Trang 9

- Percentage split: chỉ định tỷ lệ phân chia tập dữ liệu ban ddầu cho việc xây dựngtập kiểm tra

- Classes to clusters evaluation: so sánh độ chính xác của các cụm học được đốivới các lớp được chỉ định

Store clusters for visualization: Lưu lại các bộ phân lớp trong bộ nhớ, để có thể hiểnthị sau đó

Ignore attributes: Lựa chọn các thuộc tính sẽ không tham gia vào quá trình học các cụm

1.2.2.5 Luật kết hợp (Association Rules)

Để lựa chọn một mô hình (giải thuật) phát hiện luật kết hợp

Associator output: hiển thị các thông tin quan trọng:

- Run information: các tùy chọn đối với mô hình phát hiện luật kết hợp, tên củatập dữ liệu, số lượng các ví dụ, các thuộc tính

- Associator model (full trainning set): biểu diễn (dạng text) của tập các luật kếthợp được phát hiện

o Độ hỗ trợ tối thiểu (mininum support)

o Độ tin cậy tối thiểu (minimum confidence)

o Kích thước của các tập mục thường xuyên (large/frequent itemsets)

o Liệt kê các luật kết hợp tìm được

1.2.2.6 Lựa chọn thuộc tính (Attribute selection)

Để xác định những thuộc tính nào là quạn trọng nhất

Trong Weka, một phương pháp lựa chọn thuộc tính bao gồm 2 phần:

- Attribute Evaluator: để xác định một phương pháp đsanh giá mức độ phù hợpcủa các thuộc tính

Ví dụ: correlation-based, wrapper, information gain, chisquared,…

- Search Method: để xác định một phương pháp (thứ tự) xét các thuộc tính

Ví dụ: best-first, random, exhaustive, ranking, …

Trang 10

- Thanh trượt Jitter hỗ trợ việc hiển thị rõ ràng hơn, khi có quá nhiều ví dụ (điểm)tập xung quanh một vị trí trên biểu đồ

- Tính năng phóng to/thu nhỏ ( bằng cách tăng/giảm giá trị của Plotsize vàPointsize)

1.2.3 Cách sử dụng Weka

Weka có 3 giao điện đồ họa để sử dụng: Explorer, Experimenter, KnowledgeFlow

Cách dễ nhất để sử dụng Weka là thông qua một giao diện người dùng đồ họađược gọi là Explorer Điều này cho phép truy cập đến tất cả các chức năng bằng cách sửdụng menu và form Ví dụ, bạn có thể nhanh chóng đọc trong một tập dữ liệu từ một tậptin ARFF (hoặc spreadsheet) và xây dựng một cây quyết định từ nó Nhưng học câyquyết định chỉ là khởi đầu: nhiều thuật toán khác để khám phá Giao diện Explorer sẽgiúp bạn làm việc đó.Nó hướng dẫn bạn bằng cách đưa ra sự lựa chọn menu, bằng cáchbuộc bạn phải làm việc trong một trật tự thích hợp các lựa chọn cho đến khi chúng được

áp dụng và bằng cách điền vào các form Công cụ tool-tips hiển thị cửa sổ mô tả khi contrỏ chuột đi qua các mục trên màn hình để giải thích những gì họ làm Giá trị mặc địnhhợp lý đảm bảo rằng bạncó thể nhận được kết quả mà chỉ cần công sức bỏ ra nhỏ nhất,nhưng bạn sẽ phải suy nghĩ về những gì bạn đang làm để hiểu kết quả có ý nghĩa gì

Giao diện Knowledge Flow cho phép bạn thiết kế cấu hình cho trực tiếp xử lý dữliệu Một bất lợi cơ bản của giao diện Explorer là nó nắm giữ tất cả mọi thứ trong bộ nhớchính khi bạn mở một tập dữ liệu, nó ngay lập tức tải tất cả lên bộ nhớ Điều này có nghĩarằng Explorer chỉ có thể được áp dụng cho các vấn đề kích thước nhỏ đến trung bình.Tuy nhiên, Weka chứa một số thuật toán gia tăng có thể được sử dụng để xử lý các bộ dữliệu rất lớn Giao diện Knowledge Flow cho phép bạn kéo hộp thoại về các thuật toán học

và nguồn dữ liệu quanh màn hình và kết chúng lại với nhau thành cấu hình bạn mong

Trang 11

muốn Nó cho phép bạn chỉ định một dòng dữ liệu bằng cách kết nối các thành phần đạidiện cho nguồn dữ liệu, công cụ tiền xử lý, các thuật toán học, phương pháp đánh giá, vàmô-đun trực quan Nếu các bộ lọc và các thuật toán học có khả năng học tập gia tăng, dữliệu sẽ được nạp và xử lý từng bước.

Giao diện thứ ba của Weka là Experimenter, giao diện này được thiết kế để giúpbạn trả lời cơ bản câu hỏi thực tế khi áp dụng các kỹ thuật phân lớp và hồi quy: phươngpháp và các giá trị tham số nào làm việc tốt nhất cho các vấn đề nhất định? Thườngkhông có cách nào để trả lời câu hỏi này một độ ưu tiên, và một lý do chúng tôi phát triểnphần mềm là để cung cấp một môi trường cho phép Weka người sử dụng để so sánh mộtloạt các kỹ thuật học Điều này có thể được thực hiện tương tác bằng cách sử dụng giaodiện Explorer Tuy nhiên, giao diện Experimenter cho phép bạn tự động hóa quá trìnhbằng cách làm cho nó dễ dàng để chạy phân lớp và các bộ lọc với các cài đặt tham sốkhác nhau trên một bộ dữ liệu, thu thập số liệu thống kê hiệu suất, và để thực hiện cáckiểm tra quan trọng Người dùng cao cấp có thể sử dụng Experimenter để phân phối tảicác phép tính toán trên nhiều máy tính bằng cách sử dụng Java để gọi phương thức từ xa(Remote Method Invocation - RMI) Bằng cách này, bạn có thể thiết lập Experimenterthống kê quy mô lớn và để chúng chạy

Đằng sau những giao diện tương tác nằm các chức năng cơ bản của Weka, Weka

có thể được truy cập ở dạng thô bằng cách nhập vào các lệnh văn bản, cho phép truy cậpcho tất cả mọi ngườicác tính năng của hệ thống Khi bạn mở ứng dụng Weka, bạn phảilựa chọn trong số bốn giao diện người dùng khác nhau: Explorer, Knowledge Flow,

Experimenter, và giao diện dòng lệnh (Command Line Interface - CLI) Hầu hết mọi

người ban đầu chọn Explorer để đơn giản

Ngày đăng: 10/04/2015, 00:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w