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

ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết

78 1,4K 13

Đ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 78
Dung lượng 1,84 MB

Nội dung

Đối với dữ liệu nhiễu: Nhiễu dữ liệu là một lỗi ngẫu nhiên hay do biến động của các biến trong quá trình thực hiện, hoặc sự ghi chép nhầm lẫn không được kiểm soát… Để khắc phục điều này

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài khoa học “Ứng dụng phương pháp hồi quy Bayes

vào việc dự báo thời tiết” này là công trình nghiên cứu của bản thân tôi Các số

liệu và kết quả nghiên cứu trong luận văn này là trung thực, được trích dẫn từ các tài liệu tham khảo như đã trình bày trong luận văn và đã được giáo viên hướng dẫn khoa học thông qua nội dung và đồng ý cho ra bảo vệ trước hội đồng khoa học Người viết luận văn

Nguyễn Thị Thu Hòa

Trang 2

MỤC LỤC Trang phụ bìa

Lời cam đoan

Mục lục

Danh mục các từ viết tắt

Danh mục các hình vẽ

Danh mục các bảng

LỜI MỞ ĐẦU 1

CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3

1.1 Khái niệm về khai phá dữ liệu (Data mining) 3

1.2 Kiến trúc của một hệ thống khai phá dữ liệu 3

1.3 Các giai đoạn của quá trình khai phá dữ liệu 4

1.4 Chức năng khai phá dữ liệu 7

1.4.1 Phân lớp (classification) 7

1.4.2 Hồi quy (regression) 8

1.4.3 Phân cụm (clustering) 8

1.4.4 Tổng hợp (summarization) 8

1.4.5 Phân tích sự phát triển và độ lệch (evolution and deviation analysis) 8

1.5 Một số thuật toán khai phá dữ liệu 9

1.5.1 Phân lớp bằng cây quyết định 9

1.5.2 Phương pháp gom nhóm K – Means 26

1.6 Một số ứng dụng của khai phá dữ liệu 27

1.7 Khai phá dữ liệu và một số phần mềm ứng dụng 28

1.7.1 Phần mềm Weka 28

1.7.2 Chương trình dự báo thời tiết eWeather 29

CHƯƠNG II GIỚI THIỆU CHUNG VỀ DỰ BÁO THỜI TIẾT VÀ CƠ SỞ LÝ THUYẾT ĐỂ DỰ BÁO THỜI TIẾT 33

2.1 Khái niệm về thời tiết và các phương pháp dự báo thời tiết 33

2.1.1 Thời tiết và khí hậu 33

2.1.2 Các phương pháp dự báo thời tiết 33

2.2 Bản đồ thời tiết 38

2.2.1 Bản đồ SyNốp 39

Trang 3

2.2.2 Bản đồ Faximin 40

2.3 Các nhân tố ảnh hưởng đến thời tiết 41

2.3.1 Nhiệt độ không khí trung bình 41

2.3.2 Độ ẩm không khí trung bình 41

2.3.3 Mây 42

2.3.4 Mưa 42

2.4 Cơ sở lý thuyết 43

2.4.1 Một số khái niệm cơ bản 43

2.4.2 Phát biểu định lý Bayes 46

2.4.3 Mạng Bayes (Bayesian Network) 46

2.4.4 Cách xây dựng mạng Bayes 48

2.4.5 Phân lớp Naive Bayes 49

Chương III ỨNG DỤNG BAYESIAN ĐỂ XÂY DỰNG CHƯƠNG TRÌNH DỰ BÁO THỜI TIẾT 52

3.1 Đặt vấn đề 52

3.2 Phân tích bài toán 52

3.3 Hệ thống chương trình 53

3.3.1 Dữ liệu thu thập 53

3.3.2 Giao diện chương trình 53

3.4 Một số kết quả dự báo thời tiết 56

3.5 So sánh kết quả dự đoán và kết quả thực tế 588

KẾT LUẬN 59 TÀI LIỆU THAM KHẢO

PHỤ LỤC

Trang 4

DANH MỤC CÁC TỪ VIẾT TẮT Ac: Altocumulus

CSDL: Cơ sở dữ liệu (Databases)

DAG: Directed Acyclic Graph

DHTNĐ: Dải hội tụ nhiệt đới

GIF: Graphics Interchange Format

HTM: Hierarchical Temporal Memory

HTML: HyperText Markup Language

ID3: Iterative Dichotomiser version 3

IP: Internet Protocol

JPEG: Joint Photographic Experts Group

KDD: Knowledge Discovery in Databases

KPDL: Khai phá dữ liệu

KTTV: Khí tượng thủy văn

MDL: Minimum Description Length

ML: Maximum Likelihood

NB: Naive Bayes

NBC: Naive Bayes Classifier

Ns: Nimbostratus

PDF: Portable Document Format

POP3: Post Office Protocol version 3

RAMS – VNU: The Regional Atmospheric Modeling System SLIQ: Superived Learning In Quest

SMTP: Simple Mail Transfer Protocol

SPRINT: Scalable PaRallelization INduction of decision Tree

Trang 5

SQL: Structure Query Language

Trang 6

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Khai phá tri thức trong cơ sở dữ liệu điển hình 3

Hình 1.2 Mô hình mô tả quá trình khai phá dữ liệu 5

Hình 2.1 Mây Vũ tích (Cumulonimbus – Cb) 37

Hình 2.2 Mây Trung tích (Altocumulus - Ac) 37

Hình 2.3 Mây Vũ tầng (Nimbostratus – Ns) 37

Hình 2.4 Mây Ti tích (Cirrocumulus - Cc) 37

Hình 2.5 Mây tầng tích (Stratocumulus – Sc) 38

Hình 2.6 Mây Ti (Ci) - (Cirrus) 38

Hình 2.7 Mây trung tầng (Altostratus – As) 38

Hình 2.8 Bản đồ SyNốp 39

Hình 2.9 Mô hình xoáy thuận 40

Hình 2.10 Mô hình xoáy nghịch 40

Hình 2.11 Bản đồ thời tiết xoáy thuận 40

Hình 3.1 Giao diện giới thiệu chương trình 54

Hình 3.2 Giao diện nhập dữ liệu dự đoán 55

Hình 3.3 Giao diện kết quả chương trình sau khi dự đoán 55

Hình 3.4 Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 12 56

Hình 3.5 Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 10 56

Hình 3.6 Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 2 57

Hình 3.7 Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 5 57

Hình 3.8 Biểu đồ so sánh kết quả dự đoán và kết quả thực tế……… 58

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1.1 Bảng dữ liệu về thời tiết 12 Bảng 2.1 Bảng xác suất đồng thời 44

Trang 8

LỜI MỞ ĐẦU

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần

có những kĩ thuật và công cụ mới để chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kĩ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền công nghệ thông tin trên thế giới hiện nay

Quá trình này khai phá dữ liệu giúp người sử dụng thu được những thông tin hữu ích trong nhiều lĩnh vực Việc khai phá dữ liệu tỏ ra đặc biệt hiệu quả vì từ những số liệu cụ thể, nó sẽ cung cấp thông tin bổ ích cho con người dựa trên những

cơ sở khoa học đáng tin cậy Với những ưu điểm đó, khai phá dữ liệu đang được áp

dụng một cách rộng rãi trong nhiều lĩnh vực đời sống khác nhau Hiện nay, khoa học công nghệ phát triển như vũ bão, việc khai phá dữ liệu đang là vấn đề được nhiều nhà quản lí và đầu tư quan tâm bởi lợi ích mà nó mang lại Nó có khả năng cung cấp các thông tin tiềm ẩn trong các cơ sở dữ liệu lớn mà con người không thể làm được

Luận văn với đề tài “Ứng dụng phương pháp hồi quy Bayes vào việc dự

báo thời tiết” khảo sát lĩnh vực khai phá dữ liệu dùng mạng Bayes Luận văn tập

trung vào phương pháp hồi quy Bayes để đi sâu vào việc khai phá dữ liệu từ các thông tin thu thập được để dự báo thời tiết cho những ngày sắp tới

Nội dung của luận văn được trình bày trong 3 chương với các nội dung cơ bản sau:

Chương I Tổng quan về khai phá dữ liệu: Giới thiệu tổng quan về quá trình khai

phá dữ liệu, kiến trúc của một hệ thống khai phá dữ liệu, nhiệm vụ chính, các phương pháp khai phá dữ liệu và một số giải thuật khai phá dữ liệu

Chương II Giới thiệu chung về dự báo thời tiết và cơ sở lý thuyết để dự báo thời

tiết: Giới thiệu chung về dự báo thời tiết, các yếu tố ảnh hưởng đến thời tiết và các phương pháp dự báo thời tiết; đồng thời giới thiệu về định lý Bayes, tổng quan về mạng Bayes, cách xây dựng mạng Bayes và thuật toán phân lớp Naive Bayes

Chương III Ứng dụng mạng Bayes để xây dựng chương trình dự báo thời tiết

Trang 9

Mặc dù đã hết sức nỗ lực, song do thời gian và kinh nghiệm nghiên cứu khoa học còn hạn chế nên không thể tránh khỏi những thiếu sót Em rất mong nhận được

sự góp ý của các thầy cô và bạn bè đồng nghiệp để hiểu biết của mình ngày một hoàn thiện hơn

Qua luận văn này em xin chân thành cảm ơn: TS Hoàng Thị Lan Giao – Khoa Công nghệ thông tin, trường Đại học Khoa học Huế đã tận tình giúp đỡ, động viên, hướng dẫn em nghiên cứu và hoàn thành luận văn này Em xin chân thành cảm ơn các thầy cô giáo và các bạn trong khoa công nghệ thông tin đã có những góp ý hữu ích trong quá trình thực hiện bản luận văn Bên cạnh đó, em cũng vô cùng cảm ơn sự giúp đỡ nhiệt tình và động viên khích lệ của người thân trong gia đình em, bạn bè và đồng nghiệp trong suốt quá trình thực hiện luận văn

Biên Hòa, tháng 9 năm 2013 Người viết luận văn

Nguyễn Thị Thu Hòa

Trang 10

CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Khái niệm về khai phá dữ liệu (Data mining)

Khai phá dữ liệu[13] là quá trình khai thác (rút trích) những thông tin tiềm ẩn

có tính dự đoán, những thông tin có nhiều ý nghĩa, hữu ích từ những cơ sở dữ liệu lớn, nó được coi như là một bước trong quá trình khám phá tri thức (Knowledge Discovery in Databases – KDD) Khai phá dữ liệu là giai đoạn quan trọng nhất trong tiến trình khám phá tri thức từ cơ sở dữ liệu, các tri thức này có rất nhiều ý

nghĩa, là cơ sở hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh

Khai phá dữ liệu là giai đoạn thiết yếu, đây là bước quan trọng và tốn nhiều thời gian nhất của toàn bộ quá trình khám phá tri thức, là bước áp dụng những kỹ thuật khai phá để khai thác, trích xuất thông tin có ích, những mẫu điển hình, những mối liên hệ đặc biệt có nhiều giá trị, mang nhiều ý nghĩa từ dữ liệu

1.2 Kiến trúc của một hệ thống khai phá dữ liệu

Khai phá dữ liệu là quá trình rút trích thông tin bổ ích từ những kho dữ liệu lớn, là quá trình chính trong khai phá tri thức từ cơ sở dữ liệu

Kiến trúc của một hệ thống khai phá dữ liệu[13] có các thành phần như sau:

Nguồn[13]

Hình 1.1 Khám phá tri thức trong cơ sở dữ liệu điển hình

Trang 11

- Cơ sở dữ liệu, kho dữ liệu hoặc lưu trữ thông tin khác: Đây là một hay các tập cơ sở dữ liệu, các kho dữ liệu, các trang tính hay các dạng khác của thông tin được lưu trữ Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể được thực hiện

- Máy chủ cơ sở dữ liệu (Database or Warehouse Server): Máy chủ có trách nhiệm lấy những dữ liệu thích hợp dựa trên những yêu cầu khám phá của người dùng

- Cơ sở tri thức (Knowledge-base): Đây là miền tri thức dùng để tìm kiếm hay đánh giá độ quan trọng của các mẫu kết quả thu được Tri thức này có thể bao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính

ở các mức trừu tượng khác nhau

- Máy khai phá dữ liệu (Data mining engine): Là một hệ thống khai phá dữ liệu cần phải có một tập các modul chức năng để thực hiện công việc, chẳng hạn như kết hợp, phân lớp, phân cụm

- Modul đánh giá mẫu (Pattern evaluation): Bộ phận tương tác với các modul khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng được quan tâm Nó

có thể dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được Cũng có thể modul đánh giá mẫu được tích hợp vào modul khai phá dữ liệu, tùy theo cách cài đặt của phương pháp khai phá dữ liệu được dùng

- Giao diện đồ họa cho người dùng (Graphical user interface): Bộ phận này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thông qua giao diện này người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra bộ phận này còn cho phép người dùng xem các lược đồ cơ sở dữ liệu, lược đồ kho dữ liệu, các đánh giá mẫu

và hiển thị các mẫu trong các khuôn dạng khác nhau

1.3 Các giai đoạn của quá trình khai phá dữ liệu

Quá trình khai phá dữ liệu[13] được trải qua các bước sau:

B 1 : Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (problem understanding and data understanding) Là tìm hiểu lĩnh vực ứng dụng từ đó hình

thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định

Trang 12

cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu

B 2 : Chuẩn bị dữ liệu (data preparation) bao gồm các quá trình: làm sạch dữ liệu

(data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu (data transformation), bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn dữ liệu khác nhau, không đồng nhất,… có thể gây ra các nhầm lẫn Sau bước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hóa

B 3 : Khai phá dữ liệu, rút ra các tri thức Là khai phá dữ liệu, hay nói cách khác là

trích ra các mẫu hoặc/ và các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá

dữ liệu, dùng phương pháp khai phá nào? Thông thường các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo – bao gồm cả việc phát hiện các suy diễn dựa trên cơ sở dữ liệu hiện có Tùy theo bài toán xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp

B 4 : Triển khai (deployment) Là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ

các mô tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được trung bình trên tất cả các lần thực hiện Các kết quả của quá trình phát hiện tri thức có thể được đưa và ứng dụng vào các lĩnh vực khác nhau của đời sống xã hội Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hóa quá trình này

Nguồn[13]

Hình 1.2 Mô hình mô tả quá trình khai phá dữ liệu

Trang 13

Trong đó:

-Làm sạch dữ liệu:

Đối với giá trị thiếu, ta có thể thực hiện theo các phương pháp sau:

+ Bỏ qua các bộ: phương pháp này không phải lúc nào cũng hiệu quả trừ khi các bộ

có chứa một số thuộc tính không thực sự quan trọng

+ Điền vào các giá trị thiếu bằng tay: phương pháp này thường tốn thời gian và có thể không khả thi cho một tập dữ liệu nguồn lớn với nhiều giá trị bị thiếu

+ Sử dụng các giá trị quy ước để điền vào cho giá trị thiếu: thay thế các giá trị thuộc tính thiếu bởi cùng một hằng số quy ước Tuy vậy điều này cũng có thể khiến cho chương trình khai phá dữ liệu hiểu nhầm trong một số trường hợp và đưa ra các kết luận không hợp lý

+ Sử dụng các thuộc tính có nghĩa là để điền vào cho các giá trị thiếu

+ Sử dụng các giá trị của các bộ cùng thể loại để thay thế cho giá trị thiếu

+ Sử dụng giá trị có tỉ lệ xuất hiện cao để điền vào cho các giá trị thiếu Điều này có thể xác định bằng phương pháp hồi quy, các công cụ suy luận dựa trên lý thuyết Bayes hay cây quyết định

Đối với dữ liệu nhiễu:

Nhiễu dữ liệu là một lỗi ngẫu nhiên hay do biến động của các biến trong quá trình thực hiện, hoặc sự ghi chép nhầm lẫn không được kiểm soát… Để khắc phục điều này ta có thể làm mịn thuộc tính để loại bỏ dữ liệu nhiễu bằng các kỹ thuật làm mịn như binning, hồi quy hay nhóm cụm …

-Tích hợp dữ liệu:

Trong nhiều bài toán phân tích, chúng ta phải đồng ý rằng nguồn dữ liệu dùng để phân tích không thống nhất Để có thể phân tích được, các dữ liệu này cần phải được tích hợp, kết hợp thành một kho dữ liệu thống nhất Về dạng thức, các nguồn dữ liệu có thể được lưu trữ rất đa dạng từ: các cơ sở dữ liệu phổ dụng, các tập tin flat – file, các dữ liệu khối… Việc tích hợp luôn cần các thông tin diễn tả tính chất của mỗi thuộc tính (siêu dữ liệu) như: tên, ý nghĩa, kiểu dữ liệu, miền xác định, các quy tắc xử lý giá trị rỗng, bằng không…Các siêu dữ liệu sẽ được sử dụng

để giúp chuyển đổi các dữ liệu Do vậy bước này cũng liên quan đến quá trình làm sạch dữ liệu

-Biến đổi dữ liệu:

Trang 14

Trong phần này các dữ liệu sẽ được biến đổi sang các dạng phù hợp cho việc khai phá dữ liệu Các phương pháp thường thấy như:

+ Làm mịn: phương pháp này loại bỏ các trường hợp nhiễu khỏi dữ liệu ví dụ như các phương pháp binning, hồi quy, nhóm cụm

+ Tổng hợp: trong đó tổng hợp hoặc tập hợp các hành động được áp dụng trên dữ liệu Bước này thường được sử dụng để xây dựng một khối dữ liệu cho việc phân tích

+ Khái quát hóa dữ liệu, trong đó các dữ liệu mức thấp hoặc thô được thay thế bằng các khái niệm ở mức cao hơn thông qua kiến trúc khái niệm

+ Chuẩn hóa, trong đó các dữ liệu của thuộc tính được quy về các khoảng giá trị nhỏ

+ Xác định thêm thuộc tính, trong đó các thuộc tính mới sẽ được thêm vào nguồn

dữ liệu để giúp cho quá trình khai phá

1.4 Chức năng khai phá dữ liệu

Các kỹ thuật khai phá dữ liệu thực hiện 2 chức năng chính:

- Chức năng mô tả: mô tả về các tính chất hoặc các đặc tính chung của dữ liệu

trong cơ sở dữ liệu, các kỹ thuật này gồm có: phân cụm (Clustering), tổng hợp (Summarization), trực quan hóa (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analysis), phân tích luật kết hợp (Association rules),…

- Chức năng dự đoán: đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu

hiện thời, các kỹ thuật này gồm có: phân lớp (Classification), hồi quy (Regression), cây quyết định (Decision tree),

1.4.1 Phân lớp (classification)

Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết trước đó Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp Như thế quá trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới Các kiến thức được phát

hiện biểu diễn dưới dạng các luật theo cách sau: “Nếu các thuộc tính dự báo của một mục thỏa mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận.”

Trang 15

1.4.2 Hồi quy (regression)

Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là

ở chỗ thuộc tính để dự báo là liên tục chứ không phải là rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính Tuy nhiên, phưong pháp mô hình hóa cũng được sử dụng, ví dụ: cây quyết định

1.4.3 Phân cụm (clustering)

Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau Có nghĩa là dữ liệu có thể vừa thuộc nhóm này vừa thuộc nhóm khác Các ứng dụng khai phá dữ liệu có nhiệm

vụ phân nhóm như phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo tia hồng ngoại, … liên quan chặt chẽ đến việc phân nhóm là nhiệm vụ đánh giá dữ liệu, hàm mật độ xác suất đa biến/ các trường hợp trong CSDL

1.4.4 Tổng hợp (summarization)

Là công việc liên quan đến các phương pháp tìm kiếm một mô tả tập con dữ liệu Kỹ thuật tổng hợp thường áp dụng trong việc phân tích dữ liệu có tính thăm dò

và báo cáo tự động Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp

Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu

hết các mục của một lớp Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kết luận” Lưu ý rằng luật dạng này có các khác biệt so với luật phân lớp

Luật phát hiện đặc trưng cho lớp chỉ sản sinh ra khi các mục đã thuộc về lớp đó

1.4.5 Phân tích sự phát triển và độ lệch (evolution and deviation analysis)

Nhiệm vụ này tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình độ lệch hay dùng là lệch theo thời gian hay lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tập con dữ liệu, ở đây tính cả trường hợp tập con dữ liệu này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng có khác đáng kể so

Trang 16

với toàn bộ đối tượng không? Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện

Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn phương pháp khai phá dữ liệu khác nhau Ví dụ như phương pháp cây quyết định tạo ra được một mô tả phân biệt được các mẫu giữa các lớp nhưng không có tính chất và đặc điểm của lớp

1.5 Một số thuật toán khai phá dữ liệu

1.5.1 Phân lớp bằng cây quyết định

Phân lớp là một lĩnh vực rất quan trọng trong khai phá dữ liệu Có nhiều giải thuật để xây dựng cây quyết định như: ID3, C4.5, SLIQ, SPRINT,… Tại mỗi nút việc phân chia có thể dựa trên Entropy (ID3, C4.5) hay là dựa trên số đo Gini (SLIQ, SPRINT) Các giải thuật SLIQ, SPRINT sử dụng các tập tin trên đĩa cứng nên có thể mở rộng cho các tập số liệu lớn Các bước tiến hành phân lớp bao gồm: xây dựng cây quyết định, tỉa cây và rút các luật Việc phân lớp dựa trên cây quyết định rất thích hợp cho việc khai phá dữ liệu vì cây quyết định có thể được xây dựng khá nhanh Độ phức tạp của giải thuật chủ yếu phụ thuộc vào giai đoạn tạo cây và bằng O(m*n*logn) với n là số đối tượng (bản ghi) của dữ liệu và m là số các thuộc tính Một ưu điểm khác là cấu trúc của cây quyết định đơn giản và dễ hiểu Ngoài ra phân lớp dựa trên cây quyết định còn cho kết quả tương đương và nhiều khi tốt hơn các phương pháp phân lớp khác, từ cây quyết định có thể dễ dàng rút ra các luật

1.5.1.1 Xây dựng cây quyết định

a Chọn thuộc tính để phân chia

Nếu thuộc tính chỉ có thể nhận một trong hai giá trị là đúng hoặc sai thì chúng ta gọi là thuộc tính Boolean Trường hợp thuộc tính có thể nhận giá trị từ một tập các giá trị đã được phân loại cho trước, chúng ta gọi là thuộc tính category (phân loại) Thuộc tính Boolean là một trường hợp đặc biệt của thuộc tính category Nếu thuộc tính có giá trị là một số thực thì chúng ta gọi là thuộc tính số

Ví dụ: date {thứ hai, …, chủ nhật} là thuộc tính category

lượng mưa [0, ) là thuộc tính số Tại mỗi nút, chúng ta tìm thuộc tính mà cho chúng ta nhiều thông tin nhất (thuộc tính phân chia) Đó là thuộc tính mà khi phân nhánh sẽ tạo ra những tập số

Trang 17

liệu con đồng nhất hơn, giúp cho chúng ta hạn chế các bước kiểm tra và phân nhánh tiếp theo Điều này cũng đảm bảo cho việc tìm ra một cây quyết định đơn giản nhất

Số đo dùng để chọn thuộc tính phân chia tại các nút thường hay được sử dụng đó là

số đo Gini hoặc Entropy [9] Giả sử S (tập các số liệu mẫu dùng để tạo cây) có s mẫu tin, thuộc tính dự đoán có m giá trị phân biệt (như vậy chúng ta có m lớp Ci, i=1 m), si là số các mẫu tin trong S thuộc lớp Ci Số đo Gini được định nghĩa như sau:

2

1 2

1( , , , ) 1

với pi là xác suất một mẫu tin bất kì thuộc lớp Ci và được tính bằng si/s

Giả sử thuộc tính A có n giá trị khác nhau {a1, a2, …, an} Thuộc tính A có thể dùng để chia S thành n tập con {S1, S2, …, Sn}, với Sj chứa các mẫu tin trong S

có giá trị của thuộc tính A là aj Nếu A được chọn làm thuộc tính phân chia, thì các tập con sẽ tương ứng với các nhánh mọc từ nút chứa tập S Gọi sij là số các mẫu tin của lớp Ci trong tập con Sj Sau khi phân nhánh theo thuộc tính A

1

1 1

Trang 18

Thuộc tính category:

Đặt S(A) là tập các giá trị của thuộc tính A Một điểm phân chia theo thuộc tính A sẽ có dạng A S ', với S'S Giả sử A có n giá trị phân biệt, khi đó số tập con của S sẽ là 2n Với n nhỏ (n10) thì chúng ta xét tất cả các tập S’ để chọn tập cho giá trị Gain(A) lớn nhất Nếu n lớn thì chúng ta thực hiện như sau: chúng ta bắt đầu bằng tập S’ trống, sau đó lần lượt thêm vào S’ các giá trị của A sao cho Gain(A)

là tốt nhất và chúng ta dừng quá trình này khi việc mở rộng S’ không làm cho Gain(A) lớn lên[18]

Nếu n không lớn thì chúng ta cũng có thể thực hiện việc phân chia bằng cách như sau: chọn một giá trị của tập S(A) sao cho Gain(A) lớn nhất Tiến hành việc phân chia theo giá trị này Các giá trị còn lại của S(A) sẽ được lưu lại và sẽ được dùng để tham gia vào việc phân chia các nút con tiếp theo Cách này có ưu điểm là việc tính toán sẽ đơn giản hơn và chúng ta cũng luôn nhận được các giá trị tốt nhất của thuộc tính A

b Phép kiểm tra để chọn phép phân chia tốt nhất

Độ lợi thông tin (Information gain)

- Information gain[9] là đại lượng được sử dụng để chọn lựa thuộc tính với

- Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N

- Entropy, hay thông tin mong muốn cần thiết để phân lớp các đối tượng trong tất cả các cây con Si là:

Trang 19

( ) ( , ) ( )

Gain AInfo p nEntropy A

Ví dụ: cho bảng dữ liệu về thời tiết như sau:

Bảng 1.1 Bảng dữ liệu thời tiết

Trang 20

Tương tự cho các thuộc tính còn lại ta có:

Trang 21

Rõ ràng ban đầu ta sẽ chọn thuộc tính “Quang cảnh” để phân chia Sau đó làm tương tự ta sẽ được cây quyết định cuối cùng có dạng:

1.5.1.2 Xây dựng cây quyết định dựa trên thuật toán ID3

Input: tập_ví_dụ, tập thuộc tính

Output: mô hình cây quyết định

Function induce_tree (tập_ví_du,tập_thuộc_tính)

Begin

If mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then

return một nút lá được gán nhãn bởi lớp đó Else if tập_thuộc_tính là rỗng then

return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong

tập_ví_dụ

Else

Begin

chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;

xóa P ra khỏi tập_thuộc_tính;

với mỗi giá trị V của P

Begin

tạo một nhánh của cây gán nhãn V;

đặt vào phân_vùng V các quyết định trong tập_ví_dụ có giá trị V tại thuộc tính P;

Trang 22

gọi induce_tree(phân_vùng V, tập_thuộc_tính), gắn kết quả vào nhánh V

end end

end [13,15]

Các khả năng có thể có của các phân vùng:

Trong quá trình xây dựng cây quyết định, phân vùng của một nhánh mới có thể có các dạng sau:

- Có các ví dụ thuộc các lớp khác nhau, chẳng hạn như có cả ví dụ âm và dương

- Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn như toàn âm hoặc toàn dương

- Không còn ví dụ nào giải thuật trả về mặc nhiên

- Không còn thuộc tính nào nghĩa là dữ liệu bị nhiễu, khi đó giải thuật phải sử dụng một luật nào đó để xử lý, chẳng hạn như luật đa số (lớp nào có nhiều ví dụ hơn

sẽ được dùng để gán nhãn cho nút lá trả về)

Từ các nhận xét này, ta thấy rằng để có một cây quyết định đơn giản, hay một cây có chiều cao là thấp, ta nên chọn một thuộc tính sao cho tạo ra càng nhiều các phân vùng chỉ chứa các ví dụ thuộc cùng một lớp càng tốt Một phân vùng chỉ

có ví dụ thuộc cùng một lớp, ta nói phân vùng đó có tính thuần nhất Vậy, để chọn thuộc tính kiểm tra có thể giảm thiểu chiều sâu của cây quyết định, ta cần một phép

đo để đo tính thuần nhất của các phân vùng, và chọn thuộc tính kiểm tra tạo ra càng nhiều phân vùng thuần nhất càng tốt ID3 sử dụng lý thuyết thông tin để thực hiện điều này

Thuộc tính dùng để phân loại tốt nhất:

- Entropy dùng đo tính thuần nhất của tập ví dụ

Khái niệm entropy của một tập S được định nghĩa trong Lý thuyết thông tin

là số lượng mong đợi các bít cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn nhất Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán –log2p bits cho thông điệp có xác suất là p

Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại

 Entropy có giá trị nằm trong khoảng [0 1],

Trang 23

 Entropy(S) = 0  tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay S

Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:

Entropy(S) = -p + log 2 p + - p - log 2 p

-Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai loại, giả

sử là có c giá trị phân loại thì công thức entropy tổng quát là:

- Lượng thông tin thu được đo mức độ giảm entropy mong đợi

Entropy là một số đo đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính Phép đo này gọi là lượng thông tin thu được, nó đơn giản là lượng giảm entropy mong đợi gây ra bởi việc phân chia các ví dụ theo thuộc tính này

Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa như sau:

( )

v values A

S Gain S A Entropy S Entropy S

Trang 24

Trở lại ví dụ ban đầu, nếu không sử dụng Entropy để xác định độ thuần nhất của ví dụ thì có thể xảy ra trường hợp cây quyết định có chiều cao lớn Ta áp dụng phương thức tính Entropy để xác định chắc chắn thuộc tính nào được chọn trong quá trình tạo cây quyết định Đầu tiên ta tính độ thuần nhất của tập dữ liệu:

Entropy(S) = - (9/14) log 2 (9/14) - (5/14) log 2 (5/14) = 0.940

Từ đó ta tính tiếp Gain cho từng thuộc tính để suy ra thuộc tính nào được chọn làm nút gốc

Gain(S, Quang cảnh) = Entropy(S) – (5/14)Entropy(S Nắng ) – (4/14)Entropy(S Âm u ) – (5/14) Entropy(S Mưa ) = 0.940 – (5/14)(5/14)(- (2/5)log2(2/5) – (3/5)log2(3/5)) - (4/14)(0) - (5/14)(- (3/5)log2(3/5) – (2/5)log2(2/5)) = 0.24

Gain(S, Nhiệt độ) = Entropy(S) - (4/14)×Entropy(S Nóng ) - (6/14)×Entropy(S Ấm áp ) –

(4/14)×Entropy(S Mát )

= 0.940 – (4/14)(1) - (6/14)(- (4/6)log2(4/6) – (2/6)log2(2/6)) - (4/14)(- (3/4)log2(3/4) – (1/4)log2(1/4)) = 0.029

Trang 25

Gain(S, Gió) = Entropy(S) - (6/14)×Entroy(S Mạnh ) - (8/14)×Entropy(S Nhẹ )

= 0.940 - (6/14)(1) - (8/14)(- (6/8)log2(6/8) – (2/8)log2(2/8))

= 0.048

Gain(S, Độ ẩm) = Entropy(S) – (7/14)×Entropy(S Cao ) – (7/14)×Entropy(S TB )

= 0.940 – (7/14)(- (3/7)log2(3/7) – (4/7)log2(4/7)) – (7/14)(- (6/7)log2(6/7) – (1/7)log2(1/7)) = 0.151

Ta thấy Gain(S, Quang cảnh) là lớn nhất lấy thuộc tính quang cảnh làm nút

Trang 26

Sau khi lập được cấp đầu tiên của cây quyết định ta lại xét nhánh Nắng

Entropy(SNắng) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

Gain(S Nắng , Nhiệt độ) = Entropy(S Nắng ) - (2/5)×Entropy(S Nóng ) - (2/5)×Entropy(S Ấm

Trang 27

Gain(S Nắng , Gió) = Entroy(S Nắng ) - (2/5)×Entropy(S Nhẹ ) - (3/5)×Entropy(S Mạnh )

= 0.971 - (2/5)×1 - (3/5)(- (1/3)log2(1/3) – (2/3)log2(2/3)) = 0.020

Gain(S Nắng , Độ ẩm) = Entropy(S Nắng ) – (3/5)×Entropy(S Cao ) – (2/5)×Entropy(S TB )

= 0.971 – (3/5)(0) – (2/5)(0) = 0.971

Như vậy thuộc tính độ ẩm có hiệu suất phân loại cao nhất trong nhánh Nắng

Trang 28

 Xét nhánh “Mưa”:

Entropy(SMưa) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

Gain(S Mưa , Nhiệt độ) = Entropy(S Mưa ) - (3/5)×Entropy(S Ấm áp ) - (2/5)×Entropy(S Mát )

= 0.971 - (3/5)(- (2/3)log2(2/3) – (1/3)log2(1/3)) - (2/5)(1) = 0.020

Trang 29

Gain(S Mưa , Gió) = Entropy(S Mưa ) - (3/5)×Entropy(S Nhẹ ) - (2/5)×Entropy(S Mạnh )

= 0.971 - (3/5)×0 - (2/5)×0 = 0.971 Như vậy thuộc tính gió có hiệu suất phân loại cao nhất trong nhánh Mưa

ta chọn thuộc tính Gió làm nút kế tiếp

 Luật rút ra từ cây quyết định:

 R1: if (Quang cảnh = Nắng) and (Độ ẩm = cao) then Chơi tennis = Không

 R2: if (Quang cảnh = Nắng) and (Độ ẩm = Trung bình) then Chơi tennis= Có

Trang 30

 R3: if (Quang cảnh = Âm u) then Chơi tennis = Có

 R4: if (Quang cảnh = Mưa) and (Gió = Nhẹ) then Chơi tennis = Có

 R5: if (Quang cảnh = Mưa) and (Gió = Mạnh) then Chơi tennis = Không

1.5.1.3 Tỉa cây (prunning)

Việc phân chia và tạo cây quá sâu sẽ cho cây quyết định quá chi tiết, không phản ánh đúng thực tế vì không đủ số liệu thống kê Để giải quyết trường hợp này chúng ta có hai cách: Cách thứ nhất là kiểm tra tại mỗi nút trước khi phân chia Đối tượng kiểm tra có thể là số mẫu tin tối thiểu tại mỗi nút hay độ sâu của cây Việc chọn ngưỡng thích hợp cho tổng số mẫu tin tối thiểu tại mỗi nút có thể cho chúng ta cây quyết định tương đối tốt Ngoài ra, đôi khi cây phát triển quá sâu và để giới hạn chúng ta có thể chọn ngưỡng cho độ sâu của cây Cách thứ hai là chúng ta cho cây phân chia hoàn toàn sau đó dùng giải thuật để tỉa các nhánh của nó Việc tỉa nhánh chúng ta có thể dùng hai cách tiếp cận, cách tiếp cận thứ nhất là chúng ta dùng một tập dữ liệu khác (tập dữ liệu kiểm tra) đã được phân lớp để kiểm tra sai số của cây mới nhận được tại các nút lá, nếu việc tỉa nhánh làm cho sai số tốt hơn thì chúng ta

sẽ thực hiện Cách tiếp cận thứ hai là chúng ta tỉa cây dựa trên số các bit cần thiết để

mã hóa cây Phương pháp này dựa trên nguyên lý “độ dài mô tả ngắn nhất” (Minimum Description Length – MDL)[17], cây tốt nhất sau khi tỉa là cây được mã hóa bằng ít bit nhất

Ngoài ra, việc tỉa nhánh của cây cũng có thể dựa trên số đo dùng để phân nhánh (Gain) Cách này được thực hiện như sau: Chọn ngưỡng (Gain) thấp để phân nhánh trong giai đoạn xây dựng cây Với Gain thích hợp, chúng ta có thể đi qua các nút có Gain nhỏ để nhận được các nút có Gain lớn hơn Sau đó, trong giai đoạn tỉa cây, chúng ta có thể chọn ngưỡng lớn hơn Bằng cách này chúng ta có thể nhận được các nút có Gain lớn (là con của các nút có Gain tương đối nhỏ)

Chúng ta cũng có thể kết hợp cả hai giải pháp tỉa nhánh trước và tỉa nhánh sau để đạt kết quả tốt nhất Nếu chúng ta lưu lại các thông tin cần thiết trong giai đoạn tạo cây thì việc tỉa nhánh sau sẽ rất nhanh so với thời gian dùng để tạo cây

1.5.1.4 Tỉa cây dựa trên nguyên lý MDL

Nguyên lý MDL[17] phát biểu rằng mô hình tốt nhất để mã hóa dữ liệu là mô hình sao cho tổng các chi phí để mô tả số liệu của mô hình và chi phí để mô tả mô

Trang 31

hình là nhỏ nhất Đặt M là mô hình dùng để mã hóa số liệu D, tổng chi phí để mã hóa là cost(M|D) được định nghĩa như sau:

cost M Dcost D Mcost M

với cost(D|M) là chi phí các bit dùng để mã hóa số liệu theo mô hình M và cost(M)

là chi phí dùng để mã hóa mô hình M Trong trường hợp phân lớp bằng cây quyết định, các mô hình là tập các cây nhận được sau khi đã tỉa nhánh cây ban đầu T và số liệu là tập dùng để tạo cây S

Giải thuật tỉa cây gồm hai thành phần là xác định chi phí dùng để mã hóa số liệu và mô hình, và so sánh giữa các cây con của T

- Mã hóa số liệu (tập các bản ghi tại tại các nút lá):

Chi phí để mã hóa một tập các bản ghi là số các bản ghi không thuộc vào lớp chính trong tập đó

Để tính chi phí mã hóa một tập các bản ghi ta sử dụng công thức[17]:

- Mã hóa mô hình:

Chi phí cho mã hóa mô hình gồm chi phí cho mã hóa cấu trúc cây và chi phí kiểm tra tại các nút trong của cây

- Mã hóa cấu trúc cây:

Một nút của cây có thể là nút trong hay nút lá, do đó chúng ta chỉ cần một bit cho việc mã hóa một nút

- Mã hóa sự phân nhánh:

Bao gồm chi phí cho việc mã hóa thuộc tính và giá trị của thuộc tính để phân nhánh tại mỗi nút Đặt t là số các thuộc tính được xét tại mỗi nút, thuộc tính phân chia có thể được mã hóa bằng log2t bit Mã hóa giá trị của thuộc tính phân chia A phụ thuộc vào thuộc tính đó là thuộc tính số hay thuộc tính category Đặt p là số các giá trị phân biệt của A trong tập các bản ghi tại nút được xét Nếu A là thuộc tính số thì chúng ta có p – 1 điểm khác nhau có thể phân chia nút, như vậy việc mã hóa sẽ cần log2(p – 1) bit Nếu A là thuộc tính category và chúng ta phân nhánh bằng cách tách một nhóm các giá trị của A thì sẽ phải xét 2p – 2 tập con (không kể tập trống và tập tất cả các thuộc tính), như vậy việc mã hóa cần log2(2p – 2) bit Nếu A là thuộc

Trang 32

tính category và chúng ta phân nhánh bằng cách tách một giá trị tốt nhất của A thì chỉ phải xét p khả năng, như vậy việc mã hóa cần log2p bit

Giải thuật tỉa cây

Xét nút N Có hai khả năng nút N có thể là nút lá hoặc là nút trong Nếu N là nút lá thì S là tập các bản ghi tại N và chi phí tại nút này sẽ là C(S)+1 (cần thêm một bit để chỉ là nút lá) Nếu N là nút trong thì chúng ta tính chi phí để phân chia N, chi phí của nhánh con bên phải và bên trái của N và chi phí để mã hóa N Nếu tổng các chi phí này lớn hơn C(S)+1 tại N thì chúng ta sẽ tỉa hai nhánh con của N

1.5.1.5 Rút luật từ cây quyết định

Thông tin từ cây quyết định có thể rút ra và biểu diễn dưới dạng các luật IF – THEN Mỗi đường đi từ nút gốc đến nút lá tạo nên một luật Các cặp “thuộc tính – giá trị” trên đường đi sau khi kết với nhau tạo nên phần IF Nút lá với các giá trị của thuộc tính dự đoán tạo nên phần THEN của luật

Trang 33

Từ cây quyết định trên ta có thể chuyển thành các luật IF – THEN như sau:

R1: If (Quang cảnh=Nắng)  (Độ ẩm=Cao) Then Chơi=Không

R2: If (Quang cảnh=Nắng)  (Độ ẩm=Trung bình) Then Chơi=Có

R3: If (Quang cảnh=Âm u) Then Chơi=Có

R4: If (Quang cảnh=Mưa)  (Gió=Mạnh) Then Chơi=Không

R5: If (Quang cảnh=Mưa)  (Gió=Nhẹ) Then Chơi=Có

1.5.2 Phương pháp gom nhóm K – Means

Có rất nhiều phương pháp để gom nhóm dữ liệu Một số phương pháp khởi động bằng cách xem tất cả các bản ghi đều nằm trong một nhóm lớn Nhóm này sau

đó lần lượt được chia thành hai hay nhiều nhóm nhỏ hơn Các nhóm nhỏ nhận được lần lượt được chia tiếp thành những nhóm nhỏ hơn Tại mỗi bước, kết quả của việc phân chia được đánh giá để có thể nhận được kết quả tốt nhất khi kết thúc quá trình phân chia Một số phương pháp khác khởi động bằng cách xem mỗi bản ghi là một nhóm riêng biệt Sau đó lần lượt kết hợp các nhóm lại cho đến khi nhận được một nhóm lớn duy nhất (chứa tất cả các bản ghi) Quá trình gom lại cũng kết hợp với việc đánh giá để nhận được kết quả tốt nhất

Giả sử dữ liệu của chúng ta có N thuộc tính, như vậy mỗi bản ghi sẽ được biểu diễn như một tập N giá trị của N thuộc tính này Chúng ta có thể xem một bản ghi như là một điểm trong không gian N chiều Thuật toán K – Means (MacQeen, 1967)[15] chia dữ liệu thành k nhóm với k là một số cho trước Thuật toán này dùng giá trị trung bình của các điểm trong cùng một nhóm làm tâm của nhóm đó Sự tương đồng của các điểm trong cùng một nhóm được đánh giá dựa trên khoảng cách đến giá trị trung bình của các điểm trong nhóm Tiêu chuẩn để đánh giá trong giải thuật là hàm sai số bình phương (squared – error function) được định nghĩa như sau:

2 1

với x là các điểm thuộc nhóm Ci và mi là giá trị trung bình của nhóm Ci

Khoảng cách được sử dụng là khoảng cách Euclide:

2 1

N

ik jk k

Trang 34

Giải thuật K – Means

Input: kNvà n điểm

Output: Tập k nhóm với giá trị của hàm sai số bình phương nhỏ nhất

1 Chọn k điểm ban đầu làm k tâm khởi động của k nhóm;

2 Lặp lại

3 Lần lượt gán các điểm cho nhóm tương đồng tâm của nhóm đó nhất;

4 Tính lại giá trị trung bình của các điểm trong mỗi nhóm;

5 Cho đến khi hàm sai số bình phương không thay đổi;

Chọn k:

Giá trị của k sẽ xác định số các nhóm được nhận Nếu chúng ta chọn k không đúng với việc phân nhóm thực tế của dữ liệu thì chúng ta sẽ không nhận được kết quả tốt Thường thì chúng ta phải xét một số giá trị khác nhau của k Ứng với mỗi giá trị của k chúng ta thực hiện giải thuật k – means một số lần để chọn kết quả tốt nhất (ứng với k), sau đó thì phối hợp các kết quả nhận được để chọn k (và kết quả tốt nhất tương ứng)

Chọn k điểm ban đầu:

Việc chọn các điểm khởi động là các điểm ngẫu nhiên cho kết quả tốt Các tác giả đưa ra một cách chọn các điểm khởi động cho trường hợp dữ liệu lớn như sau: chạy giải thuật k – means cho một tập dữ liệu nhỏ và lấy kết quả làm các điểm khởi động cho tập dữ liệu lớn

Giải thuật gom nhóm k – means có thể dùng cho các dữ liệu lớn vì độ phức tạp của giải thuật là O(nkt), với n là tổng số các bản ghi của dữ liệu, k là số các nhóm và t là số các lần lặp lại (thường thì và ) Các điểm nhận được thường là các điểm tối ưu cục bộ Giải thuật này cho kết quả là tốt khi dữ liệu đầu vào là số và có thể sử dụng khi số liệu lớn

1.6 Một số ứng dụng của khai phá dữ liệu

Mục đích quan trọng của khai phá dữ liệu là để hiểu được ý nghĩa về nội dung sâu sắc bên trong các bộ dữ liệu lớn Chính vì thế mà khai phá dữ liệu được ứng dụng vào hầu hết các lĩnh vực của đời sống xã hội Điển hình như:

- Tài chính và thị trường chứng khoán (Finance & Stock market): phân tích tài chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán,…

- Phân tích dữ liệu và hỗ trợ ra quyết định (Data analysis and decision support)

Trang 35

- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang web (Text mining & Web mining)

- Tin – sinh (Bio-informatics): tìm kiếm, đối sánh các quan hệ gen và thông tin

di truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền,…

- Điều trị y học (Medical treatment): mối liên hệ giữa triệu chứng, chuẩn đoán

và phương pháp điều trị (chế độ dinh dưỡng, thuốc men,…)

ra các phần mềm đi kèm giúp người dùng dễ dàng sử dụng hơn trong công việc

Một số phần mềm đã được ứng dụng trong thực tế:

1.7.1 Phần mềm Weka

Weka[3] là môi trường thử nghiệm KPDL do các nhà khoa học thuộc trường Đại học Waitako, New Zealand, 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

Trang 36

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

1.7.2 Chương trình dự báo thời tiết eWeather

eWeather[1] là bộ chương trình sản phẩm – dịch vụ của công ty Minh Việt JSC phát triển dựa trên các chương trình phục vụ số liệu và chương trình dự báo thời tiết của công ty đã làm với các đơn vị chuyên môn và nghiên cứu KTTV trên mạng internet được áp dụng tại các website trung tâm Dự báo Khí tượng thủy văn, Thông tấn xã Việt Nam, trường Đại học Quốc gia và Trung tâm Tư liệu KTTV

1.7.2.1 Các thành phần của eWeather

eWeather[1] là một bó package các sản phẩm và dịch vụ dự báo thời tiết số liệu KTTV phục vụ cho đối tượng cơ quan có nhu cầu về loại dịch vụ “thời tiết gia tăng giá trị” với các nội dung và yêu cầu khác nhau Về cơ bản eWeather bao gồm:

- Hệ thống chương trình WeatherEditor biên tập số liệu bản tin dự báo thời tiết KTTV và CSDL dữ liệu dự báo chuẩn lưu trữ số liệu (SQLServer/ MS Access);

- Hệ chuyển đổi số liệu dự báo chuẩn theo chuẩn XML hay XML_KTTV);

- Hệ chương trình nhận tin dự báo thời tiết KTTV tự động AutoGET nhận từ cổng FTP cung cấp bởi nhà cung cấp số liệu KTTV (HydroMeteo DataProvider);

- Hệ thống website thời tiết (hay trang thời tiết thành phần) động (dynamic web) trực tuyến với CSDL dự báo thời tiết chuẩn;

- Hệ chương trình AutoDownload tự động số liệu từ trạm số liệu KTTV toàn cầu/ khu vực trên mạng internet;

- Hệ chương trình AutoUpload số liệu kết quả từ mô hình RAMS-VNU và chuyển đổi tự động để upload tự động lên website bất kì theo lịch theo chuẩn HTM/ XML/ GIF/ JPEG tại địa chỉ IP cố định và domain cho trước;

- Hệ chương trình nhận mail tự động AutoMail thời tiết theo chuẩn SMTP/ POP3 bản tin thời tiết qua email để lấy số liệu tự động;

- Hệ thống bản tin Weather Newsletters định kì theo các định dạng trong các bản tin dịch vụ giá trị gia tăng cho các website tin tức

1.7.2.2 Mô hình của eWeather

Trang 37

eWeather[1] sẽ dựa trên mô hình kiến trúc kênh thông tin cung cấp số liệu KTTV từ các nhà cung cấp dịch vụ số liệu dự báo thời tiết (data providers) để thực hiện các chương trình eWeather cho các đối tượng sử dụng thông tin dịch vụ thời tiết (value – added data provider) để cung cấp tiếp dịch vụ thời tiết cho người dùng đầu cuối (end – users)

Mô hình tổng quát có dạng cơ bản như sau:

Mô hình áp dụng dưới dạng sau:

Mô hình 1: cung cấp kênh thông tin dự báo qua nhà cung cấp dịch vụ dự báo thời

tiết KTTV (mô hình TTXVN)

Mô hình này kết hợp hệ thống bản tin chuẩn cung cấp qua cổng cung cấp chính thức dịch vụ dự báo KTTV của trung tâm dự báo khí tượng thủy văn trung ương Thành phần của eWeather bao gồm:

- Chương trình thu tin tự động

- Chương trình cập nhật tự động vào CSDL chuẩn

- Chương trình biên tập tin

- Chương trình xuất bản tin tự động lên website theo các bản tin chuẩn theo dạng tin độc lập hay bản tin thành phần với các tin tức khác, bao gồm cả bản tin dưới dạng newsletter hoặc XML hoặc chế bản điện tử

Mô hình 2: cung cấp kênh thông tin dựa vào mô hình dự báo RAMS (USA) với số

liệu thời tiết toàn cầu cung cấp trên internet (Mô hình RAM-VNU)

Trang 38

Mô hình áp dụng sử dụng số liệu thời tiết toàn cầu tải về định kì theo phiên

cố định (qua cổng FTP) và cung cấp cho trình dự báo RAMS (chạy trên Linux) để kết xuất ra dưới dạng bản tin 3 ngày kết hợp ảnh dự báo được xuất bản định kì theo lịch lên website thiết kế sẵn trên internet

Mô hình 3: mô hình kết hợp (hydrid) tổng hợp từ hai mô hình trên

Trong mô hình này, khách hàng có thể cung cấp giải pháp kết hợp hai loại hình dịch vụ nêu trên để được cung cấp các bản tin “đặc biệt” và “tổng hợp” để phục vụ Các mô hình tính toán sẽ cho phép kết xuất các dạng kết quả đa dạng và phong phú trên các cổng thời tiết với các loại hình: trang web, bản tin newsletter, email, …

Trang 39

1.7.2.3 Môi trường vận hành của eWeather 1.2

- Những yêu cầu cơ bản để cài đặt eWeather 1.2:

+ Có máy chủ ứng dụng – application server, bao gồm:

 Sản phẩm dịch vụ eWeather 1.2

 ASP/ ASP.NET, VB, VBScript, Java Script

+ Có máy chủ web – web server: IIS 5.0 hoặc cao hơn

+ Máy chủ CSDL – database server; ví dụ như SQL server 2000, …

Ngày đăng: 27/11/2014, 08:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Công ty Minh Việt – JSC, Giới thiệu dịch vụ thời tiết eWeather – http://www.thoitiet.net Sách, tạp chí
Tiêu đề: Giới thiệu dịch vụ thời tiết eWeather
[2]. Đặng Thị Hồng Thủy, Khí tượng nông nghiệp, NXB Đại học Quốc Gia Hà Nội, 2003 Sách, tạp chí
Tiêu đề: Khí tượng nông nghiệp
Nhà XB: NXB Đại học Quốc Gia Hà Nội
[5]. Trần Công Minh, Khí hậu và khí tượng đại cương, Chương 4: Chế độ nhiệt của khí quyển, NXB Đại học Quốc gia Hà Nội, 2007 Sách, tạp chí
Tiêu đề: Khí hậu và khí tượng đại cương, Chương 4: Chế độ nhiệt của khí quyển
Nhà XB: NXB Đại học Quốc gia Hà Nội
[6]. Trần Công Nam, Giáo trình khí tượng hải dương học, Học viện Hải Quân, 2009 Sách, tạp chí
Tiêu đề: Giáo trình khí tượng hải dương học
[7]. Trần Tân Tiến, Phương pháp số dự báo thời tiết, NXB Đại học Quốc Gia Hà Nội, 2007 Sách, tạp chí
Tiêu đề: Phương pháp số dự báo thời tiết
Nhà XB: NXB Đại học Quốc Gia Hà Nội
[9]. Anurang Srivastava, Eui – Hong Han, Vipin Kumar, Vieet Singh, Parallel Formulations of Decision – Tree Classification Algorithm, kluwer academic Publisher, 1999 Sách, tạp chí
Tiêu đề: Parallel Formulations of Decision – Tree Classification Algorithm
[12]. Hồ Tú Bảo, Introduction to Knowledge Discovery and Data Mining, IOIT, 2001 Sách, tạp chí
Tiêu đề: Introduction to Knowledge Discovery and Data Mining
[13]. Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, 2 nd Edition, Morgan Kaufmann Publishers, 2006 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
[14]. J.R.Quinlan, Improve Used of Continuous Attribute in C4.5, in Joural of Artificial Intelligence Research 4 (1996) 77 – 90 Sách, tạp chí
Tiêu đề: Improve Used of Continuous Attribute in C4.5
[15]. J.Ross Quinlan, X. Wu, V. Kumar, … Top 10 Algorithms in Data Mining, Chapman & Hall/ CRC, ©Taylor & Francis Group, LLC, 2009 Sách, tạp chí
Tiêu đề: … Top 10 Algorithms in Data Mining
[16]. Mehmed Kantardzic, Data Mining: Concepts, Models, Methods, and Algorithms, 2003 by John Wiley & Sons Sách, tạp chí
Tiêu đề: Data Mining: Concepts, Models, Methods, and Algorithms
[17]. Mehta M., Rissanen J., and Agrawal R., MDL – based decision tree pruning, In Int’l Conference on Knowledge Discovery in Databases and Data Mining (KDD – 95), Monteral, Canada,1995 Sách, tạp chí
Tiêu đề: MDL – based decision tree pruning, In Int’l Conference on Knowledge Discovery in Databases and Data Mining (KDD – 95)
[18]. Mehta M., Agrawal A., and Rissanen J., SLIQ: A fast scalable classifier for data mining, In EDBT 96, Avignon, France, 1996 Sách, tạp chí
Tiêu đề: SLIQ: A fast scalable classifier for data mining
[19]. Murphy, K (2001), A brief introduction to graphical models and Bayesian Networks, October 14, 2001 Sách, tạp chí
Tiêu đề: A brief introduction to graphical models and Bayesian Networks
Tác giả: Murphy, K
Năm: 2001
[20]. Rastogi R., Shim K., Mining Optimized Gain Rules for Numeric Attributes, Technical Report, Bell Laboratories, Englewood, NJ: Murray Hill, 1998 Sách, tạp chí
Tiêu đề: Mining Optimized Gain Rules for Numeric Attributes
[21]. Rechard Kufrin, Generating C4.5 Production Rules in Parallel, In Proceeding of Fourteenth National Conference of Artificial Intelligence, Providence RI, 1997 Sách, tạp chí
Tiêu đề: Generating C4.5 Production Rules in Parallel
[22]. Shafer John, Agrawal Rakesh, and Mehta Manish, SPRINT: A scalable parallel classifier for data mining, In Proc. Of the VLDB conference, Bombay, India, 1996 Sách, tạp chí
Tiêu đề: SPRINT: A scalable parallel classifier for data mining
[23]. Usama M., Fayyard (1996), Bayesian networks for knowledge discovery, Advances in knowledge discovery and data mining, AAAI Press, 273 – 30 Sách, tạp chí
Tiêu đề: ), Bayesian networks for knowledge discovery, Advances in knowledge discovery and data mining
Tác giả: Usama M., Fayyard
Năm: 1996
[4]. Trạm khí tượng thủy văn Long Khánh (2012) – đường Nguyễn Văn Bé, huyện Long Khánh, tỉnh Đồng Nai Khác
[8]. Trung tâm dự báo khí tượng thủy văn Đồng Nai (2013) – số 1, tổ 1, khu phố 3, phường Tân Hiệp, thành phố Biên Hòa, tỉnh Đồng Nai.Tiếng Anh Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Khám phá tri thức trong cơ sở dữ liệu điển hình - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 1.1. Khám phá tri thức trong cơ sở dữ liệu điển hình (Trang 10)
Hình 1.2. Mô hình mô tả quá trình khai phá dữ liệu - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 1.2. Mô hình mô tả quá trình khai phá dữ liệu (Trang 12)
Bảng 1.1. Bảng dữ liệu thời tiết - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Bảng 1.1. Bảng dữ liệu thời tiết (Trang 19)
Hình 2.1. Mây Vũ tích (Cumulonimbus – Cb) - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.1. Mây Vũ tích (Cumulonimbus – Cb) (Trang 44)
Hình 2.3. Mây Vũ tầng (Nimbostratus – Ns)            Hình 2.4. Mây Ti tích - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.3. Mây Vũ tầng (Nimbostratus – Ns) Hình 2.4. Mây Ti tích (Trang 44)
Hình 2.5. Mây tầng tích (Stratocumulus – Sc)         Hình 2.6. Mây Ti (Ci) – (Cirrus) - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.5. Mây tầng tích (Stratocumulus – Sc) Hình 2.6. Mây Ti (Ci) – (Cirrus) (Trang 45)
Hình 2.8. Bản đồ SyNốp - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.8. Bản đồ SyNốp (Trang 46)
Hình 2.9. Mô hình xoáy thuận               Hình 2.10. Mô hình xoáy nghịch - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.9. Mô hình xoáy thuận Hình 2.10. Mô hình xoáy nghịch (Trang 47)
Hình 2.11. Bản đồ thời tiết xoáy thuận  2.2.2.  Bản đồ Faximin - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 2.11. Bản đồ thời tiết xoáy thuận 2.2.2. Bản đồ Faximin (Trang 47)
Bảng 2.1. Bảng xác suất đồng thời - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Bảng 2.1. Bảng xác suất đồng thời (Trang 51)
Hình 3.1. Giao diện giới thiệu chương trình   Hình  3.1  là  giao  diện  giới  thiệu  chương  trình - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.1. Giao diện giới thiệu chương trình Hình 3.1 là giao diện giới thiệu chương trình (Trang 61)
Hình 3.2. Giao diện nhập dữ liệu dự đoán - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.2. Giao diện nhập dữ liệu dự đoán (Trang 62)
Hình 3.3. Giao diện kết quả chương trình sau khi dự đoán - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.3. Giao diện kết quả chương trình sau khi dự đoán (Trang 62)
Hình 3.5. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 10 - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.5. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 10 (Trang 63)
Hình 3.4. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 12 - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.4. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 12 (Trang 63)
Hình 3.7. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 5 - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.7. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 5 (Trang 64)
Hình 3.6. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 2 [tác giả] - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.6. Giao diện dự đoán thời tiết của một ngày bất kì trong tháng 2 [tác giả] (Trang 64)
Hình 3.8. Biểu đồ so sánh kết quả dự đoán và kết quả thực tế - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Hình 3.8. Biểu đồ so sánh kết quả dự đoán và kết quả thực tế (Trang 65)
Bảng dữ liệu đầu vào để dự báo thời tiết - ứng dụng phương pháp hồi quy bayes vào việc dự báo thời tiết
Bảng d ữ liệu đầu vào để dự báo thời tiết (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w