Tổng quan về hoạt động marketing
Marketing là gì?
Marketing là các hoạt động nhằm đáp ứng nhu cầu và mong muốn của người tiêu dùng thông qua quá trình trao đổi.
Các hoạt động trong marketing
Marketing bao gồm 5 hoạt động chính:
Phát hiện vấn đề và hình thành mục tiêu nghiên cứu
Lập kế hoạch nghiên cứu
Phân tích và xử lý thông tin
Trình bày các kết quả nghiên cứu
Giới thiệu về công ty TNHH TSG và các sản phẩm, dịch vụ của công ty
Giới thiệu về công ty TNHH TSG
Công ty TNHH thương mại và dịch vụ TSG, thành lập năm 2010, chuyên cung cấp giải pháp công nghệ thông tin cho nhiều lĩnh vực khác nhau, bao gồm cơ quan chính phủ, tổng công ty, viễn thông, sản xuất, thương mại, điện lực, tài chính, ngân hàng, và các doanh nghiệp vừa và nhỏ TSG phục vụ khách hàng tại Hà Nội, TP.HCM và nhiều tỉnh thành trên toàn quốc.
Các sản phẩm và dịch vụ của công ty
Thiết bị mạng ( Modem- Switch)
Máy văn phòng ( Máy in, máy photocopy)
Phạm Thị Minh Châu – HTTTB – K12 3
Sao lưu – phục hồi dữ liệu
Dịch vụ sửa chữa, bảo dƣỡng, hỗ trợ khẩn cấp
Dịch vụ tƣ vấn giải pháp, hỗ trợ kỹ thuật Oracle
Hoạt động marketing của công ty
Công ty TNHH TSG có các hoạt động nghiên cứu thị trường và quảng cáo sản phẩm thông qua các kênh nhƣ :
Phạm Thị Minh Châu – HTTTB – K12 4
LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU
Khái niệm về khai phá dữ liệu
2.1.1 Định nghĩa khai phá dữ liệu
Khai phá dữ liệu (Data mining) là quá trình chắt lọc tri thức từ lượng lớn dữ liệu, nhằm tìm kiếm những tập hợp nhỏ có giá trị từ dữ liệu thô Thuật ngữ này đề cập đến việc sử dụng các kỹ thuật tự động để khai thác và phát hiện các mối quan hệ trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời phát hiện các mẫu tiềm ẩn trong dữ liệu.
Khám phá tri thức (Knowledge Discovery in Database) là mục tiêu chính của khai phá dữ liệu, khiến hai khái niệm này thường được xem là tương đương Tuy nhiên, nếu phân chia rõ ràng, khai phá dữ liệu chỉ là một bước quan trọng trong quá trình khám phá tri thức.
2.1.2 Quá trình khám phá tri thức
Mục đích của quá trình khám phá tri thức là rút ra tri thức từ dữ liệu trong
CSDL lớn Quá trình KDD là quá trình bao gồm nhiều giai đoạn và lặp lại, cụ thể nhƣ sau:
Hình 1.1 : Quá trình khám phá tri thức
Phạm Thị Minh Châu – HTTTB – K12 5
Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán
Trong quá trình tìm hiểu lĩnh vực ứng dụng, việc hình thành bài toán và xác định các nhiệm vụ cần hoàn thành là rất quan trọng Bước này sẽ quyết định việc rút ra tri thức hữu ích và lựa chọn các phương pháp khai phá dữ liệu phù hợp với mục đích ứng dụng cũng như bản chất của dữ liệu.
Bước thứ hai: Thu thập và tiền xử lý dữ liệu
Tiền xử lý dữ liệu là quá trình thu thập và xử lý dữ liệu thô nhằm loại bỏ nhiễu, xử lý thiếu dữ liệu, biến đổi và rút gọn dữ liệu khi cần thiết Bước này thường tiêu tốn nhiều thời gian nhất trong quy trình phát hiện tri thức do dữ liệu được thu thập từ nhiều nguồn không đồng nhất, dễ gây nhầm lẫn Sau khi hoàn tất, dữ liệu sẽ trở nên nhất quán, đầy đủ, được rút gọn và phân tách rõ ràng.
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức
Khai phá dữ liệu là quá trình trích xuất các mẫu và mô hình ẩn từ dữ liệu, đóng vai trò quan trọng trong việc xác định chức năng, nhiệm vụ và mục đích của nó Các bài toán khai phá dữ liệu thường được chia thành hai loại chính: bài toán mô tả, nhằm đưa ra các tính chất chung của dữ liệu, và bài toán dự báo, bao gồm việc phát hiện các suy diễn từ dữ liệu hiện có Việc lựa chọn phương pháp khai phá dữ liệu phù hợp phụ thuộc vào bài toán cụ thể được xác định.
Bước thứ tư : Phân tích và kiểm định kết quả
Các tri thức từ cơ sở dữ liệu cần được tổng hợp thành báo cáo nhằm hỗ trợ các quyết định khác nhau Do nhiều phương pháp khai thác dữ liệu có thể được áp dụng, nên chất lượng kết quả thu được có thể khác nhau Việc đánh giá các kết quả này là cần thiết để làm cơ sở cho các quyết định chiến lược Thông thường, các kết quả được tổng hợp và so sánh bằng biểu đồ, đồng thời được kiểm nghiệm qua các phương pháp tin học.
Phạm Thị Minh Châu – HTTTB – K12 6
Bước thứ năm: Sử dụng các tri thức phát hiện được
Là hiểu tri thức đã tìm đƣợc, đặc biệt là làm sang tỏ các mô tả và dự đoán
Các bước này có thể được lặp lại nhiều lần để lấy trung bình kết quả, giúp tăng độ chính xác Kết quả từ quá trình phát hiện tri thức có thể được áp dụng trong nhiều lĩnh vực khác nhau Những kết quả này, bao gồm dự đoán và mô tả, có thể được tích hợp vào các hệ thống hỗ trợ ra quyết định, nhằm tự động hóa quy trình này.
Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất.
Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực đang nổi bật và thu hút sự chú ý của các nhà nghiên cứu, nhờ vào những ứng dụng thực tiễn phong phú mà nó mang lại.
- Phân tích dữ liệu và hỗ trợ ra quyết định
- Phân lớp văn bản và các trang web, tóm tắt văn bản
- Tài chính và thị trường chứng khoán
- Môi trường và thời tiết…
Các kĩ thuật khai phá dữ liệu
2.3.1 Phân lớp (phân loại - classification)
Phân lớp là quá trình xác định hàm ánh xạ từ mẫu dữ liệu vào các lớp đã biết trước Mục tiêu chính của thuật toán phân lớp là khám phá mối quan hệ giữa thuộc tính dự báo và thuộc tính phân lớp Qua đó, quá trình này có thể sử dụng mối quan hệ đã tìm ra để dự đoán cho các mục dữ liệu mới.
Các kiến thức được phát hiện biểu diễn dưới dạng các luật theo cách sau:“
Nếu các thuộc tính dự báo của một mục thỏa mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận”
Phạm Thị Minh Châu – HTTTB – K12 7
Một mục thông tin về nhân viên có thể bao gồm các thuộc tính dự báo như họ tên, tuổi, giới tính và trình độ học vấn, trong khi thuộc tính phân loại sẽ là trình độ lãnh đạo của nhân viên.
Hồi quy là quá trình lọc một hàm ánh xạ từ mẫu dữ liệu đến biến dự đoán có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, nhưng điểm khác biệt chính là thuộc tính dự báo ở dạng liên tục thay vì rời rạc Dự báo các giá trị số thường được thực hiện thông qua các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính.
Hồi quy có nhiều ứng dụng quan trọng, chẳng hạn như dự đoán số lượng sinh vật phát quang trong rừng qua việc sử dụng cảm biến từ xa, ước lượng xác suất tử vong của bệnh nhân dựa trên triệu chứng, và dự báo nhu cầu khách hàng đối với sản phẩm.
Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu
Các nhóm dữ liệu có thể tách rời, phân cấp hoặc chồng lên nhau, cho phép một dữ liệu thuộc nhiều nhóm khác nhau Các ứng dụng khai thác dữ liệu thực hiện nhiệm vụ phân nhóm, chẳng hạn như phát hiện các tập khách hàng có phản ứng tương tự trong cơ sở dữ liệu tiếp thị hoặc xác định quang phổ từ các phương pháp đo tia hồng ngoại Nhiệm vụ đánh giá dữ liệu cũng liên quan chặt chẽ đến quá trình phân nhóm, bao gồm việc sử dụng hàm mật độ xác suất đa biến và các trường trong phân tích dữ liệu.
Công việc này liên quan đến việc tìm kiếm mô tả cho một tập con dữ liệu, thường sử dụng các kỹ thuật tổng hợp trong phân tích dữ liệu thăm dò và báo cáo tự động Nhiệm vụ chính là tạo ra các mô tả đặc trưng cho một lớp, nhằm tóm tắt các đặc tính chung của tất cả hoặc hầu hết các mục trong lớp đó.
Phạm Thị Minh Châu – HTTTB – K12 8 trình bày một luật có dạng: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề, thì mục đó có tất cả các thuộc tính đã nêu trong kết luận.” Cần lưu ý rằng luật này khác biệt so với luật phân lớp Luật phát hiện đặc trưng cho lớp chỉ được áp dụng khi các mục đã thuộc về lớp đó.
2.3.5 Mô hình hoá sự phụ thuộc (dependency modeling)
Mô hình mô tả sự phụ thuộc giữa các biến có hai mức: mức cấu trúc và mức định lượng Mức cấu trúc thể hiện qua đồ thị, trong đó các biến phụ thuộc vào các biến khác Mức định lượng xác định mức độ phụ thuộc, thường được diễn đạt theo luật "nếu - thì", nghĩa là nếu tiền đề đúng thì kết luận cũng đúng.
Nguyên tắc cơ bản là cả tiền đề và kết luận đều có thể kết hợp logic các giá trị thuộc tính Thực tế, tiền đề thường là tập hợp các giá trị thuộc tính, trong khi kết luận chỉ là một thuộc tính duy nhất Hệ thống có khả năng phát hiện các luật phân lớp, yêu cầu tất cả các luật phải có cùng một thuộc tính được người dùng chỉ định trong kết luận.
Quan hệ phụ thuộc có thể được mô tả thông qua mạng tin cậy Bayes, là một đồ thị có hướng và không chu trình Trong mạng này, các nút thể hiện các thuộc tính, trong khi trọng số của các liên kết giữa các nút biểu thị mức độ phụ thuộc của chúng.
2.3.6 Phát hiện sự biến đổi và độ lệch (change and deviation dectection)
Nhiệm vụ này nhằm khám phá sự thay đổi có ý nghĩa thông qua các giá trị chuẩn, phát hiện sự lệch đáng kể giữa dữ liệu thực và dữ liệu mong đợi Hai mô hình chính để xác định độ lệch là độ lệch theo thời gian và độ lệch theo nhóm Độ lệch theo thời gian phản ánh sự thay đổi của dữ liệu theo thời gian, trong khi độ lệch theo nhóm cho thấy sự khác biệt giữa hai tập con dữ liệu, bao gồm cả trường hợp một tập con nằm trong tập con khác Điều này giúp xác định xem dữ liệu trong một nhóm con có khác biệt đáng kể so với toàn bộ đối tượng hay không.
Phạm Thị Minh Châu – HTTTB – K12 9
Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện
Các nhiệm vụ khai phá dữ liệu yêu cầu thông tin đa dạng và phong phú, ảnh hưởng đến việc thiết kế và lựa chọn phương pháp khác nhau Chẳng hạn, phương pháp cây quyết định có khả năng phân loại các mẫu giữa các lớp, nhưng lại không cung cấp thông tin về tính chất và đặc điểm của từng lớp.
Các phương pháp khai phá dữ liệu
Khai phá dữ liệu là quá trình quan trọng nhằm phát hiện các mẫu thông tin có giá trị từ dữ liệu lớn Các phương pháp phổ biến bao gồm sử dụng công cụ truy vấn, xây dựng cây quyết định, và phát hiện luật kết hợp Mặc dù những phương pháp này đã được nghiên cứu và tích hợp vào các hệ thống khai thác dữ liệu, nhưng chúng vẫn gặp thách thức về hiệu quả và quy mô khi làm việc với kho dữ liệu khổng lồ.
2.4.1 Phương pháp suy diễn / quy nạp
Cơ sở dữ liệu không chỉ là kho lưu trữ thông tin mà còn có thể cung cấp những thông tin quan trọng thông qua quá trình suy diễn và quy nạp Hai kỹ thuật chính này giúp khai thác giá trị từ dữ liệu, cho phép người dùng rút ra những kết luận hữu ích từ các thông tin có sẵn.
Phương pháp suy diễn là cách rút ra thông tin từ cơ sở dữ liệu thông qua các kết quả logic Ví dụ, khi áp dụng toán tử liên kết cho các bảng quan hệ, bảng đầu chứa thông tin về nhân viên và phòng ban, trong khi bảng thứ hai cung cấp thông tin về các phòng ban và trưởng phòng Qua đó, ta có thể suy ra mối quan hệ giữa nhân viên và trưởng phòng Phương pháp này dựa trên các sự kiện chính xác để tạo ra tri thức mới từ thông tin hiện có.
Phạm Thị Minh Châu – HTTTB – K12 10 cũ Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn
Phương pháp quy nạp là một kỹ thuật phân tích dữ liệu, giúp suy ra thông tin từ cơ sở dữ liệu mà không dựa vào kiến thức có sẵn Phương pháp này tự động tìm kiếm và tạo mẫu, từ đó sinh ra tri thức mới, chủ yếu liên quan đến việc phát hiện các mẫu trong cơ sở dữ liệu Trong lĩnh vực khai phá dữ liệu, quy nạp thường được ứng dụng trong việc xây dựng cây quyết định và tạo ra các luật.
2.4.2 Phương pháp ứng dụng K-láng giềng gần
Việc mô tả các bản ghi trong tập dữ liệu trong không gian nhiều chiều rất quan trọng cho phân tích dữ liệu Những mô tả này giúp xác định nội dung của vùng lân cận, trong đó các bản ghi gần nhau được xem là hàng xóm của nhau.
Khái niệm K-láng giềng gần trong khoa học kỹ thuật đề cập đến việc sử dụng số lượng láng giềng K để thực hiện các phân tích Phương pháp này nổi bật với tính hiệu quả và sự đơn giản Ý tưởng cốt lõi của thuật toán K-láng giềng gần là “học hỏi từ các láng giềng gần gũi”.
Để dự đoán hoạt động của một cá thể, ta xem xét K-láng giềng tốt nhất và tính toán trung bình hoạt động của những láng giềng gần đó Dựa trên thông tin này, ta có thể đưa ra dự đoán chính xác về hoạt động của cá thể.
Kỹ thuật K-láng giềng gần là một phương pháp tìm kiếm đơn giản
Mặc dù thuật toán này có nhiều ưu điểm, nhưng nó cũng tồn tại một số hạn chế, đặc biệt là về phạm vi ứng dụng Đặc biệt, độ phức tạp tính toán của thuật toán này là luỹ thừa bậc 2 theo số bản ghi của tập dữ liệu, điều này có thể gây khó khăn trong việc xử lý các tập dữ liệu lớn.
Vấn đề chính liên quan đến thuộc tính của bản ghi là sự độc lập của các thuộc tính này, tạo nên một điểm trong không gian tìm kiếm có nhiều chiều Trong không gian nhiều chiều, mối quan hệ giữa hai điểm bất kỳ trở nên phức tạp hơn.
Phạm Thị Minh Châu – HTTTB – K12 11 chỉ ra rằng kỹ thuật K-láng giềng không cung cấp thông tin hữu ích do tất cả các cặp điểm đều là láng giềng Cuối cùng, phương pháp này thiếu lý thuyết để hiểu cấu trúc dữ liệu, nhưng hạn chế này có thể được khắc phục bằng kỹ thuật cây quyết định.
2.4.3 Phương pháp sử dụng cây quyết định và luật
Kỹ thuật phân lớp dựa trên cây quyết định tạo ra một cây quyết định, giúp phân loại các đối tượng dữ liệu chưa biết và đánh giá độ chính xác của mô hình Quá trình này bao gồm hai giai đoạn: xây dựng cây quyết định và sử dụng nó trong phân lớp.
Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn đại diện cho tất cả các mẫu dữ liệu, sau đó các mẫu được phân chia đệ quy dựa trên việc lựa chọn thuộc tính Nếu các mẫu thuộc cùng một lớp, nút sẽ trở thành lá; nếu không, một độ đo thuộc tính sẽ được sử dụng để chọn thuộc tính tiếp theo cho việc phân chia Dựa trên từng giá trị của thuộc tính đã chọn, các nhánh tương ứng được tạo ra và mẫu dữ liệu được phân chia vào các nhánh này Quá trình này lặp lại cho đến khi hoàn thành cây quyết định, với tất cả các nút trở thành lá và được gán nhãn.
Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau đƣợc thỏa mãn:
- Tất cả các mẫu thuộc cùng một nút
- Không còn một thuộc tính nào để lựa chọn
- Nhánh không chứa mẫu nào
Hầu hết các thuật toán sinh cây quyết định đều gặp phải vấn đề về việc tiêu tốn nhiều bộ nhớ, với lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của tập dữ liệu huấn luyện Mặc dù có một số chương trình hỗ trợ sử dụng bộ nhớ ngoài, nhưng chúng lại gặp khó khăn về tốc độ thực thi Vì vậy, việc tỉa cây quyết định trở thành một vấn đề quan trọng cần giải quyết.
Phạm Thị Minh Châu – HTTTB – K12 12 bớt cây quyết định trở nên quan trọng Các nút lá không ổn định trong cây quyết định sẽ đƣợc tỉa bớt
Kỹ thuật tỉa trước là việc dừng sinh cây quyết định khi chia dữ liệu không có ý nghĩa
2.4.4 Phương pháp phát hiện luật kết hợp
Phương pháp này được sử dụng để phát hiện các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Kết quả của thuật toán khai phá dữ liệu là tập hợp các luật kết hợp đã được tìm thấy Ví dụ đơn giản về luật kết hợp là sự liên quan giữa hai thành phần A và B, cho thấy sự xuất hiện đồng thời của chúng trong dữ liệu.
A trong bản ghi kéo theo sự xuất hiện của B trong cùng bản ghi đó: A => B
Một luật kết hợp trên quan hệ r được mô tả dưới dạng X=>B, với X là tập con của R và B thuộc R nhưng không nằm trong X Ý nghĩa của luật này là nếu một bản ghi trong bảng r có giá trị 1 tại tất cả các thuộc tính thuộc X, thì giá trị của thuộc tính B cũng sẽ là 1 trong cùng bản ghi đó Ví dụ, trong một cơ sở dữ liệu về hàng hóa bán tại siêu thị, nếu ô (20/10, bánh mì) có giá trị 1, điều này có nghĩa là bánh mì đã được bán vào ngày đó, đồng thời cũng kéo theo việc ô (20/10, bơ) có giá trị 1, chỉ ra rằng bơ cũng đã được bán trong cùng ngày.
Các phần mềm công cụ khai phá dữ liệu
Nhiều phần mềm hỗ trợ khai phá dữ liệu đã được phát triển, nhưng bài viết này chỉ tập trung vào một số phần mềm phổ biến và được đánh giá cao về hiệu quả.
- Phần mềm phân tích thống kê R;
- Phân tích số liệu bằng phần mềm Weka;
- Phân tích số liệu bằng See5/C5.0;
- Phân tích số liệu bằng DTREEG1;
- Phân tích số liệu bằng Microsoft Analysic Service
2.5.1 Phân tích số liệu bằng phần mềm R
R là một phần mềm mạnh mẽ được sử dụng cho phân tích thống kê và vẽ biểu đồ Về bản chất, R là một ngôn ngữ lập trình đa năng, phục vụ cho các nhu cầu phân tích dữ liệu và trực quan hóa thông tin.
Phạm Thị Minh Châu – HTTTB – K12 14 cho thấy R là một ngôn ngữ lập trình linh hoạt, có khả năng phục vụ cho nhiều mục đích khác nhau, từ tính toán đơn giản, toán học giải trí, tính toán ma trận cho đến các phân tích thống kê phức tạp Nhờ vào tính chất của nó, R có thể được phát triển thành các phần mềm chuyên môn cho những vấn đề tính toán cụ thể.
Ƣu điểm: o Thích hợp mô hình phân tích thống kê và vẽ biểu đồ
Những nhược điểm của ứng dụng bao gồm giao diện kết quả khó khai thác, vì nó được cài đặt cho từng máy trạm và không hỗ trợ phát triển ứng dụng phân tích trực tuyến Dữ liệu đầu vào chỉ có thể ở dạng bảng theo cấu trúc file CSV hoặc file text, và công cụ này không có khả năng kết nối trực tiếp vào cơ sở dữ liệu Hơn nữa, kết quả đầu ra không được trình bày một cách trực quan.
2.5.2 Phân tích số liệu bằng phần mềm weka
Weka là phần mềm khai thác dữ liệu được phát triển bằng ngôn ngữ Java, tích hợp nhiều thuật toán máy học cho các tác vụ khác nhau Phần mềm này cung cấp các công cụ hữu ích như tiền xử lý dữ liệu, phân lớp, hồi quy, gom cụm và luật kết hợp Weka được đánh giá cao trong lĩnh vực khai thác dữ liệu nhờ vào tính linh hoạt và hiệu quả của nó.
- Giao diện kết quả khó khai thác (đây là ứng dụng cài đặt cho từng máy trạm không phát triển đƣợc ứng dụng phân tích trực tuyến );
Dữ liệu đầu vào cho phân tích cần được định dạng dưới dạng bảng, sử dụng file CSV hoặc file văn bản Hiện tại, không có hỗ trợ cho việc kết nối trực tiếp với cơ sở dữ liệu.
- Kết quả đầu ra không trực quan
2.5.3 Phân tích số liệu bằng See5/C5.0
See5 là một hệ thống phân loại dựa trên cây quyết định và tập luật, được thiết kế để xử lý dữ liệu lớn với công nghệ đổi mới như boosting Kết quả mà See5 tạo ra tương tự như C5.0, và nó đã từng hoạt động trên nền tảng Windows.
Phạm Thị Minh Châu – HTTTB – K12 15
C5.0, cùng với See5, là những công cụ khai thác dữ liệu mạnh mẽ hoạt động trên hệ điều hành Unix, cho phép phân tích và phân loại dữ liệu hiệu quả Chúng giúp tạo ra các mô hình dự đoán bằng cách tổ chức các tập hợp dữ liệu thành những đối tượng phân loại, từ đó cung cấp những dự đoán chính xác cho người dùng.
Đặc điểm chính của C5.0 là:
C5.0 được phát triển nhằm phân tích các cơ sở dữ liệu lớn, chứa hàng ngàn đến hàng trăm ngàn bản ghi và hàng chục đến hàng trăm trường dữ liệu.
Để tối ưu hóa khả năng giải thích, See5.0/C5.0 sử dụng cấu trúc cây quyết định hoặc tập hợp các quy tắc if-then, mang lại sự dễ hiểu hơn so với mạng nơ-ron.
- C5.0 dễ dàng sử dụng do đó không đƣợc gọi là kiến thức cao cấp của thống kê và học máy
2.5.4 Phân tích số liệu bằng DTREG
DTREG là phần mềm phân tích thống kê mạnh mẽ, cho phép tạo ra cây quyết định cho phân lớp, hồi quy và mô hình SVM, nhằm mô tả mối quan hệ giữa các dữ liệu Chương trình này có khả năng dự đoán giá trị cho các khảo sát trong tương lai, đồng thời cung cấp đánh giá chi tiết về phân tích dữ liệu thông qua DTree.
Giao diện kết quả khó khai thác theo yêu cầu, do ứng dụng cài đặt cho từng máy trạm không hỗ trợ phát triển ứng dụng phân tích trực tuyến.
- Dữ liệu đầu vào cho phân tích dạng phải định nghĩa cấu trúc file Không có hỗ trợ kết nối trực tiếp vào cơ sở dữ liệu
2.5.5 Phân tích số liệu sử dụng công cụ Microsoft Analysis Services
Công cụ của Microsoft cho phép xây dựng mô hình cây quyết định trong phần mềm Microsoft SQL Server 2000, mang lại nhiều lợi ích cho người dùng Ƣu điểm nổi bật của công cụ phân tích này bao gồm khả năng xử lý dữ liệu hiệu quả và hỗ trợ ra quyết định chính xác.
- Dễ dàng kết nối với hệ quản trị cơ sở dữ liệu dùng Microsoft SQL Server;
- Sử dụng máy chủ ( Server) phân tích chỉ cần kết nối với máy chủ phân tích có thể làm việc từ bất kỳ đâu không cần cài đặt
Phạm Thị Minh Châu – HTTTB – K12 16
- Công cụ phân tích của Microsoft sử dụng nhiều thuật toán của
Datamining Vì thế mềm dẻo thuận tiện cho khai thác nghiệp vụ thay đổi
Khi sử dụng Microsoft SQL Server cho cơ sở dữ liệu, việc lựa chọn công cụ phân tích dữ liệu trực tuyến chỉ có một lựa chọn duy nhất.
Microsoft Analysis Service Với sản phẩm này người sử dụng có thể dùng
Microsoft Excel để lấy dữ liệu từ cơ sở dữ liệu dùng để phân tích bảng tính.
Luật kết hợp trong khai phá dữ liệu
Kể từ khi ra mắt vào năm 1993, bài toán khai thác luật kết hợp đã thu hút sự chú ý của nhiều nhà khoa học Hiện nay, việc khai thác các luật này vẫn là một trong những phương pháp phổ biến nhất trong khám phá tri thức và khai thác dữ liệu (KDD: Knowledge Discovery in Databases).
Mục đích chính của khai phá dữ liệu là trích xuất tri thức nhằm hỗ trợ dự báo thông tin, từ đó phục vụ cho sản xuất kinh doanh và nghiên cứu khoa học.
Trong hoạt động sản xuất kinh doanh, đặc biệt là trong lĩnh vực bán lẻ tại siêu thị, các nhà quản lý rất cần những thông tin thống kê quan trọng để đưa ra quyết định hiệu quả Những dữ liệu này giúp họ nắm bắt xu hướng tiêu dùng, tối ưu hóa tồn kho và cải thiện chiến lược kinh doanh.
"90% phụ nữ sở hữu máy màu đỏ và đồng hồ Thụy Sỹ thường sử dụng nước hoa hiệu Chanel, trong khi 70% công nhân khi mua TV thường chọn loại 21 inches Những thông tin này rất quan trọng cho việc định hướng kinh doanh Vậy liệu có thể tìm ra các quy luật tương tự thông qua các công cụ khai phá dữ liệu? Câu trả lời là hoàn toàn khả thi, và đó chính là mục tiêu của việc khai phá luật kết hợp."
Trong cơ sở dữ liệu D, luật kết hợp xác định mối quan hệ giữa các thuộc tính S và U, cho biết sự xuất hiện của S trong các bản ghi sẽ kéo theo sự xuất hiện của U Mỗi luật kết hợp được mô tả bằng một cặp tỷ lệ (ratio) đặc trưng.
Phạm Thị Minh Châu – HTTTB – K12 17 trợ Mỗi tỉ lệ hỗ trợ đƣợc biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả S và U
Vấn đề khám phá luật kết hợp được phát biểu như sau:
- Cho trước tỉ lệ hỗ trợ ( support ration) và độ tin cậy ( confidence)
- Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy lớn hơn
Ví dụ: D là CSDL mua bán và với = 40%, = 90% Vấn đề phát hiện luật kết hợp đƣợc thực hiện nhƣ sau:
Liệt kê (đếm) tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo một số mục khác
Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%
2.6.2.1 Lý thuyết về luật kết hợp
Trong bài viết này, chúng ta xem xét một tập hợp I = {I1, I2, , Im} bao gồm m khoản mục (item) Một giao dịch (transaction) T được định nghĩa là một tập con (subset) của các khoản mục trong I, tức là T ⊆ I Các giao dịch này không được trùng lặp, và trong các thuật toán sau này, giả thiết rằng các khoản mục trong một giao dịch cũng như trong tất cả các tập mục khác được sắp xếp theo thứ tự từ điển.
CSDL D chứa n giao dịch, mỗi giao dịch được gán một định danh duy nhất (Unique Transaction Identifier) Một giao dịch T thuộc D được coi là hỗ trợ cho tập X nếu tất cả các item trong X đều có mặt trong T, tức là X là tập con của T.
T(X) đại diện cho tập hợp các giao dịch hỗ trợ cho X Kí hiệu support(X) (hay sup(X), s(X)) thể hiện tỷ lệ phần trăm của các giao dịch hỗ trợ X so với tổng số giao dịch trong D.
Độ hỗ trợ tối thiểu (minimum support) minsup là giá trị do người sử dụng xác định Tập mục X được coi là phổ biến (large itemset) nếu sup(X) ≥ minsup Những tập phổ biến này thường được xem là đáng quan tâm trong các thuật toán, trong khi các tập không đạt yêu cầu minsup sẽ không được chú ý Trong các phần trình bày sau, chúng ta sẽ sử dụng các cụm từ như "X có độ hỗ trợ tối thiểu" hay "X không có độ hỗ trợ tối thiểu" để chỉ việc X có thỏa mãn điều kiện support(X) ≥ minsup hay không.
Một khoản mục X đƣợc gọi là k- itemset nếu lực lƣợng của X bằng k, tức là
2.6.2.2 Định nghĩa luật kết hợp
Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục, X,
Y I và X Y = X đƣợc gọi là tiên đề và Y đƣợc gọi là hệ quả của luật
Luật X => Y tồn tại một độ tin cậy c (confidence-conf) Độ tin cậy c đƣợc định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y Ta có công thức tính độ tin cậy nhƣ sau:
Không phải tất cả các luật kết hợp trong một tập luật đều có giá trị thực tiễn; các luật này cần phải đạt ngưỡng hỗ trợ và độ tin cậy nhất định Cụ thể, với một tập giao dịch D, bài toán phát hiện luật kết hợp sẽ tạo ra các luật có độ tin cậy lớn hơn độ tin cậy tối thiểu và độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu mà người dùng xác định Quá trình khai phá luật kết hợp được chia thành hai bài toán con.
Phạm Thị Minh Châu – HTTTB – K12 19
Bài toán 1 yêu cầu tìm tất cả các tập mục có độ hỗ trợ vượt quá mức độ hỗ trợ tối thiểu mà người dùng đã xác định Những tập mục này được gọi là các tập mục phổ biến.
Bài toán 2: Sử dụng các tập mục phổ biến để tạo ra các luật mong muốn Nếu chúng ta có các tập mục ABCD và AB, có thể xác định luật AB => CD với tỷ lệ độ tin cậy cao.
Nếu conf ≥ minconf thì luật đƣợc giữ lại (luật này sẽ thỏa mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến)
2.6.3 Một số tính chất liên quan đến các hạng mục phổ biến (frequent itemset)
- Tính chất 1 Độ hỗ trợ (support) cho tất cả các tập con (subset): nếu A B, A,
B là tập các mục thì sup(A)sup(B) vì tất cả các giao dịch của D hỗ trợ B thì cũng hỗ trợ A
Nếu một mục trong tập A không đạt độ hỗ trợ tối thiểu trên tập D, tức là support(A) < minsup, thì bất kỳ tập con B nào của A cũng sẽ không được coi là tập phổ biến, vì support(B) sẽ luôn nhỏ hơn hoặc bằng support(A) và cũng sẽ nhỏ hơn minsup.
- Tính chất 3 Nếu mục B là mục phổ biến trên D, nghĩa là support(B) minsup thì mọi tập con A của B là tập phổ biến trên D vì support(A) support(B) > minsup
2.6.4 Một số hướng tiếp cận trong khai phá luật kết hợp
Lĩnh vực khai thác luật kết hợp đã trải qua nhiều nghiên cứu và phát triển đa dạng Các đề xuất tập trung vào việc cải thiện tốc độ thuật toán và tìm kiếm các luật có ý nghĩa hơn, đồng thời có một số hướng nghiên cứu chính đáng chú ý.
Một số thuật toán phát hiện luật kết hợp
Thuật toán đƣợc tỉa bớt những tập ứng cử viên có tập con không phổ biến trước khi tính độ hỗ trợ
Thuật toán Apriori tính tất các tập ứng cử của tập k trong một lần duyệt
CSDL, Apriori sử dụng cấu trúc cây băm (hashtree) để tìm kiếm Khi duyệt xuống cây, mỗi khi gặp lá, ta xác định một tập ứng cử viên có tiền tố chung trong giao dịch Các tập ứng cử viên này sau đó được kiểm tra trong các giao dịch đã được ánh xạ trước đó Nếu tìm thấy, biến đếm sẽ được tăng lên 1.
Output: Tập các tập mục phổ biến
4 { Ck = apriori_gen(Lk-1, minsup);// các ứng cử mới theo chương trình con ở dưới đây
Phạm Thị Minh Châu – HTTTB – K12 23
6 { Ct=Subset (Ck,t);// ứng cử viên được chứa trong t
13 Return L= k L k ' ;// sinh ứng cử viên mới (**)
Phạm Thị Minh Châu – HTTTB – K12 24
Lần duyệt đầu tiên, sẽ tính số lần xuất hiện của mỗi mục để xác định các
1- itemset phổ biến Lần duyệt thứ k (k 2) sẽ bao gồm 2 giai đoạn:
Tập phổ biến Lk-1 đã tìm thấy ở lần duyệt thứ k-1 đƣợc sử dụng để sinh ra các tập ứng cử viên Ck bằng việc sử dụng hàm Apriori_gen
Dựa vào cơ sở dữ liệu, chúng ta có thể tính toán độ hỗ trợ của các ứng cử viên trong Ck Việc xác định các ứng cử viên trong Ck có trong giao dịch t có thể thực hiện một cách hiệu quả thông qua việc sử dụng cây băm.
Trong giai đoạn 2 (giai đoạn sửa, tỉa), cần loại bỏ các tập c ∈ Ck sao cho một vài tập con kích thước (k-1) của c không nằm trong Lk-1 Thủ tục này đảm bảo rằng với bất kỳ tập nào Lk có độ hỗ trợ tối thiểu, các tập con kích thước (k-1) cũng sẽ có độ hỗ trợ tối thiểu Khi mở rộng mỗi tập trong Lk-1 với tất cả các mục có thể và sau đó xóa các tập mà tập con (k-1) của nó không nằm trong Lk-1, ta sẽ thu được tập các tập trong Lk Việc kết nối tương đương với việc mở rộng Lk-1 với mỗi mục trong cơ sở dữ liệu và sau đó loại bỏ các tập mà tập con (k-1) không nằm trong Lk-1.
Giai đoạn tỉa Lk là quá trình loại bỏ các tập con không thuộc Lk-1 từ tập Ck, đồng thời giữ lại những tập có khả năng thuộc Lk.
Hàm Subset lưu trữ các tập ứng cử viên Ck trong một cây băm, trong đó mỗi nút có thể là một danh sách các tập (nút lá) hoặc một bảng băm (nút trong) Tại mỗi nút trong, mỗi bucket của bảng băm sẽ chỉ đến một nút khác Gốc của cây băm được xem là ở độ sâu 0.
Phạm Thị Minh Châu – HTTTB – K12 25
1 Một nút trong ở độ sâu d sẽ dẫn đến nút ở độ sâu d+1 Các tập được lưu trữ trong các lá Khi ta bổ sung thêm một tập c, ta bắt từ nút gốc và đi xuống cây cho đến khi ta chạm vào một lá Tại một nút ở độ sâu d, ta quyết định sẽ đi theo cành nào bằng việc áp dụng hàm băm đối với mục thứ d của tập đó và theo con trỏ trong Bucket tương ứng Tất cả các nút ban đầu được tạo ra như là nút lá Khi số các tập trong một nút lá vƣợt quá ngƣỡng đƣợc chọn, nút lá này đƣợc chuyển thành một nút trong
Hàm Subset bắt đầu từ nút gốc để tìm tất cả các ứng cử viên có trong giao dịch t Tại một nút lá, nó xác định các tập hợp con có trong giao dịch t và bổ sung các mối quan hệ với tập kết quả mong muốn Khi ở một nút trong, nếu đến nút đó bằng việc băm mục i, hàm sẽ băm các mục sau i trong t và áp dụng quy trình đệ quy cho nút tương ứng trong Bucket Đối với nút gốc, việc băm mọi mục trong t đảm bảo rằng chỉ những tập bắt đầu với mục có trong t mới được xem xét Tương tự, đối với các mức sâu hơn, nếu đến nút hiện tại bằng việc băm mục i, chỉ cần quan tâm đến các mục trong t xuất hiện sau i.
// Bước tỉa: Xoá bớt tất cả các tập mục c Ck mà (k-1) tập con của c không phụ thuộc Lk-1.
Phạm Thị Minh Châu – HTTTB – K12 26
Xét cơ sở dữ liệu sau với minSup = 50% = 50% * 6 = 3
Bảng 2.1 Cơ sở dữ liệu
Bước 1 : Duyệt CSDL để tìm ra L 1 là các tập phổ biến có 1 danh mục có độ phổ biến ≥ 3 :
Bảng 2.2 Các tập phổ biến có 1 danh mục
Bước 2 : tính tập ứng viên C 2 dựa trên L 1 bằng phép hợp Sau đó duyệt
CSDL xác định độ phổ biến của các ứng viên thuộc C2 và loại bỏ những ứng viên có độ phổ biến thấp hơn minSup Kết quả là hình thành L2, bao gồm các tập phổ biến với hai danh mục.
Mã giao dịch Nội dung giao dịch
Phạm Thị Minh Châu – HTTTB – K12 27
Bảng 2.3 Các tập phổ biến có 2 danh mục
Bước 3: Tương tự như bước 2, tiến hành tạo C3 và L3 từ L2 Khi tạo C3, cần loại bỏ những ứng viên có tập con 2 danh mục không thuộc L2 Để tạo C3 từ L2, hãy sử dụng tập hợp tất cả danh mục có trong L2 và kiểm tra từng tập danh mục 3 thuộc tính trong tập hợp đó theo hướng dẫn đã nêu.
Bảng 2.4 Các tập phổ biến có 3 danh mục
Phạm Thị Minh Châu – HTTTB – K12 28
Bảng 2.5 Các tập phổ biến có 4 danh mục
Bước 5 : Tạo C 5 và L 5 từ L 4 Ta có C 5 = ∅
Như vậy thuật toán dừng lại ở bước 5 vì L 5 = ∅ Kết quả : với minSup P% thì
Tập hợp các tập phổ biến = L1 ∪ L2 ∪ L3 ∪ L4
= {A, C, D, T, W, AC, AT, AW, CD, CT, CW, DW, TW, ACT, ACW, ATW,
Thuật toán Apriori gặp hạn chế lớn trong việc xác định độ phổ biến của các tập ứng viên, bởi vì nó cần quét lại toàn bộ giao dịch trong cơ sở dữ liệu Điều này dẫn đến việc tiêu tốn nhiều thời gian, đặc biệt khi số lượng danh mục lớn.
Trong bài báo [12], các tác giả giới thiệu thuật toán Apriori-Tid, nổi bật với việc không sử dụng lại toàn bộ cơ sở dữ liệu (CSDL) từ lần duyệt đầu tiên Thay vào đó, từ bước thứ hai, thuật toán này áp dụng tập C’k để tính toán độ phổ biến Phương pháp này giúp giảm thiểu số lần truy cập CSDL, tối ưu hóa hiệu suất xử lý dữ liệu.
Trong quá trình xét duyệt khởi tạo, kích thước của C’k thường rất lớn và gần tương đương với kích thước của cơ sở dữ liệu gốc Điều này dẫn đến thời gian xử lý cũng tương tự như thuật toán Apriori Hơn nữa, thuật toán Apriori Tid còn phải đối mặt với chi phí phát sinh khi kích thước C’k vượt quá dung lượng bộ nhớ, buộc phải sử dụng bộ nhớ ngoài.
Các phương pháp sinh ứng viên để tìm tập phổ biến thường không hiệu quả, do yêu cầu phải đọc cơ sở dữ liệu nhiều lần và phát sinh cũng như kiểm tra các ứng viên.
Phạm Thị Minh Châu – HTTTB – K12 29 đã thu hút một số lượng lớn ứng viên Những hạn chế hiện tại sẽ được khắc phục thông qua các phương pháp không sinh ứng viên, mà sẽ được trình bày ở phần tiếp theo.
2.7.2 Phương pháp dựa trên cây FP-Tree, thuật toán FP- growth
2.7.2.1 Cấu trúc cây FP – Tree
Cấu trúc FP-Tree (Frequent Pattern Tree) được giới thiệu bởi các tác giả J Han, J Pei và Y Yin, nhằm khắc phục nhược điểm của thuật toán Apriori, đó là cần phải phát sinh và kiểm tra một số lượng lớn các ứng viên.
ỨNG DỤNG LUẬT KẾT HỢP VÀO HOẠT ĐỘNG MARKETING CỦA CÔNG TY TNHH TSG
Cài đặt phần mềm Weka
Bước 1 Download phần mềm Weka tại địa chỉ link: http://www.cs.waikato.ac.nz/ml/weka/downloading.html
Bước 2 Cài đặt phần mềm
Sau khi tiến hành cài đặt phần mềm, giao diện phần mềm như hình dưới đây:
Hình 3.0 Giao diện phần mềm Weka
Phát biểu bài toán
Công ty TNHH TSG cung cấp một loạt sản phẩm và dịch vụ đa dạng cho khách hàng, bao gồm máy tính xách tay, máy văn phòng, thiết bị mạng, hệ điều hành và ứng dụng văn phòng Ngoài ra, công ty còn cung cấp các sản phẩm bán chéo như phần mềm diệt virus, dịch vụ internet, thiết kế đồ họa, cũng như các dịch vụ bảo dưỡng, tư vấn và sửa chữa.
Dựa trên cơ sở dữ liệu thông tin khách hàng và dịch vụ sử dụng, bài toán sẽ phân tích các quy luật liên quan giữa các thuộc tính trong hành vi sử dụng sản phẩm và dịch vụ Điều này giúp xác định những đặc điểm nổi bật của từng nhóm khách hàng.
Phạm Thị Minh Châu – HTTTB – K12 47 có khả năng cao trong việc mua và sử dụng sản phẩm, dịch vụ, điều này sẽ nâng cao hiệu quả cho hoạt động marketing giới thiệu sản phẩm.
Bài toán được đặt ra với đầu vào là bộ dữ liệu khách hàng, bao gồm các thuộc tính như mã khách hàng, nghề nghiệp, thu nhập và thông tin về tình trạng mua sắm các sản phẩm và dịch vụ của công ty như máy tính xách tay, máy văn phòng, thiết bị mạng, hệ điều hành, ứng dụng văn phòng, phần mềm diệt virus, thiết kế đồ họa, dịch vụ bảo dưỡng, sửa chữa và tư vấn Đầu ra của bài toán là các quy luật về việc sử dụng sản phẩm và dịch vụ của khách hàng, được xác định dựa trên nguồn dữ liệu với các mức độ hỗ trợ (minsup) và độ tin cậy (minconf) nhất định.
Công cụ phần mềm được sử dụng trong nghiên cứu này là Weka phiên bản 3.6.9, với mục tiêu khai phá luật kết hợp thông qua thuật toán Apriori Phương pháp này được lựa chọn thay vì FP-Growth dựa trên các thuộc tính của bộ dữ liệu.
Quy trình thực hiện
Các giai đoạn thực hiện của hệ thống ứng dụng luật kết hợp áo dựng giải quyết bài toán trên:
Hình 3.1: Quá trình thực hiện ứng dụng khai phá luật kết hợp
Phạm Thị Minh Châu – HTTTB – K12 48
3.3.1 Thu thập cơ sở dữ liệu
Bộ dữ liệu sử dụng do tác giả nghiên cứu thu nhập và tổng hợp
Dữ liệu thô được lưu trữ dưới định dạng file xls và đã được chuyển đổi sang file csv (thongtinkhachhang.csv), một trong hai định dạng mà Weka hỗ trợ xử lý File này chứa thông tin của 600 khách hàng.
Các thuộc tính(bao gồm: 16 thuộc tính) là: MaKH ( mã khách hàng),
Nghe_nghiep( nghề nghiệp), Thu_nhap( thu nhập), Laptop( máy tính xách tay), Thiet_bi_mang(Thiết bị mạng), May_van_phong( Máy văn phòng),
He_dieu_hanh( Hệ điều hành), Phan_mem_dietvirus( Phần mềm diệt virus),
Ung_dung_vp (ứng dụng văn phòng), TK_Dohoa( Thiết kế đồ họa), Internet(
Internet),Da_phuong_tien(Đa phương tiện), Bao_mat(bảo mật), Tich_hop(
Tích hợp), DV_SC_Bduong(dịch vụ sửa chữa bảo dƣỡng), DV_Tvan(Dịch vụ tƣ vấn)
3.3.2 Tiền xử lý dữ liệu
Mở bảng dữ liệu thongtinkhachhang.csv
Sau khởi động weka chọn Explorer → Preproces → Open, sau đó chọn đường dẫn đến file thongtinkhachhang.csv
Phạm Thị Minh Châu – HTTTB – K12 49
Hình 3.2: Giao diện khi mở file thongtinkhachhang.csv
Trong 16 thuộc tính, cần loại bỏ thuộc tính MaKH ra khỏi CSDL vì nó không mang ý nghĩa thống kê
Click chuột vào checkbox ở thuộc tính MaKH, sau đó click vào Remove
Phạm Thị Minh Châu – HTTTB – K12 50
Hình 3.3: Giao diện khi remove thuộc tính Ma_KH
3.3.4 Rời rạc hóa dữ liệu (Discretization)
Trong khai thác dữ liệu, một số kỹ thuật như khai phá luật kết hợp chỉ có thể áp dụng cho dữ liệu phân loại Do đó, để sử dụng các kỹ thuật này, cần thực hiện quá trình rời rạc hóa đối với các thuộc tính có kiểu dữ liệu liên tục, chẳng hạn như kiểu số.
Trong file dữ liệu thongtinkhachhang.csv có thuộc tính thu_nhap là kiểu số Đầu tiên, chọn Choose vào chọn Filters/unsupervised.attribute/Discretize
Phạm Thị Minh Châu – HTTTB – K12 51
Hình 3.4: Giao diện khi tiến hành rời rạc dữ liệu
Tiếp theo, bấm chuột vào text box ngay bên phải nút “Choose” và thiết lập các tham số để thực hiện việc rời rạc hóa
Trong textbox attributeIndices nhập 2 tương ứng với index của thuộc tính
Trong mục bins nhập 3 (thu nhập đƣợc chia thành 3 khoảng – interval)
Phạm Thị Minh Châu – HTTTB – K12 52
Hình 3.5: Giao diện khi rời rạc hóa dữ liệu
Nhấn “Apply” để tiến hành Kết quả sẽ được tạo ra trong một mối quan hệ làm việc mới, trong đó các giá trị liên tục của thuộc tính “thu_nhap” sẽ tự động được phân chia thành 3 khoảng với nhãn lần lượt là “(-inf-19.333333]”.
Phạm Thị Minh Châu – HTTTB – K12 53
Hình 3.6: Giao diện sau khi đã tiến hành rời rạc hóa dữ liệu
Hiện tại, sau khi đã lọc thuộc tính Ma_KH và rời rạc hóa dữ liệu trên thuộc tính "thu_nhap", chúng ta có thể áp dụng các kỹ thuật khai thác dữ liệu chỉ áp dụng cho dữ liệu định danh, chẳng hạn như khai thác quy tắc kết hợp (association rule mining).
3.3.5 Khai phá dữ liệu bằng thuật toán Apriori
Giải thích một số tham số chính của thuật toán Apriori sinh luật kết hợp lowerBoundMinSupport: cận dưới của minimun support
MetricType: có 4 loại metricType là Confidence, Lift, Leverage và
Minimun metric score : Chỉ quan tâm đến các luật có metric score cao hơn giá trị này
NumRules : Số luật muốn tìm (Các luật sẽ đƣợc sắp xếp theo thứ tự giảm dần của metric score)
SignificanceLevel : Mức ý nghĩa (chỉ dùng khi metricType là confidence)
Phạm Thị Minh Châu – HTTTB – K12 54
UpperBoundMinSupport : Cận trên của minimun support (bắt đầu lặp lại việc giảm minimun support từ upperBoundMinSupport đến lowerBoundMin
Trong bài toán này, tác giả nghiên cứu lựa chọn metricType-Confidence độ tin cậy để phát hiện quy luật
Khi thực hiện việc điền thông số, cần chú ý đến hai yếu tố quan trọng: độ hỗ trợ tối thiểu là 0.1 và độ tin cậy tối thiểu là 0.9 Độ tin cậy 0.9 được chọn để đảm bảo tính chính xác của quy luật do mối quan hệ giữa các thuộc tính khá phức tạp Độ hỗ trợ tối thiểu 0.1 được lựa chọn nhằm không bỏ sót thông tin, vì tần suất xuất hiện của các thuộc tính trong cơ sở dữ liệu tương đối thấp, giúp phát hiện nhiều quy luật hơn.
Trên thực tế, để lựa chọn được hai thông số này một cách tối ưu thường phải nhờ đến sự trợ giúp của hệ chuyên gia
Phần mềm weka sẽ chạy trương chình để giải quyết 2 giai đoạn như đã mô tả ở phần lý thuyết luật kết hợp
Click vào Associate, chọn Associator/Apriori Thiết lập các tham số và click vào Start
Phạm Thị Minh Châu – HTTTB – K12 55
Hình 3.7: Thiết lập các tham số trong thuật toán Apriori
Phạm Thị Minh Châu – HTTTB – K12 56
Kết quả chạy mô hình
=== Run information ==Scheme: weka.associations.Apriori -N 100 -T 0 -C 0.9 -D 0.05 -U 1.0
Relation: thongtinkhachhang- weka.filters.unsupervised.attribute.Remove-R1- weka.filters.unsupervised.attribute.Discretize-B3-M-1.0-R2
=== Associator model (full training set) ==Phạm Thị Minh Châu – HTTTB – K12 57
Generated sets of large itemsets:
Size of set of large itemsets L(1): 25
Size of set of large itemsets L(2): 46
Size of set of large itemsets L(3): 29
Size of set of large itemsets L(4): 12
Size of set of large itemsets L(5): 2
1 Phan_mem_dietvirus=K 315 ==> Bao_mat=K 315 conf:(1)
2 Internet=K 304 ==> He_dieu_hanh=K 304 conf:(1)
4 Thu_nhap='(-inf-19.333333]' Phan_mem_dietvirus=K 295 ==>
5 Phan_mem_dietvirus=K Internet=K 295 ==> He_dieu_hanh=K 295 conf:(1)
6 He_dieu_hanh=K Phan_mem_dietvirus=K 295 ==> Internet=K 295 conf:(1)
7 He_dieu_hanh=K Bao_mat=K 295 ==> Phan_mem_dietvirus=K 295 conf:(1)
8 He_dieu_hanh=K Phan_mem_dietvirus=K 295 ==> Bao_mat=K 295 conf:(1)
9 Internet=K Bao_mat=K 295 ==> He_dieu_hanh=K 295 conf:(1)
Phạm Thị Minh Châu – HTTTB – K12 58
10 He_dieu_hanh=K Bao_mat=K 295 ==> Internet=K 295 conf:(1)
11 Internet=K Bao_mat=K 295 ==> Phan_mem_dietvirus=K 295 conf:(1)
12 Phan_mem_dietvirus=K Internet=K 295 ==> Bao_mat=K 295 conf:(1)
13 Phan_mem_dietvirus=K Internet=K Bao_mat=K 295 ==>
14 He_dieu_hanh=K Internet=K Bao_mat=K 295 ==>
15 He_dieu_hanh=K Phan_mem_dietvirus=K Bao_mat=K 295 ==>
16 He_dieu_hanh=K Phan_mem_dietvirus=K Internet=K 295 ==>
17 Internet=K Bao_mat=K 295 ==> He_dieu_hanh=K
18 Phan_mem_dietvirus=K Internet=K 295 ==> He_dieu_hanh=K
19 He_dieu_hanh=K Bao_mat=K 295 ==> Phan_mem_dietvirus=K
20 He_dieu_hanh=K Phan_mem_dietvirus=K 295 ==> Internet=K
21 He_dieu_hanh=C 290 ==> Laptop=C 290 conf:(1)
22 He_dieu_hanh=C 290 ==> Internet=C 290 conf:(1)
23 He_dieu_hanh=C Internet=C 290 ==> Laptop=C 290 conf:(1)
24 Laptop=C He_dieu_hanh=C 290 ==> Internet=C 290 conf:(1)
25 He_dieu_hanh=C 290 ==> Laptop=C Internet=C 290 conf:(1)
Phạm Thị Minh Châu – HTTTB – K12 59
26 Internet=C DV_SC_Bduong=C 287 ==> Laptop=C 287 conf:(1)
27 He_dieu_hanh=C DV_SC_Bduong=C 285 ==> Laptop=C 285 conf:(1)
28 He_dieu_hanh=C DV_SC_Bduong=C 285 ==> Internet=C 285 conf:(1)
29 He_dieu_hanh=C Internet=C DV_SC_Bduong=C 285 ==>
30 Laptop=C He_dieu_hanh=C DV_SC_Bduong=C 285 ==>
31 He_dieu_hanh=C DV_SC_Bduong=C 285 ==> Laptop=C
32 Bao_mat=C 284 ==> Phan_mem_dietvirus=C 284 conf:(1)
33 Thu_nhap='(-inf-19.333333]' Internet=K 284 ==> He_dieu_hanh=K
34 Thu_nhap='(-inf-19.333333]' Internet=C 280 ==> Laptop=C 280 conf:(1)
35 Ung_dung_vp=K Internet=K 278 ==> He_dieu_hanh=K 278 conf:(1)
36 Phan_mem_dietvirus=C Internet=C 276 ==> Laptop=C 276 conf:(1)
37 Laptop=C Bao_mat=C 276 ==> Phan_mem_dietvirus=C 276 conf:(1)
38 Internet=K Da_phuong_tien=K 276 ==> He_dieu_hanh=K 276 conf:(1)
39 He_dieu_hanh=K Da_phuong_tien=K 276 ==> Internet=K 276 conf:(1)
40 Internet=C Bao_mat=C 275 ==> Laptop=C 275 conf:(1)
Phạm Thị Minh Châu – HTTTB – K12 60
41 Internet=C Bao_mat=C 275 ==> Phan_mem_dietvirus=C 275 conf:(1)
42 Thu_nhap='(-inf-19.333333]' Phan_mem_dietvirus=K Internet=K
43 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K
Phan_mem_dietvirus=K 275 ==> Internet=K 275 conf:(1)
44 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K Bao_mat=K 275
45 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K
Phan_mem_dietvirus=K 275 ==> Bao_mat=K 275 conf:(1)
46 Thu_nhap='(-inf-19.333333]' Internet=K Bao_mat=K 275 ==>
47 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K Bao_mat=K 275
48 Thu_nhap='(-inf-19.333333]' Internet=K Bao_mat=K 275 ==>
49 Thu_nhap='(-inf-19.333333]' Phan_mem_dietvirus=K Internet=K
50 Phan_mem_dietvirus=C Internet=C Bao_mat=C 275 ==> Laptop=C
51 Laptop=C Internet=C Bao_mat=C 275 ==> Phan_mem_dietvirus=C
52 Internet=C Bao_mat=C 275 ==> Laptop=C Phan_mem_dietvirus=C
53 Thu_nhap='(-inf-19.333333]' Phan_mem_dietvirus=K Internet=K
Bao_mat=K 275 ==> He_dieu_hanh=K 275 conf:(1)
54 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K Internet=K
Phạm Thị Minh Châu – HTTTB – K12 61
Bao_mat=K 275 ==> Phan_mem_dietvirus=K 275 conf:(1)
55 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K
Phan_mem_dietvirus=K Bao_mat=K 275 ==> Internet=K 275 conf:(1)
56 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K
Phan_mem_dietvirus=K Internet=K 275 ==> Bao_mat=K 275 conf:(1)
57 Thu_nhap='(-inf-19.333333]' Internet=K Bao_mat=K 275 ==>
He_dieu_hanh=K Phan_mem_dietvirus=K 275 conf:(1)
58 Thu_nhap='(-inf-19.333333]' Phan_mem_dietvirus=K Internet=K
275 ==> He_dieu_hanh=K Bao_mat=K 275 conf:(1)
59 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K Bao_mat=K 275
==> Phan_mem_dietvirus=K Internet=K 275 conf:(1)
60 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=K
Phan_mem_dietvirus=K 275 ==> Internet=K Bao_mat=K 275 conf:(1)
61 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C 274 ==> Laptop=C
62 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C 274 ==> Internet=C
63 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C Internet=C 274 ==>
64 Thu_nhap='(-inf-19.333333]' Laptop=C He_dieu_hanh=C 274 ==>
65 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C 274 ==> Laptop=C
66 Thu_nhap='(-inf-19.333333]' Internet=C DV_SC_Bduong=C 273
67 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C DV_SC_Bduong=C
Phạm Thị Minh Châu – HTTTB – K12 62
68 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C DV_SC_Bduong=C
69 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C Internet=C
DV_SC_Bduong=C 271 ==> Laptop=C 271 conf:(1)
70 Thu_nhap='(-inf-19.333333]' Laptop=C He_dieu_hanh=C
DV_SC_Bduong=C 271 ==> Internet=C 271 conf:(1)
71 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C DV_SC_Bduong=C
72 He_dieu_hanh=C Phan_mem_dietvirus=C 270 ==> Laptop=C 270 conf:(1)
73 He_dieu_hanh=C Phan_mem_dietvirus=C 270 ==> Internet=C 270 conf:(1)
74 He_dieu_hanh=C Phan_mem_dietvirus=C Internet=C 270 ==>
75 Laptop=C He_dieu_hanh=C Phan_mem_dietvirus=C 270 ==>
76 He_dieu_hanh=C Phan_mem_dietvirus=C 270 ==> Laptop=C
77 Bao_mat=K 316 ==> Phan_mem_dietvirus=K 315 conf:(1)
78 Thu_nhap='(-inf-19.333333]' Bao_mat=K 296 ==>
79 Phan_mem_dietvirus=C 285 ==> Bao_mat=C 284 conf:(1)
80 Laptop=C Phan_mem_dietvirus=C 277 ==> Internet=C 276 conf:(1)
81 Laptop=C Phan_mem_dietvirus=C 277 ==> Bao_mat=C 276 conf:(1)
82 Laptop=C Bao_mat=C 276 ==> Internet=C 275 conf:(1)
Phạm Thị Minh Châu – HTTTB – K12 63
83 Phan_mem_dietvirus=C Internet=C 276 ==> Bao_mat=C 275 conf:(1)
84 Laptop=C Phan_mem_dietvirus=C Bao_mat=C 276 ==> Internet=C
85 Laptop=C Phan_mem_dietvirus=C Internet=C 276 ==> Bao_mat=C
86 Phan_mem_dietvirus=C Internet=C 276 ==> Laptop=C Bao_mat=C
87 Laptop=C Bao_mat=C 276 ==> Phan_mem_dietvirus=C Internet=C
88 Internet=C DV_SC_Bduong=C 287 ==> He_dieu_hanh=C 285 conf:(0.99)
89 Laptop=C Internet=C DV_SC_Bduong=C 287 ==>
90 Internet=C DV_SC_Bduong=C 287 ==> Laptop=C
91 Laptop=C Phan_mem_dietvirus=C 277 ==> Internet=C Bao_mat=C
92 Thu_nhap='(-inf-19.333333]' Internet=C DV_SC_Bduong=C 273
93 Thu_nhap='(-inf-19.333333]' Laptop=C Internet=C
DV_SC_Bduong=C 273 ==> He_dieu_hanh=C 271 conf:(0.99)
94 Thu_nhap='(-inf-19.333333]' Internet=C DV_SC_Bduong=C 273
==> Laptop=C He_dieu_hanh=C 271 conf:(0.99)
95 Laptop=C DV_SC_Bduong=C 290 ==> Internet=C 287 conf:(0.99)
96 He_dieu_hanh=K Ung_dung_vp=K 281 ==> Internet=K 278
Phạm Thị Minh Châu – HTTTB – K12 64 conf:(0.99)
97 Thu_nhap='(-inf-19.333333]' Laptop=C DV_SC_Bduong=C 276
98 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C 274 ==>
99 Thu_nhap='(-inf-19.333333]' Laptop=C He_dieu_hanh=C 274 ==>
100 Thu_nhap='(-inf-19.333333]' He_dieu_hanh=C 274 ==> Laptop=C
Kết quả là phần Best rules found - Các luật tốt nhất tìm đƣợc
Ví dụ đọc hiểu quy luật:
24 Laptop=C He_dieu_hanh=C 290 ==> Internet=C 290 conf:(1)
- Tần suất xuất hiện sản phẩm máy tính xách tay, hệ điều hành và thiết bị kết nối internet là 290
Trong một cơ sở dữ liệu với 600 bản ghi, tỷ lệ hỗ trợ được tính toán là sup = 290/600 = 0.48, lớn hơn mức tối thiểu minsup = 0.1 Tỷ lệ này cho thấy sự hỗ trợ vừa phải trong một cơ sở dữ liệu nhỏ như vậy.
- Khả năng khách hàng sử dụng máy tính xách tay, hệ điều hành và thiết bị kết nối internet là 1 tương đương với xác suất xảy ra là 100%
41 Internet=C Bao_mat=C 275 ==> Phan_mem_dietvirus=C 275 conf:(1)
- Tần suất xuất hiện đồng thời của Internet, bảo mật và phần mềm diệt virus là
Số lượng bản ghi trong cơ sở dữ liệu là 600, cho thấy mức độ hỗ trợ sup đạt 0.46 (tính từ 275/600), lớn hơn mức tối thiểu minsup là 0.1 Tỷ lệ này được xem là hợp lý trong bối cảnh một cơ sở dữ liệu nhỏ với 600 bản ghi.
Phạm Thị Minh Châu – HTTTB – K12 65
Khách hàng có khả năng mua các thiết bị kết nối Internet và phần mềm bảo mật, bao gồm cả phần mềm diệt virus, với xác suất đạt 100%.
50 Laptop=C He_dieu_hanh=C 290 ==> DV_SC_Bduong=C 285 conf:(0.98)
- Tần suất xuất hiện đồng thời của laptop và hệ điều hành là 290 trong khi tần suất xuất hiện của dịch vụ sửa chữa bảo dƣỡng là 285
Trong một cơ sở dữ liệu với 600 bản ghi, tỷ lệ hỗ trợ được tính toán là sup = 290/600 = 0.48, lớn hơn mức tối thiểu minsup = 0.1 Tỷ lệ này cho thấy sự hỗ trợ vừa phải trong ngữ cảnh của một cơ sở dữ liệu nhỏ.
- Khả năng khách hàng mua laptop và hệ điều hành đồng thời sử dụng dịch vụ sửa chữa, bảo dưỡng là 0.98 tương đương với xác suất xảy ra là 98%
Các quy luật còn lại cũng sẽ suy ra tương tự
3.3.6 Đánh giá kết quả bài toán
Để đánh giá quy luật, hai thông số quan trọng là độ tin cậy (Conf) và độ hỗ trợ (Sup) Những kết quả thu được cho thấy tỷ lệ này khá cao, từ đó khẳng định rằng các luật được đưa ra có thể tin cậy.
Một số ý nghĩa đƣợc rút ra từ kết quả nhận đƣợc:
- Từ quy luật 21 cho thấy khách hàng mua sản phẩm máy tính xách tay và hệ điều hành chắc chắn sẽ mua các thiết bị kết nối internet
- Từ quy luật 41 cho thấy khách hàng mua các thiết bị kết nối internet và phần mềm bảo mật chắc chắn sẽ mua phần mềm diệt virus
- Từ quy luật 50 cho thấy khả năng 98% các khách hàng mua máy tính xách tay, sản phẩm hệ điều hành sẽ sử dụng dịch vụ sửa chữa, bảo dƣỡng
Tác giả có một số khuyến nghị nhƣ sau:
Đối với khách hàng có thu nhập dưới 19 triệu, cần cung cấp các sản phẩm như laptop, hệ điều hành, thiết bị kết nối internet và dịch vụ sửa chữa, bảo dưỡng.
Phạm Thị Minh Châu – HTTTB – K12 66
- Giới thiệu cho các khách hàng mua máy tính xách tay về sản phẩm hệ điều hành
Chúng tôi cung cấp dịch vụ sửa chữa và bảo dưỡng cho máy tính xách tay, hệ điều hành và các thiết bị kết nối internet, giúp khách hàng duy trì hiệu suất tối ưu cho sản phẩm của mình.
Mặc dù bộ cơ sở dữ liệu còn nhỏ và chưa đủ để tổng quát toàn bộ tri thức đã được rút trích, nhưng nó đã chứng minh tiềm năng lớn của luật kết hợp trong khai phá dữ liệu, góp phần giải quyết hiệu quả các yêu cầu của bài toán đã nêu.
Cần lưu ý rằng trong các luật, có thể có những luật không phù hợp với thực tế
Các luật này cung cấp thông tin hữu ích cho nhân viên marketing trong việc quảng cáo và giới thiệu sản phẩm, nhưng không nên áp dụng một cách cứng nhắc, vì đôi khi chúng có thể mâu thuẫn với nhau.
Phạm Thị Minh Châu – HTTTB – K12 67
Trong quá trình thực hiện khóa luận, tôi đã tích lũy được nhiều kiến thức về khai phá dữ liệu, đặc biệt là luật kết hợp, nhưng nhận thấy đây vẫn là lĩnh vực nghiên cứu rộng lớn và đầy tiềm năng Khóa luận đã trình bày những vấn đề cơ bản như tầm quan trọng của khai phá dữ liệu, các phương pháp tiếp cận, kỹ thuật khai thác dữ liệu bằng luật kết hợp và các thuật toán phát hiện luật kết hợp Thông qua phần thử nghiệm, tôi đã sử dụng phần mềm để phát hiện các luật kết hợp một cách hiệu quả.
Weka dựa trên bộ số liệu thực tế của công ty TNHH thương mại và dịch vụ
TSG và sử dụng luật kết hợp này trong hoạt động marketing