Bài giảng Khai phá dữ liệu (Data mining) - Chương 2: Các vấn đề tiền xử lý dữ liệu

Tóm tắt  Rời rạc hóa dữ liệu - Thu giảm số trị của một thuộc tính liên tục (continuous attribute) bằng cách chia miền trị thành các khoảng (interval) có dán nhãn. Các nhãn này được dùng thay cho các giá trị thực. - Tiến hành theo hai cách: trên xuống (top down) và dưới lên (bottom up), có giám sát (supervised) và không có giám sát (unsupervised). - Tạo phân hoạch phân cấp/đa phân giải (multiresolution) trên các trị thuộc tính  phân cấp ý niệm cho thuộc tính số (numerical attribute)  Tạo cây phân cấp ý niệm - Hỗ trợ khai phá dữ liệu ở nhiều mức trừu trượng - Cho thuộc tính số (numerical attributes): binning, histogram analysis, entropybased discretization, 2-merging, cluster analysis, discretization by intuitive partitioning - Cho thuộc tính phân loại/rời rạc (categorical/discrete attributes): chỉ định tường minh bởi người sử dụng hay chuyên gia, nhóm dữ liệu tường minh, dựa trên số lượng trị phân biệt (khác nhau) của mỗi thuộc tính

pdf88 trang | Chia sẻ: vutrong32 | Ngày: 17/10/2018 | Lượt xem: 342 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Khai phá dữ liệu (Data mining) - Chương 2: Các vấn đề tiền xử lý dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2: Các vấn đề tiền xử lý dữ liệu 1 Nội dung  Tổng quan về giai đoạn tiền xử lý dữ liệu  Tóm tắt mô tả về dữ liệu  Làm sạch dữ liệu  Tích hợp dữ liệu  Biến đổi dữ liệu  Thu giảm dữ liệu  Rời rạc hóa dữ liệu  Tạo cây phân cấp ý niệm  Tóm tắt 2 Tổng quan về giai đoạn tiền xử lý dữ liệu  Giai đoạn tiền xử lý dữ liệu: - Các kỹ thuật datamining đều thực hiện trên các cơ sở dữ liệu, nguồn dữ liệu lớn. Đó là kết quả của quá trình ghi chép liên tục thông tin phản ánh hoạt động của con người, các quá trình tự nhiên - Các dữ liệu lưu trữ hoàn toàn là dưới dạng thô, chưa sẵn sàng cho việc phát hiện, khám phá thông tin ẩn chứa trong đó. Do vậy chúng cần phải qua giai đoạn tiền xử lý dữ liệu trước khi tiến hành bất kỳ một phân tích nào. 3 Tổng quan về giai đoạn tiền xử lý dữ liệu  Chất lượng dữ liệu (data quality) - Tính chính xác (accuracy): giá trị được ghi nhận đúng với giá trị thực. - Tính hiện hành (currency/timeliness): giá trị được ghi nhận không bị lỗi thời. - Tính toàn vẹn (completeness): tất cả các giá trị dành cho một biến/thuộc tính đều được ghi nhận. - Tính nhất quán (consistency): tất cả giá trị dữ liệu đều được biểu diễn như nhau trong tất cả các trường hợp. 4 Tổng quan về giai đoạn tiền xử lý dữ liệu 5 Data Cleaning Data Integration Data Sources Data Warehouse Task-relevant Data Selection/Transformation Data Mining Pattern Evaluation/ Presentation Patterns Tổng quan về giai đoạn tiền xử lý dữ liệu 6 Tổng quan về giai đoạn tiền xử lý dữ liệu  Các kỹ thuật tiền xử lý dữ liệu - Làm sạch dữ liệu (data cleaning/cleansing) - Tích hợp dữ liệu (data integration) - Biến đổi dữ liệu (data transformation) - Thu giảm dữ liệu (data reduction) 7 Tóm tắt mô tả về dữ liệu 8  Các kiểu dữ liệu Tóm tắt mô tả về dữ liệu  Xác định các thuộc tính (properties) tiêu biểu của dữ liệu về xu hướng chính (central tendency) và sự phân tán (dispersion) của dữ liệu - Các độ đo về xu hướng chính: mean, median, mode, midrange - Các độ đo về sự phân tán: quartiles, interquartile range (IQR), variance  Làm nổi bật các giá trị dữ liệu nên được xem như nhiễu (noise) hoặc phần tử biên (outliers), cung cấp cái nhìn tổng quan về dữ liệu 9 Tóm tắt mô tả về dữ liệu  Các độ đo về xu hướng chính của dữ liệu - Mean - Weighted arithmetic mean - Median - Mode: giá trị xuất hiện thường xuyên nhất trong tập dữ liệu - Midrange: giá trị trung bình của các giá trị lớn nhất và nhỏ nhất trong tập dữ liệu 10         evenNifxx oddNifx Median NN N 2/)( 12/2/ 2/ Tóm tắt mô tả về dữ liệu  Ví dụ: Mean: Giả sử chúng ta có các giá trị sau về lương (tính theo đơn vị nghìn đôla) theo thứ tự tăng dần như sau: 30, 36, 47, 50, 52, 52, 56, 60, 63, 70, 70, 110  Tính giá trị trung bình của các lương trên? 11 Tóm tắt mô tả về dữ liệu  Ví dụ: Median: Giả sử chúng ta có các giá trị sau về lương (tính theo đơn vị nghìn đôla) theo thứ tự tăng dần như sau: 30, 36, 47, 50, 52, 52, 56, 60, 63, 70, 70, 110  Tính median của các lương trên? - Dữ liệu trên được sắp xếp tăng dần, giá trị middlemost là 52 và 56. Do vậy median= (52+56)/2= 108/2= 54. 12 Tóm tắt mô tả về dữ liệu  Ví dụ: Mode, Midrange: Giả sử chúng ta có các giá trị sau về lương (tính theo đơn vị nghìn đôla) theo thứ tự tăng dần như sau: 30, 36, 47, 50, 52, 52, 56, 60, 63, 70, 70, 110  Mode, Midrange của các lương trên?  Mode là $52,000 và $70,000  Midrange= 13 Tóm tắt mô tả về dữ liệu  Các độ đo về sự phân tán của dữ liệu - Quartiles  The first quartile (Q1): the 25th percentile  The second quartile (Q2): the 50th percentile (median)  The third quartile (Q3): the 75th percentile - Interquartile Range (IQR) = Q3 – Q1  Outliers (the most extreme observations): giá trị nằm cách trên Q3 hay dưới Q1 một khoảng 1.5xIQR - Variance 14 Tóm tắt mô tả về dữ liệu  Ví dụ: Q1, Q2, Q3, IRQ: Giả sử chúng ta có các giá trị sau về lương (tính theo đơn vị nghìn đôla) theo thứ tự tăng dần như sau: 30, 36, 47, 50, 52, 52, 56, 60, 63, 70, 70, 110  Q1= 47$, Q3=63$, IRQ= 63-47=16$ 15 Tóm tắt mô tả về dữ liệu  Ví dụ: Variance and standard deviation: Giả sử chúng ta có các giá trị sau về lương (tính theo đơn vị nghìn đôla) theo thứ tự tăng dần như sau: 30, 36, 47, 50, 52, 52, 56, 60, 63, 70, 70, 110 16 Tóm tắt mô tả về dữ liệu 17 Q1 Q2 Q3 Tóm tắt mô tả về sự phân bố dữ liệu gồm năm trị số quan trọng: median, Q1, Q3, trị lớn nhất, và trị nhỏ nhất (theo thứ tự: Minimum, Q1, Median, Q3, Maximum). Tóm tắt mô tả về dữ liệu  Boxplots và Outliers - Boxplot là cách để biểu diễn sự phân tán dữ liệu - Boxplot được biểu diễn bởi 5 giá trị Minimum, Q1, Median, Q3, Maximum như sau: Chiều dài của box là interquartile range. Median được đánh dấu bởi đường gạch trong box. Hai gạch ngoài box là whiskers là the smallest (Minimum) và largest (Maximum) 18 Outliers (the most extreme observatio ns): giá trị nằm cách trên Q3 hay dưới Q1 một khoảng 1.5xIQR Làm sạch dữ liệu (data cleaning/cleansing):  Thiếu giá trị - Hãy xem xét một kho dữ liệu bán hàng và quản lý khách hàng. Trong đó có thể có một hoặc nhiều giá trị mà khó có thể thu thập được ví dụ như thu nhập của khách hàng. Vậy làm cách nào để chúng ta có được các thông tin đó? 19 Làm sạch dữ liệu (data cleaning/cleansing):  Thiếu giá trị - Hãy xem xét các phương pháp sau:  Bỏ qua các bộ  Điền vào các giá trị thiếu bằng tay  Sử dụng các giá trị quy ước để điền vào cho giá trị thiếu  Sử dụng các thuộc tính có nghĩa là để điền vào cho 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 20 Làm sạch dữ liệu (data cleaning/cleansing):  Thiếu giá trị - Bỏ qua các bộ: điều này thường được thực hiện khi thông tin nhãn dữ liệu bị mất. 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, chẳng hạn như một nhãn ghi giá trị “Không biết” hoặ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ý. 21 Làm sạch dữ liệu (data cleaning/cleansing):  Thiếu giá trị - Sử dụng các thuộc tính có nghĩa là để điền vào cho giá trị thiếu: Ví dụ, ta biết thu nhập bình quân đầu người của một khu vực là 800.000đ, giá trị này có thể được dùng thể thay thế cho giá trị thu nhập bị thiếu của khách hàng trong khu vực đó. - Sử dụng các giá trị của các bộ cùng thể loại để thay thế cho giá trị thiếu: Ví dụ, nếu khách hàng A thuộc cùng nhóm phân loại theo rủi ro tín dụng với một khách hàng B khác trong khi đó khách hàng này có thông tin thu nhập bình quân. Ta có thể sử dụng giá trị đó để điền vào cho giá trị thu nhập bình quân của khách hàng A . - 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 Bayesian hay cây quyết định 22 Làm sạch dữ liệu (data cleaning/cleansing):  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 - Ví dụ cho thuộc tính như giá cả, làm cách nào để có thể làm mịn thuộc tính này để loại bỏ dữ liệu nhiễu. Hãy xem xét các kỹ thuật làm mịn sau:  Binning  Hồi quy  Nhóm cụm 23 Làm sạch dữ liệu (data cleaning/cleansing): 24 Làm sạch dữ liệu (data cleaning/cleansing):  Dữ liệu nhiễu - Binning: Làm mịn một giá trị dữ liệu được xác định thông qua các giá trị xung quanh nó. - Ví dụ, các giá trị giá cả được sắp xếp trước sau đó phân thành các dải khác nhau có cùng kích thước 3 (tức mỗi “Bin” chứa 3 giá trị). - Khi làm mịn trung vị trong mỗi bin, các giá trị sẽ được thay thế bằng giá trị trung bình các giá trị có trong bin - Làm mịn biên: các giá trị nhỏ nhất và lớn nhất được xác định và dùng làm danh giới của bin. Các giá trị còn lại của bin sẽ được thay thế bằng một trong hai giá trị trên tùy thuộc vào độ lệch giữa giá trị ban đầu với các giá trị biên đó. - Ví dụ, bin 1 có các giá trị 4, 8, 15 với giá trị trung bình là 9. Do vậy nếu làm mịn trung vị các giá trị ban đầu sẽ được thay thế bằng 9. Còn nếu làm mịn biên giá trị 8 ở gần giá trị 4 hơn nên nó được thay thế bằng 4. 25 Làm sạch dữ liệu (data cleaning/cleansing):  Dữ liệu nhiễu - Hồi quy: Phương pháp thường dùng là hồi quy tuyến tính, để tìm ra được một mối quan hệ tốt nhất giữa hai thuộc tính (hoặc các biến), từ đó một thuộc tính có thể dùng để dự đoán thuộc tính khác. - Hồi quy tuyến tính đa điểm là một sự mở rộng của phương pháp trên, trong đó có nhiều hơn hai thuộc tính được xem xét, và các dữ liệu tính ra thuộc về một miền đa chiều. 26 x y y = x + 1 X1 Y1 Y1’  Dữ liệu nhiễu - Phân tích cụm (cluster analysis): Các giá trị tương tự nhau được tổ chức thành các nhóm hay “cụm" trực quan. Các giá trị rơi ra bên ngoài các nhóm này sẽ được xem xét để làm mịn. 27 Làm sạch dữ liệu (data cleaning/cleansing):  Xử lý dữ liệu không nhất quán - Định nghĩa của dữ liệu không nhất quán  Dữ liệu được ghi nhận khác nhau cho cùng một đối tượng/thực thể  discrepancies from inconsistent data representations  2004/12/25 và 25/12/2004  Dữ liệu được ghi nhận không phản ánh đúng ngữ nghĩa cho các đối tượng/thực thể  Ràng buộc khóa ngoại - Nguyên nhân  Sự không nhất quán trong các qui ước đặt tên hay mã dữ liệu  Định dạng không nhất quán của các vùng nhập liệu  Thiết bị ghi nhận dữ liệu, 28 Làm sạch dữ liệu (data cleaning/cleansing):  Xử lý dữ liệu không nhất quán (inconsistent data) - Giải pháp  Tận dụng siêu dữ liệu, ràng buộc dữ liệu, sự kiểm tra của nhà phân tích dữ liệu cho việc nhận diện  Điều chỉnh dữ liệu không nhất quán bằng tay  Các giải pháp biến đổi/chuẩn hóa dữ liệu tự động 29 Làm sạch dữ liệu (data cleaning/cleansing):  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 .  Vấn đề đặt ra là làm thế nào có thể tích hợp chúng mà vẫn đảm bảo tính tương đương của thông tin giữa các nguồn 30 Tích hợp dữ liệu (data integration)  Ví dụ: làm thế nào mà người phân tích dữ liệu hoặc máy tính chắc chắn rằng thuộc tính id của khách hàng trong một cơ sở dữ liệu A và số hiệu cust trong một flat-file là các thuộc tính giống nhau về tính chất?  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. 31 Tích hợp dữ liệu (data integration)  Dư thừa dữ liệu: - Đây cũng là một vấn đề quan trọng, ví dụ như thuộc tính doanh thu hàng năm có thể là dư thừa nếu như nó có thể được suy diễn từ các thuộc tính hoặc tập thuộc tính khác. 32 Tích hợp dữ liệu (data integration)  Dư thừa dữ liệu: - Phát hiện dư thừa: phân tích tương quan (correlation analysis)  Dựa trên dữ liệu hiện có, kiểm tra khả năng dẫn ra một thuộc tính B từ thuộc tính A.  Đối với các thuộc tính rời rạc (categorical/discrete attributes), đánh giá tương quan giữa hai thuộc tính với phép kiểm thử chi-square (2).  Đối với các thuộc tính số (numerical attributes), đánh giá tương quan giữa hai thuộc tính với các hệ số tương quan bằng cách sử dụng correlation coefficient và covariance 33 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính rời rạc A và B - A có c giá trị phân biệt, a1, a2, , ac. - B có r giá trị phân biệt, b1, b2, , br. - oij: số lượng đối tượng (tuples) quan sát được có trị thuộc tính A là ai và trị thuộc tính B là bj. - eij: số lượng đối tượng (tuples) mong đợi có trị thuộc tính A là ai và trị thuộc tính B là bj. - count(A=ai): số lượng đối tượng có trị thuộc tính A là ai. - count(B=bj): số lượng đối tượng có trị thuộc tính B là bj. 34 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính rời rạc A và B - Phép kiểm thống kê chi-square kiểm tra giả thuyết liệu A và B có độc lập với nhau dựa trên một mức quan trọng (significance level) với bậc tự do (degree of freedom).  Nếu giả thuyết bị loại bỏ thì A và B có sự liên hệ với nhau dựa trên thống kê. - Bậc tự do (degree of freedom): (r-1)*(c-1)  Tra bảng phân bố chi-square để xác định giá trị 2.  Nếu giá trị tính toán được lớn hơn hay bằng trị tra bảng được thì hai thuộc tính A và B độc lập nhau (giả thuyết đúng). 35 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính rời rạc A và B - Ví dụ: phân tích tương quan của các thuộc tính sử dụng phương pháp 2 - Giả sử có một nhóm 1500 người được khảo sát. Giới tính của họ được ghi nhận sau đó họ sẽ được hỏi về thể loại sách yêu thích thuộc hai dạng hư cấu và viễn tưởng. Như vậy ở đây có hai thuộc tính “giới tính” và “sở thích đọc”. Số lần xuất hiện (observed frequencies) của các trường hợp được cho trong bảng sau: (các số trong ngoặc là expected frequencies) 36 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính rời rạc A và B  Vậy chúng ta tính được 37 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính rời rạc A và B  Từ bảng dữ liệu cho thấy bậc tự do (r-1)(c-1) = (2-1)(2- 1) = 1. Với 1 bậc tự do, giá trị cần để bác bỏ giả thiết này ở mức 0.001 là 10.828. Và với giá trị tính được như trên 507.93 > 10.828 nên chúng ta có thể bát bỏ giả thuyết sở thích đọc là độc lập với giới tính. Và kết luận rằng: hai thuộc tính này có một quan hệ tương quan khá mạnh trong nhóm người được khảo sát. 38 Tích hợp dữ liệu (data integration)  Phân tích tương quan giữa hai thuộc tính số A và B (Correlation coefficient) Trong đó: - N là số bộ - ai và bi là các giá trị của thuộc tính A và B tại bộ thứ i - và là giá trị trung bình tương ứng của A và B - σA và σB biểu diễn độ lệch chuẩn của A và B - là tổng của tích AB (với mỗi bộ, giá trị của thuộc tính A được nhân với giá trị của thuộc tính b trong bộ đó) - Lưu ý rằng: -1<=r A,B <= +1 39 Tích hợp dữ liệu (data integration) A B  Dư thừa dữ liệu:  Nếu r A,B lớn hơn 0, thì A và B có khả năng có mối liên hệ tương quan với nhau, nghĩa là nếu giá trị A tăng thì giá trị của B cũng tăng lên. Giá trị này càng cao thì mối quan hệ càng chặt chẽ. Và hệ quả là nếu giá trị đủ cao thì một trong hai thuộc tính A (hoặc B) có thể được loại bỏ.  Nếu r A,B bằng 0 thì A và B là độc lập với nhau và giữa chúng không có mối quan hệ nào.  Nếu r A,B nhỏ hơn 0 thì A và B có mối quan hệ tương quan nghịch, khi đó nếu một thuộc tính tăng thì giá trị của thuộc tính kia giảm đi. 40 Tích hợp dữ liệu (data integration)  Dư thừa dữ liệu:  Chú ý rằng, nếu giữa A và B có mối quan hệ tương quan thì không có nghĩa chúng có mối quan hệ nhân quả, nghĩa là A hoặc B biến đổi là do sự tác động từ thuộc tính kia.  Ví dụ có thể xem xét mối quan hệ tương quan giữa số bệnh viện và số vụ tai nạn ô tô ở một địa phương. Hai thuộc tính này thực sự không có quan hệ nhân quả trực tiếp mà chúng quan hệ nhân quả với một thuộc tính thứ 3 là dân số 41 Tích hợp dữ liệu (data integration) 42  Phân tích tương quan giữa hai thuộc tính số A và B (Covariance)  Covariance tương tự với correlation  Covariance giữa A và B được định nghĩa như sau: Tích hợp dữ liệu (data integration) Correlation coefficient:  It can be simplified in computation as  Suppose two stocks A and B have the following values in one week: (2, 5), (3, 8), (5, 10), (4, 11), (6, 14).  Question: If the stocks are affected by the same industry trends, will their prices rise or fall together? - E(A) = (2 + 3 + 5 + 4 + 6)/ 5 = 20/5 = 4 - E(B) = (5 + 8 + 10 + 11 + 14) /5 = 48/5 = 9.6 - Cov(A,B) = (2×5+3×8+5×10+4×11+6×14)/5 − 4 × 9.6 = 4  Thus, A and B rise together since Cov(A, B) > 0. Tích hợp dữ liệu (data integration) Ví dụ: Covariance 44  Phân tích tương quan giữa hai thuộc tính số A và B Tích hợp dữ liệu (data integration) A B A B A B A B A B  Vấn đề mâu thuẫn giá trị dữ liệu - Cho cùng một thực thể thật, các giá trị thuộc tính đến từ các nguồn dữ liệu khác nhau có thể khác nhau về cách biểu diễn (representation), đo lường (scaling), và mã hóa (encoding).  Representation: “2004/12/25” với “25/12/2004”.  Scaling: thuộc tính weight trong các hệ thống đo khác nhau với các đơn vị đo khác nhau, thuộc tính price trong các hệ thống tiền tệ khác nhau với các đơn vị tiền tệ khác nhau.  Encoding: “yes” và “no” với “1” và “0”. 45 Tích hợp dữ liệu (data integration) Biến đổi dữ liệu (data transformation)  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. Ví dụ thấy rằng doanh số bán hàng hàng ngày có thể được tổng hợp để tính toán hàng tháng và hàng năm. 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 46 Biến đổi dữ liệu (data transformation)  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ư: - 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. - Ví dụ, các thuộc tính phân loại ví dụ như “Đường phố” có thể khái quát hóa lên mức cao hơn thành “Thành phố” hay “Quốc gia”. Tương tự như vậy các giá trị số, như tuổi có thể được ánh xạ lên khái niệm cao hơn như “Trẻ”, “Trung niên”, “Có tuổi” 47 Biến đổi dữ liệu (data transformation)  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ư: - 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ỏ hơn ví dụ như từ -1.0 đến 1.0, hoặc từ 0.0 đến 1.0 - 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á. 48  Chuẩn hóa: - Một thuộc tính được chuẩn hóa bằng cách ánh xạ một cách có tỉ lệ dữ liệu về một khoảng xác định ví dụ như 0.0 đến 1.0. - Chuẩn hóa là một phần hữu ích của thuật toán phân lớp trong mạng noron, hoặc thuật toán tính toán độ lệch sử dụng trong việc phân lớp hay nhóm cụm các phần tử liền kề. Chúng ta sẽ xem xét ba phương pháp:  min-max  z-score  Normalization by decimal scaling 49 Biến đổi dữ liệu (data transformation)  Chuẩn hóa Min-Max: - Thực hiện một biến đổi tuyến tính trên dữ liệu ban đầu. Giả sử rằng minA và maxA là giá trị tối thiểu và tối đa của thuộc tính A. Chuẩn hóa min-max sẽ ánh xạ giá trị v của thuộc tính A thành v’ trong khoảng [new_minA, new_maxA] bằng cách tính toán : 50 Biến đổi dữ liệu (data transformation)  Chuẩn hóa Min-Max: - Ví dụ: Giả sử giá trị nhỏ nhất và lớn nhất cho thuộc tính “thu nhập bình quân” là 500.000 và 4.500.000. Chúng ta muốn ánh xạ giá trị 2.500.000 về khoảng [0.0, 1.0] sử dụng chuẩn hóa min-max. Giá trị mới thu được là 51 Biến đổi dữ liệu (data transformation)  Chuẩn hóa z-score: - Với phương pháp này, các giá trị của một thuộc tính A được chuẩn hóa dựa vào độ lệch tiêu chuẩn và trung bình của A. Một giá trị v của thuộc tính A được ánh xạ thành v’ như sau: - Với ví dụ phía trên: Giả sử thu nhập bình quân có độ lệch tiêu chuẩn và trung bình là: 500.000 và 1.000.000. Sử dụng phương pháp z-score thì giá trị 2.500.000 được ánh xạ thành 52 Biến đổi dữ liệu (data transformation)  Chuẩn hóa thay đổi số chữ số phần thập phân (decimal scale): - Phương pháp này sẽ di chuyển dấu phân cách phần thập phân của các giá trị của thuộc tính A. - Số chữ số sau dấu phân cách phần thập phân được xác định phụ thuộc vào giá trị tuyệt đối lớn nhất có thể có của thuộc tính A. Khi đó giá trị v sẽ được ánh xạ thành v’ bằng cách tính: 53 Biến đổi dữ liệu (data transformation)  Chuẩn hóa thay đổi số chữ số phần thập phân (decimal scale): - Trong đó j là giá trị nguyên nhỏ nhất thỏa mãn Max(|v’|) < 1 - Ví dụ: Giả sử rằng các giá trị của thuộc tính A được ghi nhận nằm trong khoảng -968 đến 917. Giá trị tuyệt đối lớn nhất của miền là 986. Để thực hiện chuẩn hóa theo phương pháp ánh xạ này, trước đó chúng ta mang các giá trị chia cho 1.000 (j = 3). Như vậy giá trị -986 sẽ chuyển thành -0.986 và 917 được chuyển thành 0.917 54 Biến đổi dữ liệu (data transformation)  Việc khai phá dữ liệu luôn được tiến hành trên các kho dữ liệu khổng lồ và phức tạp.  Các kỹ thuật khai phá khi áp dụng trên chúng luôn tốn thời gian cũng như tài nguyên của máy tính.  Do vậy đòi hỏi chúng cần được thu giảm trước khi áp dụng các kỹ thuật khai phá. 55 Thu giảm dữ liệu (data reduction):  Một số chiến lược thu giảm dữ liệu như sau: - Tổng hợp khối dữ liệu (data cube aggregation) - Thu giảm chiều (dimensionality reduction)  Chọn một số thuộc tính (attribute subset selection)  Chuyển dạng sóng (Wavelet Transformation)  Phân tích thành phần chính (Principal Component Analysis ) - Thu giảm lượng (numerosity reduction) - Nén dữ liệu - Rời rạc hóa (discretization) - Tạo phân cấp ý niệm (concept hierarchy generation) 56 Thu giảm dữ liệu (data reduction):  Tổng hợp khối dữ liệu (data cube aggregation): Hãy xem xét dữ liệu bán hàng của một đơn vị, các dữ liệu đó được tổ chức báo cáo theo hàng quý cho các năm từ 2008 đến 2010. Tuy nhiên việc khai phá dữ liệu lại quan tâm hơn đến các báo cáo bán hàng theo năm chứ không phải theo từng quý. Do đó các dữ liệu nên được tổng hợp thành báo cáo tổng về tình hình bán hàng theo năm hơn là theo quý 57 Sum() cube: Sale Thu giảm dữ liệu (data reduction):  Tổng hợp khối dữ liệu(data cube aggregation) - Phân cấp khái niệm có thể tồn tại ở mỗi thuộc tính, nó cho phép phân tích dữ liệu ở nhiều mức trừu tượng. - Ví dụ: phân cấp chi nhánh cho phép các chi nhánh được nhóm lại theo từng vùng dựa trên địa chỉ. Khối dữ liệu cho phép truy cập nhanh đến các dữ liệu đã tính toán, tổng hợp do vậy nó khá phù hợp với các quá trình khái phá. 58 Thu giảm dữ liệu (data reduction):  Tổng hợp khối dữ liệu(data cube aggregation) - Các khối dữ liệu được tạo ở mức trừu tượng thấp thường được gọi là cuboid. Các cuboid tương ứng với một tập thực thể nào đó ví dụ như người bán hàng, khách hàng. Các khối này cung cấp nhiều thông tin hữu dụng cho quá trình phân tích. Khối dữ liệu ở mức trừu tượng cao gọi là apex cuboid, trong hình trên thể hiện dữ liệu bán hàng cho cả 3 năm, tất cả các loại mặt hàng và các chi nhánh. Khối dữ liệu được tạo từ nhiều mức trừu tượng thường được gọi là cuboids, do vậy khối dữ liệu thường được gọi bằng tên khác là lưới cuboids. 59 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính: - Nguồn dữ liệu dùng phân tích có thể chứa hàng trăm thuộc tính, rất nhiều trong số đó có thể không cần cho việc phân tích hoặc chúng là dư thừa. - Ví dụ: nếu nhiệm vụ phân tích chỉ liên quan đến việc phân loại khách hàng xem họ có hoặc không muốn mua một đĩa nhạc mới hay không. Khi đó thuộc tính điện thoại của khách hàng là không cần thiết khi so với các thuộc tính như độ tuổi, sở thích âm nhạc 60 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính: - Mặc dù vậy việc lựa chọn thuộc tính nào cần quan tâm là một việc khó khăn và mất thời gian đặt biệt khi các đặc tính của dữ liệu là không rõ ràng. Giữ các thuộc tính cần, bỏ các thuộc tính không hữu ích cũng sẽ có thể gây nhầm lẫn, và sai lệch kết quả của các thuật toán khai phá dữ liệu. - Phương pháp này rút gọn kích thước dữ liệu bằng cách loại bỏ các thuộc tính không hữu ích hoặc dư thừa (hoặc loại bỏ các chiều). Mục đích chính là tìm ra tập thuộc tính nhỏ nhất sao cho khi áp dụng các phương pháp khai phá dữ liệu thì kết quả thu được là gần sát nhất với kết quả khi sử dụng tất cả các thuộc tính. 61 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính - Vậy làm cách nào để tìm ra một tập thuộc tính con đủ tốt từ tập thuộc tính ban đầu. - Với N thuộc tính chúng ta sẽ có 2n tập thuộc tính con. Việc phát sinh và xem xét hết các tập này là khá tốn công sức cũng như tài nguyên, đặc biệt khi N và số các lớp dữ liệu tăng lên. - Do vậy cần có các phương pháp khác, một trong số đó là phương pháp tìm kiếm tham lam, nó sẽ duyệt qua không gian thuộc tính và tìm kiếm các lựa chọn tốt nhất vào thời điểm xét. 62 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính 63 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính - Các kỹ thuật lựa chọn thường dùng như:  Lựa chọn tăng dần: Xuất phát từ một tập rỗng các thuộc tính, các thuộc tính tốt nhất mỗi khi xác định được sẽ được thêm vào tập này. Lặp lại bước trên cho đến khi không thêm được thuộc tính nào nữa.  Loại bớt: Xuất phát từ tập có đầy đủ các thuộc tính. Ở mỗi bước loại ra các thuộc tính tồi nhất.  Kết hợp giữa phương pháp loại bớt và lựa chọn tăng dần bằng cách tại mỗi bước ngoài việc lựa chọn thêm các thuộc tính tốt nhất đưa vào tập thì cũng đồng thời loại bỏ đi các thuộc tính tồi nhất khỏi tập đang xét.  Cây quyết định: Khi sử dụng, cây được xây dựng từ nguồn dữ liệu ban đầu. Tất cả các thuộc tính không xuất hiện trên cây được coi là không hữu ích. Tập các thuộc tính có trên cây sẽ là tập thuộc tính rút gọn 64 Thu giảm dữ liệu (data reduction):  Chọn một số thuộc tính: - Việc lựa chọn ra thuộc tính tốt (xấu) được xác định thông qua các phép kiểm thống kê, trong đó giả sử rằng thuộc tính đang xét là độc lập với các thuộc tính khác hoặc phương pháp đánh giá thuộc tính sử dụng độ đo thông tin thường được dùng trong việc xây dựng cây quyết định phân lớp 65 Thu giảm dữ liệu (data reduction):  Biến đổi wavelet (wavelet transforms) - Discrete wavelet transform (DWT) là kỹ thuật xử lý tín hiệu dạng linear mà khi áp dụng với vector dữ liệu X, chuyển vector đó thành 1 vector khác dạng số X’: wavelet coefficients. Hai vector này có cùng độ dài. - Khi áp dụng kỹ thuật này để thu giảm dữ liệu, chúng ta giả sử rằng mỗi bộ như là 1 vector dữ liệu n- chiều là X = (x1, x2, , x3) 66 Thu giảm dữ liệu (data reduction):  Biến đổi wavelet (wavelet transforms) - Dữ liệu được chuyển đổi thành dạng sóng có thể bị cắt bỏ bớt. - Phép tính xấp xỉ nén của dữ liệu: chỉ lưu một mảnh nhỏ các hệ số sóng lớn nhất của wavelet coefficients - DWT thì tương tự như Discrete Fourier transform (DFT), nhưng nén tổn thất tốt hơn, có nghĩa là cùng số lượng coefficient được giữ lại trong DWT và DFT của 1 vector cho sẵn, thì DWT sẽ cho ra kết quả xấp xỉ chính xác so với dữ liệu ban đầu hơn. 67 Thu giảm dữ liệu (data reduction):  Biến đổi wavelet (wavelet transforms) - Do vậy, đối với một phép xấp xỉ tương đương, DWT yêu cầu nhiều bộ nhớ hơn so với DFT. - Chuyển đổi Wavelet có thể được áp dụng trong không gian đa chiều chẳng hạn như khối dữ liệu (data cube). - Chuyển đổi Wavelet cho kết quả tốt đối với dữ liệu thưa thớt hay bị lệch và với dữ liệu với các thuộc tính có thứ tự. - Chuyển đổi Wavelet có nhiều ứng dụng trong thực tế: nén ảnh, computer vision,, phân tích dữ liệu chuỗi thời gian, làm sạch dữ liệu 68 Thu giảm dữ liệu (data reduction): 69 DWT cho nén ảnh Image Low Pass High Pass Low Pass High Pass Low Pass High Pass Thu giảm dữ liệu (data reduction):  Biến đổi wavelet (wavelet transforms) - Do vậy, đối với một phép xấp xỉ tương đương, DWT yêu cầu nhiều bộ nhớ hơn so với DFT. - Chuyển đổi Wavelet có thể được áp dụng trong không gian đa chiều chẳng hạn như khối dữ liệu (data cube). - Chuyển đổi Wavelet cho kết quả tốt đối với dữ liệu thưa thớt hay bị lệch và với dữ liệu với các thuộc tính có thứ tự. - Chuyển đổi Wavelet có nhiều ứng dụng trong thực tế: nén ảnh, computer vision, phân tích dữ liệu chuỗi thời gian, làm sạch dữ liệu 70 Thu giảm dữ liệu (data reduction):  Phân tích thành phần chính (Principal Component Analysis ) - Cho N vector dữ liệu k-chiều, tìm c (<= k) vector trực giao tốt nhất để trình diễn dữ liệu.  Tập dữ liệu gốc được rút gọn thành N vector dữ liệu c chiều: c thành phần chính (chiều được rút gọn). - Mỗi vector dữ liệu là tổ hợp tuyến tính của các vector thành phần chính. - Chỉ áp dụng cho dữ liệu số 71 Thu giảm dữ liệu (data reduction):  Phân tích thành phần chính (Principal Component Analysis ) - Dùng khi số chiều vector lớn. - Có thể sử dụng với các dữ liệu thưa thớt hay bị lệch. - Có thể áp dụng cho các thuộc tính có thứ tự và không thứ tự - So với chuyển đổi wavelet, PCA có khuynh hướng tốt hơn đối với dữ liệu thưa thớt, trong khi đó chuyển đổi wavelet thích hợp hơn đối với dữ liệu đa chiều. 72 Thu giảm dữ liệu (data reduction):  Phân tích thành phần chính (Principal Component Analysis )  Y1, Y2 là thành phần chính ban đầu được ánh xạ sang X1, X2 Thu giảm dữ liệu (data reduction): X1 X2 Y1 Y2  Thu giảm lượng (numerosity reduction) - Các kỹ thuật giảm lượng dữ liệu bằng các dạng biểu diễn dữ liệu thay thế. - Các phương pháp có thông số (parametric): mô hình ước lượng dữ liệu  các thông số được lưu trữ thay cho dữ liệu thật  Hồi quy - Các phương pháp phi thông số (nonparametric): lưu trữ các biểu diễn thu giảm của dữ liệu  Histogram, Clustering, Sampling 74 Thu giảm dữ liệu (data reduction):  Histogram - Chia dữ liệu thành các buckets và lưu giá trị trung bình(tổng) vào mỗi bucket - Partitioning rules:  Equal-width: equal bucket range  Equal-frequency (or equal-depth) 75 Thu giảm dữ liệu (data reduction): 0 5 10 15 20 25 30 35 40 10000 30000 50000 70000 90000  Clustering - Phân chia dữ liệu vào các nhóm và lưu biểu diễn của nhóm Thu giảm dữ liệu (data reduction):  Sampling (With or without Replacement) - Dùng tập ngẫu nhiên nhỏ hơn để thay tập dữ liệu lớn - Phương pháp lấy mẫu ngẫu nhiên không thay thế (SRSWOR) - Phương pháp lấy mẫu ngẫu nhiên có thay thế (SRSWR) - Phương pháp lấy mẫu theo nhóm/cấp (Cluster or Stratified Sampling) 77 Thu giảm dữ liệu (data reduction): Raw Data  Sampling (Cluster or Stratified Sampling) 78 Thu giảm dữ liệu (data reduction): Raw Data Cluster/Stratified Sample 79  Nén dữ liệu (data compression) - String compression - Audio/video compression - Time sequence is not audio - Dimensionality and numerosity reduction may also be considered as forms of data compression Thu giảm dữ liệu (data reduction): 80 Nén dữ liệu (data compression) Original Data Compressed Data lossless Original Data Approximated Thu giảm dữ liệu (data reduction): Rời rạc hóa dữ liệu  Giảm số lượng giá trị của một thuộc tính liên tục (continuous attribute) bằng các chia miền trị thuộc tính thành các khoảng (intervals)  Các nhãn (labels) được gán cho các khoảng (intervals) này và được dùng thay giá trị thực của thuộc tính  Các trị thuộc tính có thể được phân hoạch theo một phân cấp (hierarchical) hay ở nhiều mức phân giải khác nhau (multiresolution) 81 Rời rạc hóa dữ liệu  Rời rạc hóa dữ liệu cho các thuộc tính số (numeric attributes) - Các phân cấp ý niệm được dùng để thu giảm dữ liệu bằng việc thu thập và thay thế các ý niệm cấp thấp bởi các ý niệm cấp cao. - Các phân cấp ý niệm được xây dựng tự động dựa trên việc phân tích phân bố dữ liệu. - Chi tiết của thuộc tính sẽ bị mất. - Dữ liệu đạt được có ý nghĩa và dễ được diễn dịch hơn, đòi hỏi ít không gian lưu trữ hơn. 82 Rời rạc hóa dữ liệu  Các phương pháp rời rạc hóa dữ liệu cho các thuộc tính số - Binning - Histogram analysis - Interval merging by 2 analysis - Cluster analysis - Entropy-based discretization - Discretization by “natural/intuitive partitioning” 83 Tạo cây phân cấp ý niệm  Dữ liệu phân loại (categorical data) - Dữ liệu rời rạc (discrete data) - Miền trị thuộc tính phân loại (categorical attribute)  Số giá trị phân biệt hữu hạn  Không có thứ tự giữa các giá trị  Tạo phân cấp ý niệm cho dữ liệu rời rạc 84 Tạo cây phân cấp ý niệm  Các phương pháp tạo phân cấp ý niệm cho dữ liệu rời rạc (categorical/discrete data) - Đặc tả thứ tự riêng phần (partial ordering)/thứ tự toàn phần (total ordering) của các thuộc tính tường minh ở mức lược đồ bởi người sử dụng hoặc chuyên gia:  street < city < state < country - Đặc tả một phần phân cấp bằng cách nhóm dữ liệu tường minh:  {Urbana, Champaign, Chicago} < Illinois 85 Tạo cây phân cấp ý niệm  Các phương pháp tạo phân cấp ý niệm cho dữ liệu rời rạc (categorical/discrete data) - Đặc tả chỉ một tập riêng phần các thuộc tính (partial set of attributes)  E.g., only street < city, not others - Tạo phân cấp tự động (hay các mức thuộc tính) bằng cách phân tích số lượng các giá trị phân biệt  E.g., for a set of attributes: {street, city, state, country} 86 Tóm tắt  Dữ liệu thực tế: không đầy đủ (incomplete/missing), nhiễu (noisy), không nhất quán (inconsistent)  Quá trình tiền xử lý dữ liệu - Làm sạch dữ liệu: xử lý dữ liệu bị thiếu, làm trơn dữ liệu nhiễu, nhận dạng các phần tử biên, hiệu chỉnh dữ liệu không nhất quán - Tích hợp dữ liệu: vấn đề nhận dạng thực thể, vấn đề dư thừa, vấn đề mâu thuẫn giá trị dữ liệu - Biến đổi dữ liệu: làm trơn dữ liệu, kết hợp dữ liệu, tổng quát hóa, chuẩn hóa, xây dựng thuộc tính/đặc tính - Thu giảm dữ liệu: kết hợp khối dữ liệu, chọn một số thuộc tính, thu giảm chiều, rời rạc hóa và tạo phân cấp ý niệm 87 Tóm tắt  Rời rạc hóa dữ liệu - Thu giảm số trị của một thuộc tính liên tục (continuous attribute) bằng cách chia miền trị thành các khoảng (interval) có dán nhãn. Các nhãn này được dùng thay cho các giá trị thực. - Tiến hành theo hai cách: trên xuống (top down) và dưới lên (bottom up), có giám sát (supervised) và không có giám sát (unsupervised). - Tạo phân hoạch phân cấp/đa phân giải (multiresolution) trên các trị thuộc tính  phân cấp ý niệm cho thuộc tính số (numerical attribute)  Tạo cây phân cấp ý niệm - Hỗ trợ khai phá dữ liệu ở nhiều mức trừu trượng - Cho thuộc tính số (numerical attributes): binning, histogram analysis, entropy- based discretization, 2-merging, cluster analysis, discretization by intuitive partitioning - Cho thuộc tính phân loại/rời rạc (categorical/discrete attributes): chỉ định tường minh bởi người sử dụng hay chuyên gia, nhóm dữ liệu tường minh, dựa trên số lượng trị phân biệt (khác nhau) của mỗi thuộc tính 88

Các file đính kèm theo tài liệu này:

  • pdf2_data_mining_tienxulydulieu_chapter_21_564.pdf