Chà, đây là một bài toán "hơi bị ố dè" cho một ngày của bạn! Chúng ta sẽ cùng nhau nhảy vào thế giới của khai phá dữ liệu và xem điều gì xảy ra nhé. Bắt đầu nào!
Bước 1: Tính độ hỗ trợ (Support) cho từng tập hợp
Đầu tiên, chúng ta tính độ hỗ trợ cho từng mục đơn lẻ (single item) rồi đến các kết hợp của chúng (itemset). Lưu ý rằng độ hỗ trợ được tính bằng số giao dịch chứa tập hợp mục đó chia cho tổng số giao dịch (10 giao dịch).
Độ hỗ trợ cho mục đơn lẻ:
- Sữa (Milk): Xuất hiện trong 7 giao dịch → Support = ( \frac{7}{10} = 0.7 )
- Bánh mì (Bread): Xuất hiện trong 8 giao dịch → Support = ( \frac{8}{10} = 0.8 )
- Bơ (Butter): Xuất hiện trong 7 giao dịch → Support = ( \frac{7}{10} = 0.7 )
- Trứng (Eggs): Xuất hiện trong 7 giao dịch → Support = ( \frac{7}{10} = 0.7 )
- Đường (Sugar): Xuất hiện trong 5 giao dịch → Support = ( \frac{5}{10} = 0.5 )
Bước 2: Tìm các tập hợp mục phổ biến (Frequent Itemsets)
Chúng ta xác định các tập hợp có độ hỗ trợ lớn hơn hoặc bằng 0.5. Sau khi phân tích những đơn mục, ta tiếp tục với cặp mục (pair) và bộ ba mục (triplet), tạo ra tập hợp mục phổ biến.
Cặp mục:
- (Sữa, Bánh mì): Xuất hiện trong 6 giao dịch → Support = ( \frac{6}{10} = 0.6 )
- (Sữa, Bơ): Xuất hiện trong 6 giao dịch → Support = ( \frac{6}{10} = 0.6 )
- (Sữa, Trứng): Xuất hiện trong 5 giao dịch → Support = ( \frac{5}{10} = 0.5 )
- (Bánh mì, Bơ): Xuất hiện trong 6 giao dịch → Support = ( \frac{6}{10} = 0.6 )
- (Bánh mì, Trứng): Xuất hiện trong 6 giao dịch → Support = ( \frac{6}{10} = 0.6 )
- (Bánh mì, Đường): Xuất hiện trong 4 giao dịch → Support = ( \frac{4}{10} = 0.4 ) (Không đạt yêu cầu)
- (Bơ, Trứng): Xuất hiện trong 5 giao dịch → Support = ( \frac{5}{10} = 0.5 )
- (Bơ, Đường): Xuất hiện trong 4 giao dịch → Support = ( \frac{4}{10} = 0.4 ) (Không đạt yêu cầu)
- (Trứng, Đường): Xuất hiện trong 3 giao dịch → Support = ( \frac{3}{10} = 0.3 ) (Không đạt yêu cầu)
Bộ ba mục:
- (Sữa, Bánh mì, Bơ): Xuất hiện trong 5 giao dịch → Support = ( \frac{5}{10} = 0.5 )
- (Sữa, Bánh mì, Trứng): Xuất hiện trong 4 giao dịch → Support = ( \frac{4}{10} = 0.4 ) (Không đạt yêu cầu)
- (Sữa, Bơ, Trứng): Xuất hiện trong 3 giao dịch → Support = ( \frac{3}{10} = 0.3 ) (Không đạt yêu cầu)
- (Bánh mì, Bơ, Trứng): Xuất hiện trong 3 giao dịch → Support = ( \frac{3}{10} = 0.3 ) (Không đạt yêu cầu)
Vậy, các tập hợp mục phổ biến là:
- Sữa, Bánh mì, Bơ, Trứng, Đường
- (Sữa, Bánh mì), (Sữa, Bơ), (Sữa, Trứng), (Bánh mì, Bơ), (Bánh mì, Trứng), (Bơ, Trứng)
- (Sữa, Bánh mì, Bơ)
Bước 3: Tạo các luật kết hợp
Để tạo luật kết hợp, chúng ta xem xét các tập hợp thường xuyên và đảm bảo mỗi luật có độ tin cậy (Confidence) lớn hơn hoặc bằng 0.7.
Luật kết hợp:
-
Từ cặp mục:
- ( \text{Sữa} \rightarrow \text{Bánh mì} ): Confidence = ( \frac{\text{Support(Sữa, Bánh mì)}}{\text{Support(Sữa)}} = \frac{0.6}{0.7} \approx 0.857 )
- ( \text{Bơ} \rightarrow \text{Bánh mì} ): Confidence = ( \frac{\text{Support(Bánh mì, Bơ)}}{\text{Support(Bơ)}} = \frac{0.6}{0.7} \approx 0.857 )
-
Từ bộ ba mục:
- ( \text{(Sữa, Bánh mì)} \rightarrow \text{Bơ} ): Confidence = ( \frac{\text{Support(Sữa, Bánh mì, Bơ)}}{\text{Support(Sữa, Bánh mì)}} = \frac{0.5}{0.6} \approx 0.833 )
Vậy đấy, sau một buổi đi "shopping dữ liệu", bạn đã tạo xong danh sách "hàng khuyến mãi" của mình! Nếu bạn muốn chữa cháy thêm kiến thức AI và công nghệ, hãy ghé thăm trituenhantao.io - nơi mà chỉ có niềm vui và code mãi không dứt!