ĐỀ TÀI TIỀN XỬ LÝ DỮ LIỆU

81 1.9K 10
ĐỀ TÀI  TIỀN XỬ LÝ DỮ LIỆU

Đ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

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN PHẠM QUỲNH NGA – 0512030 HOÀNG TRỌNG NGHĨA – 0512031 HỒ TRẦN NHẬT THỦY – 0512046 ĐỒ ÁN MÔN HỌC KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG ĐỀ TÀI : TIỀN XỬ LÝ DỮ LIỆU DỰA TRÊN TÀI LIỆU : Data Mining: Concepts and Techniques, Jiawei Han TP.HCM – 01/2008 Mục lục Mục lục 2 Danh sách các hình 3 Tóm tắt nội dung đồ án 4 Tiền xử lý dữ liệu 4 Phần 2.1. Tại sao phải tiền xử lý dữ liệu? 4 2.1.1 Dữ liệu trong thế giới thực không “sạch” : 4 2.1.2 Tại sao dữ liệu không “sạch” ? 4 2.1.3 Tại sao quá trình tiền xử lý dữ liệu lại quan trọng? 6 2.1.4 Những nhiệm vụ chính trong quá trình tiền xử lý dữ liệu: 7 Phần 2.2. Tóm tắt dữ liệu 8 2.2.1 Đo lường giá trị trung tâm 9 2.2.2 Đo lường sự phân tán dữ liệu 14 2.2.3 Các dạng đồ thị 17 Phần 2.3. Làm sạch dữ liệu (data cleaning) 25 2.3.1 Dữ liệu bị thiếu (missing) 25 2.3.2 Dữ liệu bị nhiễu (noisy) 28 2.3.3 Tiến trình làm sạch dữ liệu: 31 Phần 2.4. Tích hợp và chuyển đổi dữ liệu 34 2.4.1 Tích hợp dữ liệu (Data Integration) 35 2.4.2 Chuyển đổi dữ liệu (Data transformation) 40 Phần 2.5. Thu gọn dữ liệu 43 2.5.1 Lựa chọn tập thuộc tính 44 2.5.2 Giảm chiều dữ liệu 48 2.5.2.1 Wavelet Transform 48 2.5.2.2 Principle Component Analysis 51 2.5.3 Giảm kích thước tập dữ liệu 58 2.5.3.1 Regression 58 2.5.3.2 Log-Linear 60 2.5.3.3 Gaussian Mixture Models 62 2.5.3.4 K-Means Clustering 67 2.5.3.5 Fuzzy C-Means Clustering 68 2.5.3.6 Hierachical Clustering 70 Phần 2.6. Tổng kết 72 Phần 2.7. Giải một số bài tập 73 2 Danh sách các hình Hình 2.1Những nhiệm vụ chính trong quá trình tiền xử lý dữ liệu 8 Hình 2.2Dữ liệu đối xứng 13 Hình 2.3Dữ liệu lệch trái 13 Hình 2.4Dữ liệu lệch phải 14 Hình 2.5Boxplot biểu diễn dữ liệu đơn giá cho các mặt hàng bán tại AllElectronics 16 Hình 2.6Histogram 19 Hình 2.7Quantile plot 20 Hình 2.8Qq plot 21 Hình 2.9Scatter plot – trường hợp có sự tương quan 22 Hình 2.10Scatter plot – trường hợp không có sự tương quan 23 Hình 2.11Scatter plot 24 Hình 2.12Đường cong hồi qui cục bộ 24 Hình 2.13Minh họa kỹ thuật hồi qui 30 Hình 2.14Minh họa kỹ thuật clustering 31 Hình 2.15 Forward Selection 46 Hình 2.16 Backward Elimination 46 Hình 2.17Decision Tree Induction 47 Hình 2.18Đồ thị biểu diễn các mẫu dữ liệu hai chiều sau khi chuẩn hoá.53 Hình 2.19 Mean adjust data with eigenvectors 56 Hình 2.20Data Table 59 Hình 2.21 Mixture of Gaussian Distribution 63 Hình 2.22Mã giả của thuật toán EM 65 Hình 2.23Sơ đồ thuật toán Fuzzy C-Means Clustering 69 Hình 2.24Bảng độ đo khoảng cách giữa các mẫu dữ liệu 70 Hình 2.25Lược đồ thể hiện cây gom nhóm (clustering tree) 71 Hình 2.26Phân nhóm bằng cách loại bỏ link” dài” nhất 71 Hình 2.27Đồ thị biểu diễn tương quan giữa 2 biến Tuổi – %Mỡ 75 Hình 2.28Boxplot biểu diễn dữ liệu 79 3 Tóm tắt nội dung đồ án Đồ án trình bày các vấn đề liên quan đến tiền xử lý dữ liệu, bao gồm nguyên nhân, tầm quan trọng và các kỹ thuật tiền xử lý cần thiết. Tiền xử lý dữ liệu là công việc khá vất vả, tốn nhiều thời gian và công sức nhưng không thể không làm, vì dữ liệu từ thế giới thực thường có chất lượng thấp, làm ảnh hưởng nhiều đến quá trình khai thác dữ liệu. Thực hiện tốt công đoạn tiền xử lý sẽ làm tăng tốc độ cũng như tăng chất lượng của quá trình khai thác dữ liệu. Tiền xử lý dữ liệu Phần 2.1. Tại sao phải tiền xử lý dữ liệu? 2.1.1 Dữ liệu trong thế giới thực không “sạch” : - Không hoàn chỉnh (incomplete): thiếu giá trị thuộc tính, thiếu những thuộc tính quan trọng… Ví dụ: occupation = “”… - Nhiễu (noisy): dữ liệu bị lỗi hoặc dữ liệu nằm ngoài miền giá trị… Ví dụ: salary = “-10” - Không nhất quán (inconsistent): không nhất quán trong cách đặt tên… Ví dụ: Age = “42”, Birthday = “03/07/1997”, hay định dạng dữ liệu không giống nhau ví dụ: thuộc tính rank (lúc được định dạng theo kiểu A, B, C,… khi lại được định dạng theo kiểu số 1, 2, 3,…) 2.1.2 Tại sao dữ liệu không “sạch” ? - Dữ liệu không hoàn chỉnh có thể xảy ra vì một số nguyên nhân: 4 o Một vài thuộc tính quan trọng không được cung cấp. Ví dụ: thông tin khách hàng đối với giao dịch bán hàng vì lý do cá nhân có thể khách hàng không muốn cung cấp thông tin của họ, hay thuộc tính mã số bằng lái xe đối với người không có bằng lái xe họ không thể cung cấp thông tin được yêu cầu… o Một số dữ liệu không được chọn lựa đơn giản bởi vì nó không được xem làm quan trọng tại thời điểm nhập dữ liệu. Hay nói cách khác việc xem xét dữ liệu tại thời điểm nhập dữ liệu và thời điểm phân tích là khác nhau. o Vấn đề con người/ phần mềm/ phần cứng. o Dữ liệu không nhất quán với những dữ liệu đã được lưu trước đó có thể bị xóa dẫn đến việc mất mát dữ liệu. - Dữ liệu nhiễu có thể xảy ra vì một số nguyên nhân: o Công cụ lựa chọn dữ liệu được sử dụng bị lỗi. o Lỗi do con người hay máy tính lúc ghi chép dữ liệu. o Lỗi trong quá trình truyền tải dữ liệu. o Giới hạn về công nghệ như là kích thước buffer bị giới hạn trong quá trình truyền, nhận dữ liệu… o Dữ liệu không chính xác cũng có thể là do không nhất quán trong việc đặt tên, định dạng dữ liệu. Ví dụ thuộc tính date nếu được định dạng theo kiểu mm/dd/yyyy thì giá trị 20/11/2007 tại một bộ nào đó có thể bị xem là giá trị nhiễu… - Dữ liệu không nhất quán có thể là do: o Dữ liệu được tập hợp từ nhiều nguồn khác nhau. 5 o Vài thuộc tính được biểu diễn bằng những tên khác nhau trong cơ sở dữ liệu. Ví dụ: thuộc tính customer indentification có thể là customer_id trong cơ sở dữ liệu này nhưng là cust_id trong cơ sở dữ liệu khác. o Vi phạm phụ thuộc hàm. 2.1.3 Tại sao quá trình tiền xử lý dữ liệu lại quan trọng? - Quá trình làm sạch dữ liệu sẽ lắp đầy những giá trị bị thiếu, làm mịn các dữ liệu nhiễu, xác định và xóa bỏ những dữ liệu sai miền giá trị, và giải quyết vấn đề không nhất quán. - Nếu người dùng cho rằng dữ liệu là dơ thì họ sẽ không tin tưởng vào bất kỳ kết quả khai thác nào từ dữ liệu đó. - Ngoài ra, dữ liệu dơ có thể là nguyên nhân gây ra sự lộn xộn trong quá trình khai thác, cho ra kết quả không đáng tin. Việc có một số lượng lớn dữ liệu dư thừa có thể làm giảm tốc độ và làm hỗn loạn quá trình tìm kiếm tri thức. - Rõ ràng, việc thêm vào quá trình làm sạch dữ liệu giúp chúng ta tránh những dữ liệu dư thừa không cần thiết trong quá trình phân tích dữ liệu. - Làm sạch dữ liệu là một bước quan trọng trong quá trình tìm kiếm tri thức vì dữ liệu không có chất lượng thì kết quả khai thác cũng không có chất lượng. Những quyết định có chất lượng phải dựa trên dữ liệu có chất lượng. Ví dụ: dữ liệu trùng lắp hoặc bị thiếu có thể là nguyên nhân làm sai số liệu thống kê. - Quá trình làm giàu dữ liệu, làm sạch dữ liệu và mã hóa dữ liệu có vai trò quan trọng trong việc xây dựng data warehouse. Những tiêu chuẩn xác định dữ liệu có chất lượng: - Độ chính xác - Độ hoàn chỉnh 6 - Tính nhất quán - Hợp thời - Đáng tin - Có giá trị - Có thể hiểu được - Có thể dùng được 2.1.4 Những nhiệm vụ chính trong quá trình tiền xử lý dữ liệu: - Làm sạch dữ liệu (Data cleaning): Thêm vào những giá trị bị thiếu, làm mịn dữ liệu, nhận biết hoặc xóa những dữ liệu sai miền giá trị và giải quyết sự không nhất quán. - Tích hợp dữ liệu (Data integration): Kết hợp nhiều cơ sở dữ liệu, khối dữ liệu hoặc từ nhiều file. - Chuyển hóa dữ liệu (Data transformation): Chuẩn hóa và kết hợp dữ liệu. - Thu gọn dữ liệu (Data reduction): Giảm bớt kích thước dữ liệu nhưng vẫn cho ra kết quả phân tích tương tự. Một dạng của thu gọn dữ liệu là rời rạc hóa dữ liệu (Data discretization), rất có ích cho việc phát sinh tự động khái niệm hệ thống thứ bậc từ dữ liệu số. 7 Hình 2.1 Những nhiệm vụ chính trong quá trình tiền xử lý dữ liệu Phần 2.2. Tóm tắt dữ liệu Để quá trình tiền xử lý dữ liệu thành công cần phải có bức tranh toàn diện về dữ liệu của bạn. Kỹ thuật tóm tắt dữ liệu (Descriptive data summarization) có thể được sử dụng để nhận biết những thuộc tính đặc trưng của dữ liệu và nêu bật những chỗ mà giá trị dữ liệu được coi như là nhiễu (noisy) hay là những phần tử cá biệt (outliers). Vì vậy, đầu tiên chúng ta giới thiệu những khái niệm cơ bản của tóm tắt dữ liệu trước khi đi vào những công việc cụ thể của kỹ thuật tiền xử lý dữ liệu. Đối với nhiều nhiệm vụ tiền xử lý dữ liệu, người sử dụng cần biết về những đặc điểm dữ liệu đối với giá trị trung tâm và sự phân tán của dữ liệu. Những tiêu chuẩn đánh giá giá trị trung tâm bao gồm mean, median, mode và midrange, những tiêu chuẩn đánh giá sự phân tán dữ liệu bao gồm quartile, interquartile range (IQR) và variance. Những thống kê miêu tả này giúp ích trong việc hiểu sự phân bố của dữ liệu. Đặc biệt là giới thiệu những khái niệm distributive measure, algebraic measure 8 và holistic measure. Biết được các cách đo khác nhau sẽ giúp chúng ta chọn được một cách thực hiện hiệu quả cho nó. 2.2.1 Đo lường giá trị trung tâm Trong phần này, chúng ta sẽ xem những cách khác nhau để đo giá trị trung tâm của dữ liệu. Cách phổ biến nhất và hiệu quả nhất để đo giá trị trung tâm của một tập hợp dữ liệu là mean. Đặt x 1 , x 2 , …, x N là một tập hợp N giá trị, ví dụ là những giá trị của thuộc tính như salary (lương). Mean của tập hợp những giá trị đó là: N xxx x N x N N i i +++ == ∑ = 1 21 1 (2.1) Tương ứng với cách đo này là xây dựng hàm hợp average (avg() trong SQL), được cung cấp trong những hệ thống cơ sở dữ liệu quan hệ. Distributive measure là cách đo mà có thể được tính cho một tập hợp dữ liệu bằng cách phân chia dữ liệu vào những tập con nhỏ hơn, tính toán cho mỗi tập con và sau đó trộn kết quả có được để đạt được giá trị đo lường cho tập dữ liệu bao đầu (toàn bộ dữ liệu). Sum() và count() là những distributive measure bởi vì chúng có thể được tính theo cách đó. Ví dụ khác là max() và min(). Algebraic measure là cách đo mà có thể được tính bằng cách áp dụng một hàm đại số cho một hoặc nhiều hơn một distributive measure. Theo đó, average (hay mean()) là một algebraic measure vì nó có thể được tính bằng sum() / count(). Khi tính toán cho khối dữ liệu, sum() và count() được bảo lưu trong tiền tính toán. Vì vậy, việc rút ra average cho khối dữ liệu là dễ hiểu. Thỉnh thoảng, mỗi giá trị x i trong một tập hợp có thể liên kết với một trọng lượng (tần số) w i , với i = 1,…, N. Trọng lượng phản ánh ý nghĩa, sự quan trọng hoặc tần số xảy ra gắn với những giá trị tương tứng của chúng. Trong trường hợp này, chúng ta có thể tính: 9 N NN N i i N i ii www xwxwxw w xw x +++ +++ == ∑ ∑ = = 21 2211 1 1 (2.2) Cách đo này được gọi là weighted arithmetic mean hay weighted average. Lưu ý rằng weighted average là một ví dụ khác của algebraic measure. Mặc dù mean là một con số hữu ích nhất cho việc mô tả một tập dữ liệu, nhưng nó không phải là cách tốt nhất để đo giá trị trung tâm của dữ liệu. Một vấn đề lớn với mean là tính nhạy cảm của nó với những giá trị cá biệt (outliers). Thậm chí một số lượng nhỏ những giá trị cá biệt cũng có thể làm sai lệch mean. Ví dụ, lương trung bình tại một công ty có thể bị đẩy lên bằng một vài người quản lý được trả lương cao. Tương tự, số điểm trung bình của một lớp trong một kỳ thi có thể bị đẩy xuống thấp với một vài điểm số rất thấp. Để giải quyết ảnh hưởng gây ra bởi những giá trị cá biệt, chúng ta có thể sử dụng thay thế bằng cách dùng trimmed mean, nghĩa là mean được tính sau khi cắt bỏ những giá trị cá biệt. Ví dụ, chúng ta có thể sắp xếp dữ liệu salary theo thứ tự và xóa bỏ 2% những giá trị ở trên và 2% ở dưới trước khi tính mean. Chúng ta nên tránh việc cắt bỏ một phần quá lớn dữ liệu (chẳng hạn 20%) ở cả phần đầu và cuối vì điều đó có thể làm mất những thông tin có giá trị. Ví dụ: ta có dữ liệu cho thuộc tính tuổi như sau: 3, 13, 15, 16, 19, 20, 21, 25, 40. Để tính trimmed mean, đầu tiên ta cắt bỏ đi ở hai đầu một số giá trị, trong trường hợp này ta sẽ cắt bỏ ở mẫu đầu một giá trị, như vậy các giá trị còn lại là: 13, 15, 16, 19, 20, 21, 25. Từ đó ta sẽ tính mean cho nhưng giá trị còn lại này. Đối với dữ liệu bị lệch, một cách đo tốt hơn cho trung tâm của dữ liệu là median. Giả sử rằng tập dữ liệu được cho có N có giá trị phân biệt được sắp xếp theo thứ tự tăng dần. Nếu N là lẻ, thì median là giá trị chính giữa của tập dữ liệu có thứ tự. Ngược lại, nếu N chẵn, thì median là trung bình của hai giá trị chính giữa. Ví dụ: ta xét lại ví dụ về thuộc tính tuổi trước đó 10 [...]... người dùng diễn tả quá trình làm sạch dữ liệu hiệu quả hơn Việc cập nhật siêu dữ liệu là quan trọng để phản ánh tri thức Điều đó sẽ giúp tăng tốc quá trình làm sạch dữ liệu trong những phiên bản lưu trữ dữ liệu tương lai Phần 2.4 Tích hợp và chuyển đổi dữ liệu Khai thác dữ liệu thường đòi hỏi việc tích hợp dữ liệu, nghĩa là trộn dữ liệu 34 từ nhiều nguồn lại với nhau Dữ liệu cũng cần phải được chuyển đổi... trình: tích hợp và chuyển đổi dữ liệu 2.4.1 Tích hợp dữ liệu (Data Integration) “Tích hợp dữ liệu nghĩa là sự kết hợp dữ liệu từ nhiều nguồn lại với nhau vào cùng một kho chứa một cách chặt chẽ, mạch lạc Những nguồn dữ liệu này có thể bao gồm các cơ sở dữ liệu (database), khối dữ liệu (data cube), hoặc file Có khá nhiều vấn đề cần phải quan tâm đến trong quá trình tích hợp dữ liệu, trong đó có Schema Integration... trước đó 13, 15, 16, 18, 20, 21, 25 Midrange = (13 + 25)/2 = 19 12 Hình 2.2 Dữ liệu đối xứng Hình 2.3 Dữ liệu lệch trái 13 Hình 2.4 Dữ liệu lệch phải 2.2.2 Đo lường sự phân tán dữ liệu Mức độ mà dữ liệu số có khuynh hướng trải ra được gọi là sự phân tán, sự dao động của dữ liệu Những cách đo phổ biến nhất cho sự phân tán của dữ liệu là range, five-number summary (dựa vào quartiles), interquartile range... chúng ta có 2 tập dữ liệu quan sát cho biến giá đơn vị sản phẩm lấy từ 2 chi nhánh khác nhau Gọi x 1, x2, xN là dữ liệu từ chi nhánh thứ nhất, và y 1, y2, yM là dữ liệu từ nhánh thứ 2, mỗi tập dữ liệu được sắp xếp theo thứ tự tăng dần Nếu M=N (nghĩa là số điểm củà tập dữ liệu bằng nhau) thì chúng ta chỉ việc 20 đánh dấu yi và xi, trong đó yi và xi đều là (i=0.5)/N quantile của tập dữ liệu tương ứng của... quát của dữ liệu Bằng cách xác định các nhiễu và giá trị cá biệt, chúng rất hữu ích cho việc làm sạch dữ liệu Phần 2.3 Làm sạch dữ liệu (data cleaning) Dữ liệu trong thế giới thực có xu hướng không hoàn chỉnh, nhiễu và không nhất quán Quá trình làm sạch dữ liệu lấp đầy những giá trị bị thiếu, làm mịn các giá trị nhiễu, xác định những giá trị cá biệt và giải quyết vấn đề không nhất quán trong dữ liệu Trong... nó được cung cấp trong bước tiếp theo của quá trình Vì vậy, một thiết kế tốt của cơ sở dữ liệu và của quá trình nhập dữ liệu nên giảm đến mức tối thiểu số liệu những giá trị bị thiếu hoặc sai ngay từ bước đầu tiên 2.3.2 Dữ liệu bị nhiễu (noisy) Một số kỹ thuật làm mịn dữ liệu: 1 Bining: Phương pháp bining làm mịn dữ liệu đã được sắp xếp bằng cách tham khảo những giá trị xung quanh nó Những giá trị đã... mịn dữ liệu Phân lớp được trình bày trong chương 6 2.3.3 Tiến trình làm sạch dữ liệu: Bước đầu tiên trong tiến trình làm sạch dữ liệu là phát hiện discrepancy (không nhất quán) Không nhất quán có thể xảy ra do nhiều yếu tố bao gồm việc thiết kế form nhập liệu tệ (có nhiều trường chọn lựa), lỗi do con người trong quá trình nhập liệu, lỗi do cố ý (ví dụ không muốn tiết lộ thông tin cá nhân), dữ liệu. .. việc biểu diễn dữ liệu không thống nhất hoặc không thống nhất trong việc dùng mã Lỗi trong thiết bị lưu trữ dữ liệu, lỗi hệ thống là những nguyên nhân khác gây ra vấn đề không nhất quán Lỗi cũng có thể 31 xảy ra khi dữ liệu được dùng cho mục đích khác với dự định ban đầu Phát hiện không nhất quán: tại lúc bắt đầu, dùng bất cứ kiến thức nào mà bạn có để xem xét những thuộc tính của dữ liệu Ví dụ, miền... pháp và kỹ thuật tập mờ khi làm sạch dữ liệu từ nhiều nguồn Data auditing tools tìm sự không nhất quán bằng cách phân tích dữ liệu để tìm sự tương quan và gom nhóm để phát hiện phần tử cá biệt Những công cụ này cũng có thể dùng kỹ thuật tóm tắt dữ liệu mô tả trong phần 2.2 Vài dữ liệu không nhất quán có thể được sửa bằng tay Ví dụ, những lỗi xảy ra trong lúc nhập liệu có thể được sửa bằng cách lần theo... cũng giúp ích trong việc chuyển đổi dữ liệu Ví dụ: thuộc tính pay_type trong cơ sở dữ liệu này có thể mang giá trị là ‘H’ hoặc ‘S’ và mang giá trị ‘1’ hoặc ‘2’ trong 1 cơ sở dữ liệu khác Do đó, bước này cũng liên quan đến việc làm sạch dữ liệu mà chúng ta đã thảo luận ở phần trước Một vấn đề quan trong khác là sự dư thừa dữ liệu Một thuộc tính (như tổng doanh thu hàng năm) có thể xem như dư thừa vì nó . 4 Tiền xử lý dữ liệu 4 Phần 2.1. Tại sao phải tiền xử lý dữ liệu? 4 2.1.1 Dữ liệu trong thế giới thực không “sạch” : 4 2.1.2 Tại sao dữ liệu không “sạch” ? 4 2.1.3 Tại sao quá trình tiền xử lý. diễn dữ liệu 79 3 Tóm tắt nội dung đồ án Đồ án trình bày các vấn đề liên quan đến tiền xử lý dữ liệu, bao gồm nguyên nhân, tầm quan trọng và các kỹ thuật tiền xử lý cần thiết. Tiền xử lý dữ liệu. từ dữ liệu số. 7 Hình 2.1 Những nhiệm vụ chính trong quá trình tiền xử lý dữ liệu Phần 2.2. Tóm tắt dữ liệu Để quá trình tiền xử lý dữ liệu thành công cần phải có bức tranh toàn diện về dữ liệu

Ngày đăng: 05/04/2015, 17:45

Mục lục

  • Mục lục

  • Danh sách các hình

  • Tóm tắt nội dung đồ án

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

Tài liệu liên quan