Trong việc chuyển đổi dữ liệu, dữ liệu được chuyển đổi hoặc hợp nhất thành những dạng phù hợp cho việc khai thác. Chuyển đồi dữ liệu gồm những việc sau:
- Làm mịn: khử nhiễu cho dữ liệu. Có thể dùng các kỹ thuật như binning, regression, clustering.
- Tập hợp dữ liệu: tóm tắt, xây dựng các khối dữ liệu (data cube). Ví dụ: doanh số bán hàng hàng ngày có thể được tập hợp lại thành doanh số của tháng hoặc năm.
- Tổng quát hóa dữ liệu: các dữ liệu thô hoặc ở cấp thấp sẽ được thay thế bằng những khái niệm cao hơn thông qua việc sử dụng 1 hệ thống phân cấp khái niệm. Ví dụ: các dữ liệu rời rạc như “đường phố” có thể được tổng quát lên thành những khái niệm cao hơn như “thành phố” hoặc “quốc gia”. Tương tự, giá trị của các thuộc tính số, như “tuổi” cũng có thể được chuyển thành các khái niệm ở mức cao hơn như “trẻ”, “trung niên” và “già”
- Chuẩn hóa dữ liệu: các dữ liệu thuộc tính sẽ được đưa về 1 khoảng nhỏ, như -1 đến 1, hoặc 0 đến 1.
- Xây dựng thuộc tính mới: xây dựng thuộc tính mới và đưa vào tập thuộc tính nhằm phục vụ quá trình mining.
Làm mịn dữ liệu là 1 dạng của làm sạch dữ liệu đã được trình bày trong phần trước. Tập hợp và tổng quát hóa dữ liệu là những dạng của quá trình “thu gọn dữ liệu” (data reduction) sẽ được đề cập đến sau. Trong phần này, chúng ta tập trung trình bày về chuẩn hóa dữ liệu và xây dựng thuộc tính mới.
Một thuộc tính được chuẩn hóa bằng cách đưa giá trị của nó vào 1 khoảng nhỏ xác định, như từ 0.0 đến 0.1. Chuẩn hóa có ích trong các thuật toán phân lớp liên quan đến mạng neural, hoặc phân lớp và phân loại dựa vào độ đo khoảng cách ”người láng giềng gần nhất”. Nếu sử dụng thuật toán “neural network backpropagation” để khai thác phân lớp, thì việc chuẩn hóa dữ liệu với mỗi thuộc tính trong tập dữ liệu huấn luyện sẽ giúp tăng tốc quá trình học. Với các phương pháp dựa vào khoảng cách, chuẩn hóa giúp ngăn chặn các thuộc tính nằm trong 1 khoảng giá trị lớn (vd: thu nhập). Có nhiều phương pháp để chuẩn hóa dữ liệu. Chúng ta tìm hiểu 3 phương pháp là: chuẩn hóa min-max, chuẩn hóa z-score và chuẩn hóa tỉ lệ thập phân.
Chuẩn hóa min-max thực hiện việc chuẩn hóa tuyến tính trên dữ liệu gốc.
Giả sử minA và maxA là giá trị nhỏ nhất và lớn nhất của thuộc tính A. Chuẩn hóa min-max sẽ ánh xạ giá trị v của A sang giá trị v’ nằm trong khoảng [new_minA, new_maxA] bằng công thức sau:
A A A A A A min new min new max new min max min v v' ( _ − _ )+ _ − − =
Chuẩn hóa min-max bảo đảm mối quan hệ giữa các giá trị của dữ liệu gốc. Nó sẽ phát hiện ra được các lỗi “vượt quá giới hạn” nếu các dữ liệu input trong tương lai rơi ra ngoài khoảng giá trị ban đầu của A.
Ví dụ: Giả sử rằng giá trị nhỏ nhất và lớn nhất của thuộc tính thu nhập là là 12000 và 98000. Chúng ta muốn ánh xạ giá trị thu nhập vào khoảng [0.0… 1.0].
Với chuẩn hóa min-max thì giá trị 73000 sẽ được chuyển thành: 716 . 0 0 ) 0 0 . 1 ( 000 , 12 000 , 98 000 , 12 600 , 73 = + − − −
Chuẩn hóa z-score
Trong chuẩn hóa z-score, các giá trị của thuộc tính A sẽ được chuẩn hóa dựa trên giá trị trung bình và độ lệch chuẩn của A. Một giá trị v của A sẽ được chuẩn hóa thành giá trị v’ bằng công thức sau:
A A v v σ µ − = ' Chú thích:
µA: giá trị trung bình của A
σA: độ lệch chuẩn của A
Phương pháp chuẩn hóa này hữu ích trong trường hợp ta không biết được giá trị nhỏ nhất và lớn nhất của A, hoặc khi có những giá trị cá biệt (outlier) “thống trị” chuẩn hóa min-max
Ví dụ: Giả sử rằng giá trị trung bình và độ lệch chuẩn của thuộc tính “thu nhập” là 54000 và 16000. Với cách chuẩn hóa z-score, giá trị 73000 sẽ được chuyển
thành 1.225 000 , 16 000 , 54 600 , 73 = −
Chuẩn hóa bằng tỉ lệ thập phân (decimal scaling)
Theo phương pháp này, giá trị v sẽ được chuẩn hóa bằng cách dời dấu phẩy thập phân của nó, dựa vào giá trị tuyệt đối lớn nhất của A. Một giá trị v sẽ được chuẩn hóa thành v’ bởi công thức sau:
j
v v
10 '=
Trong đó j là số nguyên nhỏ nhất sao cho Max(|v’|) < 1
Ví dụ: Giả sử giá trị của thuộc tính A nằm trong khoảng từ -986 đến 917. Giá trị tuyệt đối lớn nhất của A là 986. Vậy j=3 (vì 102<986<103). Giá trị 986 sẽ được chuẩn hóa thành -0.986 và 917 được chuẩn hóa thành 0.917.
Lưu ý rằng việc chuẩn hóa có thể làm thay đổi chút ít giá trị ban đầu, đặc biệt là ở 2 phương pháp sau. Chúng ta cũng cần lưu lại các tham số chuẩn hóa (ví dụ như giá trị trung bình và độ lệch chuẩn nếu dùng chuẩn hóa z-score) để các dữ liệu được bổ sung thêm sau này cũng được chuẩn hóa theo cùng công thức.
Trong việc xây dựng các thuộc tính mới (attribute construction), các thuộc tính mới sẽ được tạo thành dựa vào các thuộc tính đã biết, sau đó được bổ sung để cải thiện độ chính xác và độ hiểu biết về cấu trúc của dữ liệu nhiều chiều. Ví dụ, chúng ta có thể bổ sung thuộc tính “diện tích” dựa vào 2 thuộc tính “chiều rộng” và “chiều cao”. Việc kết hợp thuộc tính như vậy giúp phát hiện ra những thông tin bị thiếu về mối quan hệ giữa các thuộc tính mà có thể hữu ích trong việc khai phá tri thức.
Phần 2.5. Thu gọn dữ liệu
Yêu cầu về thu gọn dữ liệu được quan tâm khi bạn phải tiến hành phân tích trên một cơ sở dữ liệu khổng lồ chứa hàng Tetra-bytes dữ liệu (!). Một điều hiển nhiên là bạn không thể tự phân tích bằng cách tự mình duyệt qua các bảng số liệu, do đó bạn phải tiến hành phân tích thông qua máy tính để thu được kết quả trong thời gian hợp lý. Tuy nhiên, đối với những cơ sở dữ liệu có kích thước quá lớn như vậy thì ngay cả máy tính cũng phải mất hàng thế kỷ nếu phân tích trực tiếp trên dữ liệu thô.
Chính vì vậy, một số kỹ thuật thu gọn dữ liệu được đề xuất có khả năng rút ra dạng biểu diễn rút gọn của dữ liệu thô mà vẫn đảm bảo tính toàn vẹn của dữ liệu. Các mô hình phân tích dữ liệu nhờ đó sẽ được cải tiến cả về mặt tốc độ lẫn chất lượng. Các kỹ thuật chính nhằm thu gọn dữ liệu bao gồm :
• Lựa chọn tập thuộc tính (Attribute Subset Selection) : loại bỏ những thành phần dữ liệu không liên quan hay liên quan ít đến mục đích phân tích dữ liệu để tăng tốc độ phân tích và giảm nhiễu (gây ra bởi các thuộc tính dư thừa không liên quan) từ đó nâng cao chất lượng phân tích dữ liệu.
• Giảm chiều dữ liệu (Dimensionality Reduction) : chiếu các điểm dữ liệu (data-point) lên một không gian ít chiều hơn nhằm đơn giản hoá dữ liệu mà không làm giảm chất lượng kết quả phân tích.
• Giảm kích thước tập dữ liệu (Numerosity Reduction) : thay vì lưu trữ dữ liệu người ta chỉ quan tâm đến dạng mô hình hóa tham số của dữ liệu. Các tham số này sẽ được ước lượng dựa trên tập dữ liệu thô ban đấu. Sau đó người ta sẽ lưu trữ các tham số này thay vì toàn bộ dữ liệu.