Bạn là một chuyên gia marketing, bạn là một nhà quảng cáo. Hằng ngày, bạn tiếp xúc rất nhiều đến dữ liệu bán hàng cũng như dữ liệu về khách hàng, và bạn khá rối trong việc đọc thông số của những dữ liệu đó. Do đó, ta không thể giữ nguyên dữ liệu đó mà đi phân tích được. Đặc biệt là trong lĩnh vưc quảng cáo, thử tưởng tượng xem, bạn có tập dữ liệu 1 tỷ khách hàng và bạn vứt vào target UID của facebook, chuyện gì xảy ra, facebook ads sẽ phung phí tiền của bạn để quảng cáo đến 1 tỷ khách hàng đó. Như vậy, chúng ta cần phải tiền xử lý dữ liệu trước khi khai phá dữ liệu. Vậy tiền xử lý dữ liệu là gì, mời bạn đọc tiếp phần sau.
Tổng quan
Có bao giờ bạn đã nghe nói đến cụm từ “garbage in, garbage out”, một cụm từ khá quen thuộc trong lĩnh vực khai phá dữ liệu. Hãy thử tưởng tượng xem, bạn có trong tay một lượng lớn dữ liệu, nhưng những dữ liệu đó cung cấp cho bạn được bao nhiêu thông tin cần thiết, và chúng ta có thể tin cậy vào những thông tin đó hay không. Thông tin mà chúng ta nhận được thường khá nhiều, nhưng đa số lại chứa những dữ liệu nhiễu (noisy data), hoặc những dữ liệu dư thừa (redundant data). Chẳng hạn, khi đọc dữ liệu về tình hình thu nhập trong thành phố, có những giá trị mà chẳng ai muốn nó xuất hiện, ví dụ, thu nhập hàng tháng của Jerry là -100.000 vnd. Thu nhập mà có âm ư??? Trừ khi Jerry đang thiếu nợ ngân hàng!!!
“Garbage in, garbage out”, đầu vào là rác thì đầu ra cũng sẽ là rác. Nếu chúng ta cung cấp một tập dữ liệu chứa thông tin rác, thì kết quả cuối cùng chúng ta nhận được cũng sẽ là rác. Do đó, khi nhận được một lượng lớn dữ liệu, việc đầu tiên mà chúng ta cần nghĩ đến là tiền xử lý tập dữ liệu đó, để có thể hạn chế rác (garbage) và sử dụng chúng để khai phá sau này.
Như vậy, giai đoạn tiền xử lý dữ liệu (pre-processing) là quá trình xử lý dữ liệu thô (original data) nhằm cải thiện chất lượng dữ liệu (quality of the data).
Một tập dữ liệu (data set) được gọi là chất lượng (quality), thì chúng phải thỏa mãn các đặc tính sau: tính chính xác (accuracy), tính đầy đủ (completeness), tính toàn vẹn (consistency), tính kịp thời (timeness), độ tin cậy cao (believability) và có khả năng biểu diễn được (interpretability)
Các kĩ thuật tiền xử lý
Trong phần này, tôi sẽ giới thiệu các kỹ thuật trong quy trình tiền xử lý dữ liệu (data preprocessing), bao gồm: làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), thu giảm dữ liệu (data reduction) và biến đổi dữ liệu (data transform)
Làm sạch dữ liệu
Trên thực tế, dữ liệu thường có xu hướng không đầy đủ (incomplete), bị nhiễu (noisy) và không toàn vẹn dữ liệu (inconsistent). Việc làm sạch dữ liệu (data cleaning) sẽ giúp ta xử lý những vấn đề nêu trên
Tích hợp dữ liệu
Công việc khai phá dữ liệu đôi khi cần phải tích hợp dữ liệu. Tích hợp dữ liệu (integration) là quá trình hợp nhất dữ liệu từ nhiều kho dữ liệu khác nhau.
Việc tích hợp dữ liệu cẩn thận có thể sẽ giúp ta thu giảm (reduce), tránh dư thừa dữ liệu (redundant data) và tránh mất đi tính toàn vẹn dữ liệu (inconsistent data) trong tập dữ liệu. Đồng thời, tích hợp dữ liệu còn giúp ta cải thiện độ chính xác (accuracy) và tốc độ cho quá trình khai phá dữ liệu sau này.
Thu giảm dữ liệu
Hãy tưởng tượng xem, bạn được giao một nhiệm vụ là phân tích tập dữ liệu supermarket, tập dữ liệu này mô tả danh mục sản phẩm trong siêu thị và lượng giao dịch hằng ngày. Tuy nhiên, tập dữ liệu này khá lớn, việc phân tích dữ liệu cũng trở nên phức tạp hơn, và khai phá từ tập dữ liệu lớn như vậy sẽ tiêu tốn rất nhiều thời gian, dẫn đến việc phân tích tập dữ liệu này trở nên bất khả thi và phi thực tế.
Như vậy, thu giảm dữ liệu (data reduction) là kỹ thuật loại bỏ những thuộc tính dư thừa khỏi tập dữ liệu ban đầu mà không làm ảnh hưởng (hoặc nằm trong ngưỡng cho phép) đến kết quả của việc khai phá sau này. Việc khai phá từ tập dữ liệu sau khi được thu giảm sẽ giúp cải thiện tốc độ và hiệu năng hơn so với tập dữ liệu ban đầu
Biến đổi & rời rạc hóa
Biến đổi dữ liệu (data transform) là quá trình chuyển đổi dữ liệu từ dạng này sang dạng khác phù hợp với quá trình khai phá dữ liệu, làm cho việc khai phá dữ liệu trở nên hiệu quả, và các mô hình trở nên dễ hiểu hơn
Rời rạc hóa dữ liệu (data discretization) là quá trình ánh xạ các giá trị numeric liên tục (continue) thành các khoảng (bins) nhất định để tăng độ tổng quát thông tin, giúp cho việc đơn giản hóa việc biểu diễn cũng như xử lý trên dữ liệu số
Tổng kết
Thông qua bài viết này, ta có thể thấy dữ liệu trong thực tế thường có chất lượng xấu. Sau khi tiền xử lý dữ liệu, ta sẽ dễ dàng sử dụng chúng để tiến hành khai thác dữ liệu sau này.