CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VÀ MÔ HÌNH NGHIÊN CỨU 1. Cơ sở lý luận về khai phá dữ liệu 1. Khái niệm Theo Wikipedia: “Khai phá dữ liệu (data mining) là quá trình tính toán để tìm ra các mẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê và các hệ thống cơ sở dữ liệu.
Đây là một lĩnh vực liên ngành của khoa học máy tính. Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp. Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến. Khai thác dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở dữ liệu" hoặc KDD” Khai phá dữ liệu là một bước trong quy trình khám phá tri thức, qua đó trích rút những thông tin hữu ích, những thông tin tiềm ẩn trong khối dữ liệu lớn, từ đó tiến hành phân tích dữ liệu và giải thích dữ liệu trên các tập dữ liệu lớn.
Theo các báo cáo của IBM, chỉ có khoảng 80% dữ liệu đang được khai thác, 20% còn lại là những tri thức tiềm ẩn, vì vậy khai phá dữ liệu là việc hết sức quan trọng trong việc biến dữ liệu thành tri thức. Khai phá dữ liệu đem lại một cái nhìn bao quát về dữ liệu, cung cấp tri thức để hỗ trợ cho việc ra quyết định, tiến hành đưa ra những dự báo cho nhà quản lý. Từ đó có thể phát triển doanh nghiệp. Khai phá dữ liệu là lợi thế của cạnh tranh.
Trong thời đại hiện nay, nếu ta biết sử dụng công nghệ để khai phá dữ liệu sẽ có cơ sở để hiểu khách hàng, từ đó có thể phát triển tốt hơn. Các lĩnh vực ứng dụng chính a. Phân tích dữ liệu tài chính • Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sách tín dụng đối với khách hàng. • Phân tích hành vi của khách hàng (vay, gửi tiền).
• Phân loại và phân nhóm khách hàng phục vụ cho mục tiêu tiếp thị tài chính. 4 • Phát hiện các hoạt động rửa tiền và tội phạm tài chính khác. Công nghiệp bán lẻ • Khai phá dữ liệu trên kho dữ liệu khách hàng. • Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng, khách hàng, sản phẩm, thời gian và khu vực.
• Phân tích tính hiệu quả của các chiến dịch bán hàng, Marketing. • Hỗ trợ quản trị quan hệ khách hàng (CRM). • Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng. Công nghiệp viễn thông • Khai phá dữ liệu trên kho dữ liệu khách hàng.
• Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng, khách hàng, sản phẩm, thời gian và khu vực. • Phân tích tính hiệu quả của các chiến dịch bán hàng, Marketing. • Hỗ trợ quản trị quan hệ khách hàng (CRM). • Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng.
Phân tích dữ liệu sinh học • Khai phá dữ liệu trên kho dữ liệu khách hàng. • Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng, khách hàng, sản phẩm, thời gian và khu vực. • Phân tích tính hiệu quả của các chiến dịch bán hàng, Marketing. • Hỗ trợ quản trị quan hệ khách hàng (CRM).
• Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng. Giáo dục • Phân tích kết quả học tập của sinh viên. • Cá nhân hóa quá trình học tập. • Phân tích và dự báo tỷ lệ bỏ học.
• Phát hiện gian lận trong thi cử. 5 • Hỗ trợ quá trình tư vấn và định hướng nghề nghiệp. Vai trò khai phá cơ sở dữ liệu Vai trò chính của khai phá cơ sở dữ liệu có thể được nhìn nhận qua các khía cạnh sau: • Hỗ trợ ra quyết định: Các kỹ thuật khai phá cơ sở dữ liệu giúp phát hiện các mẫu, xu hướng và mối quan hệ ẩn trong dữ liệu, từ đó cung cấp cơ sở khoa học cho việc ra quyết định hiệu quả trong nhiều lĩnh vực như kinh doanh, giáo dục, y tế, và công nghiệp. • Tối ưu hóa quy trình quản lý dữ liệu: Khai phá dữ liệu giúp tổ chức dữ liệu phức tạp thành các cấu trúc dễ hiểu hơn, tạo điều kiện thuận lợi cho việc lưu trữ, truy xuất và phân tích thông tin.
Điều này đặc biệt hữu ích trong việc quản lý hệ thống thông tin và phát triển các ứng dụng phân tích dữ liệu. • Nâng cao hiệu quả trong dự đoán và phân loại: Các mô hình khai phá dữ liệu, như cây quyết định, mạng nơ-ron nhân tạo hoặc máy học, cho phép xây dựng các hệ thống dự đoán chính xác và hiệu quả, từ việc dự đoán nhu cầu thị trường đến phân loại hành vi của khách hàng hoặc học sinh. • Thúc đẩy đổi mới và sáng tạo: Việc ứng dụng khai phá cơ sở dữ liệu không chỉ mang lại tri thức từ dữ liệu hiện có mà còn khuyến khích phát triển các phương pháp và công nghệ mới nhằm giải quyết các bài toán phức tạp, góp phần thúc đẩy đổi mới trong nghiên cứu và sản xuất. Quy trình xử lý dữ liệu Dưới đây là các bước trong quá trình khai phá tri thức: Hình 1.1: Quy trình khai phá tri thức trong CSDL (Nguồn: Francesco Gullo (2016) From Patterns in Data to Knowledge Discovery: What Data Mining Can Do) 6 Bước 1: Lựa chọn dữ liệu (Data Selection): Đây là bước đầu tiên trong quy trình KDD, trong đó các dữ liệu liên quan từ các nguồn dữ liệu được xác định và lựa chọn để phục vụ cho việc khai phá.
Dữ liệu phải chứa các thông tin có ý nghĩa liên quan đến vấn đề cần giải quyết. Bước 2: Tiền xử lý dữ liệu (Data Preprocessing): Tiền xử lý dữ liệu bao gồm các hoạt động làm sạch dữ liệu, xử lý các giá trị bị thiếu, loại bỏ nhiễu và tích hợp dữ liệu từ nhiều nguồn khác nhau. Bước này giúp cải thiện chất lượng dữ liệu, vì dữ liệu thực tế thường không đầy đủ, chứa nhiễu, hoặc không phù hợp cho các thuật toán khai phá. Bước 3: Biến đổi dữ liệu (Data Transformation): Dữ liệu sau khi làm sạch sẽ được biến đổi và chuẩn hóa thành một dạng phù hợp hơn cho quá trình khai phá.
Quá trình này có thể bao gồm rút trích các thuộc tính, tổng hợp dữ liệu, và giảm số chiều của dữ liệu. Biến đổi các thuộc tính hoặc dữ liệu để các thuật toán khai phá có thể hoạt động hiệu quả hơn. Bước 4: Khai phá dữ liệu (Data Mining): Đây là bước trọng tâm của KDD, nơi các thuật toán khai phá dữ liệu được áp dụng để tìm ra các mẫu hoặc tri thức hữu ích từ dữ liệu. Các phương pháp phổ biến bao gồm phân loại (classification), phân cụm (clustering), phân tích luật kết hợp (association rule learning), và hồi quy (regression).
Chọn phương pháp khai phá dữ liệu phù hợp với mục tiêu của bài toán (dự đoán, phân loại, tìm mẫu…). Bước 5: Đánh giá mẫu (Pattern Evaluation): Sau khi khai phá dữ liệu, các mẫu được tìm ra sẽ cần được đánh giá về độ chính xác, độ tin cậy và ý nghĩa thực tiễn. Mục đích là xác định các mẫu có giá trị và loại bỏ các mẫu không hữu ích. Các mẫu được lựa chọn phải có ý nghĩa thống kê và thực tế để có thể sử dụng làm tri thức.
Bước 6: Biểu diễn tri thức (Knowledge Representation): Sử dụng các kỹ thuật trực quan hóa và biểu diễn tri thức để trình bày tri thức đã khai phá cho người dùng. Một số kỹ thuật khai phá cơ sở dữ liệu cơ bản áp dụng trong đề án 1. Cây quyết định Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật (series of rules). Các thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu khác nhau (Nominal, Ordinal, Quantitative values) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Nominal hoặc Ordinal.
Mục đích chính của cây quyết định là để dự đoán lớp của các đối tượng chưa biết (unseen data). 7 Ví dụ: ứng dụng được cây quyết định trong bài toán phân lớp. • Ta có dữ liệu (training data) về 10 đối tượng (người). Mỗi đối tượng được mô tả bởi 4 thuộc tính là Gender, Car Ownership, Travel Cost/Km, Income Level và 1 thuộc tính phân loại (category attribute) là Transportation mode.
Trong đó các thuộc tính Gender và Car Ownership có kiểu dữ liệu Nominal, Travel Cost/Km và Income Level có kiểu dữ liệu Ordinal. • Training data cho biết sự lựa chọn về loại phương tiện vận chuyển (car, bus, train) của khách dựa vào 4 thuộc tính đã cho (xem bảng).1: Ví dụ dữ liệu Trainning Data bài toán cây quyết định Attributes Classes Gender Car ownership Travel Cost Income Level Transportation ($)/km mode Male 0 Cheap Low Bus Male 1 Cheap Medium Bus Female 1 Cheap Medium Train Female 0 Cheap Low Bus Male 1 Cheap Medium Bus Male 0 Standard Medium Train Female 1 Standard Medium Train Female 1 Expensive High Car Male 1 Female Medium Car Female 1 Expensive High Car Dựa vào Training Data ở trên, ta có thể tạo ra cây quyết định sau: 8 Hình 1.2: Ví dụ cây quyết định dựa trên tệp dữ liệu Training Data (Nguồn: http://bis.vn) (Lưu ý rằng trong cây quyết định trên, thuộc tính “Income Level” không xuất hiện trong cây bởi vì dựa vào training data đã cho, thuộc tính “Travel Cost/Km” sẽ sinh ra cây quyết định dùng để phân loại tốt hơn “Income Level”) • Giả sử rằng ta có dữ liệu về 3 người với các giá trị dữ liệu đã biết về các thuộc tính Gender, Car Ownership, Travel Cost/Km, Income Level. Tuy nhiên ta chưa biết họ sẽ chọn phương tiện vận chuyển nào (Car, Bus, Train). Nhiệm vụ của chúng ta là sử dụng cây quyết định đã tạo ra để dự đoán (predict) Alex, Buddy và Cherry sẽ chọn phương tiện vận chuyển nào dựa vào 4 thuộc tính của họ.
Dữ liệu dưới đây còn được gọi là Testing Data.2: Ví dụ dữ liệu Testing Data bài toán cây quyết định Person Gender Car Travel Cost Income Transportation name ownership ($)/km Level Mode Alex Male 1 Sandard High ? Buddy Male 0 Cheap Medium ? Cherry Female 1 Cheap High ?