Bài giảng Khai quá dữ liệu - Chương 4: Phân lớp và dự báo
Tóm tắt Bài giảng Khai quá dữ liệu - Chương 4: Phân lớp và dự báo: ... Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 2. Tính Gain cho từng thuộc tính: Thuộc tính “Gió” Gain(S, Gió) = Entropy(S) – ( 𝟔 𝟏𝟒 )En...m u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 5. Xác định thuộc tính làm nút gốc: Thuộc tí...ương ứng với bảng con này. - Bước 8: Nếu tất cả các dòng đều khóa + Nếu còn bảng con thì qua bảng con tiếp theo và quay lại bước 2. + Ngược lại chấm dứt thuật toán + Ngược lại (nghĩa là vẫn còn dòng chưa khóa trong bảng con đang xét) thì quay lại bước 4. Thuật toán ILA (Inductive Le...
uyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 2. Tính Gain cho từng thuộc tính: Thuộc tính “Gió” Gain(S, Gió) = Entropy(S) – ( 𝟔 𝟏𝟒 )Entropy(SMạnh) – ( 𝟖 𝟏𝟒 )Entropy(SNhẹ) = 0.940 – ( 𝟔 𝟏𝟒 )(1) - ( 𝟖 𝟏𝟒 )(- ( 𝟔 𝟖 )log2( 𝟔 𝟖 ) – ( 𝟐 𝟖 )log2( 𝟐 𝟖 )) = 0.048 Gió Mạnh Nhẹ Chơi: 3 Không: 3 Chơi: 6 Không: 2 Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 2. Tính Gain cho từng thuộc tính: Thuộc tính “Độ ẩm” Gain(S, Độ ẩm) = Entropy(S) – ( 𝟕 𝟏𝟒 )Entropy(SCao) – ( 𝟕 𝟏𝟒 )Entropy(ST.Bình) = 0.940 – ( 𝟕 𝟏𝟒 )(- ( 𝟑 𝟕 )log2( 𝟑 𝟕 ) – ( 𝟒 𝟕 )log2( 𝟒 𝟕 )) - ( 𝟕 𝟏𝟒 )(- ( 𝟔 𝟕 )log2( 𝟔 𝟕 ) – ( 𝟏 𝟕 )log2( 𝟏 𝟕 )) = 0.151 Độ ẩm Cao T.bình Chơi: 3 Không: 4 Chơi: 6 Không: 1 Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 3. Xác định thuộc tính làm nút gốc: Thuộc tính “Quang cảnh” có độ lợi thông tin cao nhất nên được chọn làm nút gốc. Quang cảnh Chơi - Không chơi Chơi - Không chơi Chơi Nắng Âm u Mưa Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 3. Sau khi lập được cấp đầu tiên của cây quyết định ta lại xét nhánh Nắng: Độ hỗn loạn của tập SNắng: Entropy(SNắng) = - ( 𝟑 𝟓 ) log2 ( 𝟑 𝟓 ) - ( 𝟐 𝟓 ) log2( 𝟐 𝟓 ) = 0.971 Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 4. Tính Gain cho từng thuộc tính: Thuộc tính “Nhiệt độ” Gain(SNắng, Nhiệt độ) = Entropy(SNắng) – ( 𝟐 𝟓 )Entropy(SNóng) – ( 𝟐 𝟓 )Entropy(SẤm áp) – ( 𝟏 𝟓 ) Entropy(SMát) = 0.971 – ( 𝟐 𝟓 )(0) - ( 𝟐 𝟓 )(1) - ( 𝟏 𝟓 )(0) = 0.571 Quang cảnh Ấm áp Nóng Mát Chơi: 0 Không: 2 Chơi: 1 Không: 1 Chơi: 1 Không: 0 Nhiệt độ Nắng Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 4. Tính Gain cho từng thuộc tính: Thuộc tính “Gió” Gain(SNắng, Gió) = Entropy(SNắng) – ( 𝟐 𝟓 )Entropy(SNhẹ) – ( 𝟑 𝟓 )Entropy(SMạnh) = 0.971 – ( 𝟐 𝟓 )(1) - ( 𝟑 𝟓 )(-( 𝟏 𝟑 )log2(( 𝟏 𝟑 )-( 𝟐 𝟑 )log2( 𝟐 𝟑 )) = 0.020 Quang cảnh Nhẹ Mạnh Chơi: 1 Không: 1 Chơi: 1 Không: 2 Gió Nắng Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 4. Tính Gain cho từng thuộc tính: Thuộc tính “Độ ẩm” Gain(SNắng, Độ ẩm) = Entropy(SNắng) – ( 𝟑 𝟓 )Entropy(SCao) – ( 𝟐 𝟓 )Entropy(ST.Bình) = 0.971 – ( 𝟑 𝟓 )(0) - ( 𝟐 𝟓 )(0) = 0.971 Quang cảnh Cao T.Bình Chơi: 0 Không: 3 Chơi: 2 Không: 0 Độ ẩm Nắng Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 5. Xác định thuộc tính làm nút gốc: Thuộc tính “Độ ẩm” có độ lợi thông tin cao nhất trong nhánh Nắng nên được chọn làm nút gốc. Quang cảnh Chơi - Không chơi Chơi Nắng Âm u Mưa Độ ẩm Cao Không Chơi T.Bình Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 6. Xét nhánh Mưa: Độ hỗn loạn của tập SMưa: Entropy(SMưa) = - ( 𝟑 𝟓 ) log2 ( 𝟑 𝟓 ) - ( 𝟐 𝟓 ) log2( 𝟐 𝟓 ) = 0.971 Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 7. Tính Gain cho từng thuộc tính: Thuộc tính “Nhiệt độ” Gain(SMưa, Nhiệt độ) = Entropy(SMưa) – ( 𝟑 𝟓 )Entropy(SẤm áp) – ( 𝟐 𝟓 )Entropy(SMát) = 0.971 – ( 𝟑 𝟓 )(-( 𝟐 𝟑 )log2( 𝟐 𝟑 )-( 𝟏 𝟑 )log2( 𝟏 𝟑 )) - ( 𝟐 𝟓 )(1) = 0.020 Quang cảnh Ấm áp Nóng Mát Chơi: 0 Không: 0 Chơi: 2 Không: 1 Chơi: 1 Không: 1 Nhiệt độ Mưa Xây dựng cây quyết định Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh Không Tập dữ liệu huấn luyện 7. Tính Gain cho từng thuộc tính: Thuộc tính “Gió” Gain(SMưa, Gió) = Entropy(SMưa) – ( 𝟑 𝟓 )Entropy(SNhẹ) – ( 𝟐 𝟓 )Entropy(SMạnh) = 0.971 – ( 𝟑 𝟓 )(0) - ( 𝟐 𝟓 )(0) = 0.971 Quang cảnh Nhẹ Mạnh Chơi: 3 Không: 0 Chơi: 0 Không: 2 Gió Mưa Xây dựng cây quyết định Chương 4: Phân lớp và dự báo 8. Xác định thuộc tính làm nút gốc: Thuộc tính “Gió” có độ lợi thông tin cao nhất trong nhánh Mưa nên được chọn làm nút gốc. Quang cảnh Chơi Nắng Âm u Mưa Độ ẩm Cao Không Chơi T.Bình Nhẹ Có Không Mạnh Gió Luật rút ra từ cây quyết định Chương 4: Phân lớp và dự báo • if (Quang cảnh = Nắng) and (Độ ẩm = cao) then Chơi tennis = Không • if (Quang cảnh = Nắng) and (Độ ẩm = Trung bình) then Chơi tennis= Có • if (Quang cảnh = Âm u) then Chơi tennis = Có • if (Quang cảnh = Mưa) and (Gió = Nhẹ) then Chơi tennis = Có • if (Quang cảnh = Mưa) and (Gió = Mạnh) then Chơi tennis = Không Quang cảnh Chơi Nắng Âm u Mưa Độ ẩm Cao Không Chơi T.Bình Nhẹ Có Không Mạnh Gió Bài tập Chương 4: Phân lớp và dự báo Xây dựng cây quyết định và rút ra các luật từ dữ liệu huấn luyện sau: Tuổi Thu nhập Sinh viên Đánh giá độ tín nhiệm (trong tín dụng mua chịu) Mua máy tính Thanh niên Cao Không Trung bình Không Thanh niên Cao Không Tốt Không Trung niên Cao Không Trung bình Có Già Trung bình Không Trung bình Có Già Thấp Có Trung bình Có Già Thấp Có Tốt Không Trung niên Thấp Có Tốt Có Thanh niên Trung bình Không Trung bình Không Thanh niên Thấp Có Trung bình Có Già Trung bình Có Trung bình Có Thanh niên Trung bình Có Tốt Có Trung niên Trung bình Không Tốt Có Trung niên Cao Có Trung bình Có Già Trung bình không Tốt Không Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo - Bước 1: Chia bảng có chứa m mẫu thành n bảng con. Một bảng ứng với một giá trị có thể có của thuộc tính lớp. (Từ bước 2 đến bước 8 sẽ đuợc lặp lại cho mỗi bảng) - Bước 2: Khởi tạo số lượng thuộc tính kết hợp j với j = 1. - Bước 3: Với mỗi bảng con đang xét, phân chia các thuộc tính của nó thành một danh sách các thuộc tính kết hợp, mỗi thành phần của danh sách có j thuộc tính phân biệt. - Bước 4: Với mỗi kết hợp các thuộc tính trong danh sách trên, đếm số lần xuất hiện các giá trị cho các thuộc tính trong kết hợp đó ở các dòng chưa bị khóa của bảng đang xét nhưng nó không được xuất hiện cùng giá trị ở những bảng con khác. Chọn ra một kết hợp trong danh sách sao cho nó có giá trị tương ứng xuất hiện nhiều nhất và được gọi là Max_combination. Thuật toán phân lớp sinh luật trực tiếp Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo - Bước 5: If max_combination = 0 thì j = j + 1 quay lại bước 3. - Bước 6: Khóa các dòng ở bảng con đang xét mà tại đó nó có giá trị bằng với giá trị tạo ra max_combination. - Bước 7: Thêm vào R luật mới với giả thiết là max_combination các thuộc tính và giá trị tương ứng phân biệt và kết nối các bộ này bằng AND, kết luận của luật là giá trị của thuộc tính quyết định tương ứng với bảng con này. - Bước 8: Nếu tất cả các dòng đều khóa + Nếu còn bảng con thì qua bảng con tiếp theo và quay lại bước 2. + Ngược lại chấm dứt thuật toán + Ngược lại (nghĩa là vẫn còn dòng chưa khóa trong bảng con đang xét) thì quay lại bước 4. Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Số lượng thuộc tính kết hợp j = 1 Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Nắng Mát Trung bình Nhẹ Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không IF Quang cảnh=“Âm u” then Chơi Tennis=“Có” Số lượng thuộc tính kết hợp j = 2 Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không IF Quang cảnh=“Âm u” then Chơi Tennis=“Có” IF Quang cảnh=“Mưa” and Gió=“Nhẹ” then Chơi Tennis=“Có” IF Quang cảnh=“Nắng” and Độ ẩm=“Trung bình” then Chơi Tennis=“Có” Số lượng thuộc tính kết hợp j = 3 Không còn bảng con Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Số lượng thuộc tính kết hợp j = 1 max_combin ation =0 Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Số lượng thuộc tính kết hợp j = 2 Thuật toán ILA (Inductive Learning Algorithm) Chương 4: Phân lớp và dự báo Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có IF Quang cảnh=“Âm u” then Chơi Tennis=“Có” IF Quang cảnh=“Mưa” and Gió=“Nhẹ” then Chơi Tennis=“Có” IF Quang cảnh=“Nắng” and Độ ẩm=“Trung bình” then Chơi Tennis=“Có” IF Quang cảnh=“Nắng” and Độ ẩm=“Cao” then Chơi Tennis=“Không” IF Quang cảnh=“Mưa” and Gió=“Mạnh” then Chơi Tennis=“Không” Số lượng thuộc tính kết hợp j = 3 Không còn bảng Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo Phân lớp theo mô hình xác suất - Dự đoán xác suất là thành viên của một lớp - Nền tảng: Dựa trên Định lý Bayes: * Cho X, Y là các biến bất kỳ (rời rạc, số,...). * Dự đoán Y từ X. * Định lý Bayes: P(y|x) = 𝑷 𝒙 𝒚 ∗𝑷(𝒚) 𝑷(𝒙) Cụ thể hơn: P(Y=yi|X=xj) = 𝑷 𝑿=𝒙𝒋 𝒀=𝒚𝒊 ∗𝑷(𝒀=𝒚𝒊) 𝑷(𝑿=𝒙𝒋) (∀𝒊, 𝒋)P(Y=yi|X=xj) = 𝑷 𝑿=𝒙𝒋 𝒀=𝒚𝒊 ∗𝑷(𝒀=𝒚𝒊) 𝑷 𝑿=𝒙𝒋 𝒀=𝒚𝒌 ∗𝑷(𝒀=𝒚𝒌)𝒌 Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo Giả sử: - D: Tập huấn luyện gồm các mẫu biểu diễn dạng X= - Ci,D: Tập các mẫu của D thuộc lớp Ci với: i={1,2,...,m} - Các thuộc tính x1,x2,... độc lập điều kiện đôi một với nhau khi cho lớp C P(x1,x2,...,xn|C)=P(x1|C)*P(x2|C)*...*P(xn|C) - Định lý Bayes: P(Ci|X) = 𝑷 𝑿 𝑪𝒊 ∗𝑷(𝑪𝒊) 𝑷(𝑿) Ý tưởng: Cần xác định xác suất P(Ci|X) lớn nhất hay: Luật phân lớp cho Xnew = {x1,x2,...,xn} là: argmax P(Ci) 𝑷(𝒙𝒌|𝑪𝒊) 𝒏 𝒌=𝟏 Ck Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo Thuật toán: Bước 1: Huấn luyện Naive Bayes trên tập dữ liệu huấn luyện: Tính lượng giá P(Ci) Tính lượng giá P(Xk|Ci) Bước 2: Xnew được gán vào lớp cho giá trị công thức lớn nhất: argmax P(Ci) 𝑷(𝒙𝒌|𝑪𝒊) 𝒏 𝒌=𝟏 Ck Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo Ví dụ: Cho Xnew = <Quang cảnh=“Nắng”, Nhiệt độ=“Mát”, Độ ẩm=“Cao”, Gió=“Mạnh” Cần tự động nhận biết lớp của đối tượng này? Bước 1: a. Ước lượng P(Ci) với C1=“Chơi” và C2=“Không” b. Ước lượng P(xk|Ci) a. P(C1)=9/14=0.643 và P(C2)=5/14=0.357 b. Với thuộc tính Quang cảnh, có các giá trị: Nắng, Mưa, Âm u • P(“Nắng”|”Chơi”)=2/9 P(“Nắng”|”Không”)=3/5 • P(“Mưa”|”Chơi”)=3/9 P(“Mưa”|”Không”)=2/5 • P(“Âm u”|”Chơi”)=4/9 P(“Âm u”|”Không”)=0/5 Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo * Với thuộc tính Nhiệt độ, có các giá trị: Nóng, Mát, Ấm áp • P(“Nóng”|”Chơi”)=2/9 P(“Nóng”|”Không”)=2/5 • P(“Mát”|”Chơi”)=3/9 P(“Mát”|”Không”)=1/5 • P(“Ấm áp”|”Chơi”)=4/9 P(“Ấm áp”|”Không”)=2/5 * Với thuộc tính Độ ẩm, có các giá trị: Cao, T.Bình • P(“Cao”|”Chơi”)=3/9 P(“Cao”|”Không”)=4/5 • P(“T.Bình”|”Chơi”)=6/9 P(“T.Bình”|”Không”)=1/5 Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Phương pháp Naϊve Bayes Chương 4: Phân lớp và dự báo * Với thuộc tính Gió, có các giá trị: Nhẹ,Mạnh • P(“Nhẹ”|”Chơi”)=6/9 P(“Nhẹ”|”Không”)=1/5 • P(“Mạnh”|”Chơi”)=3/9 P(“Mạnh”|”Không”)=3/5 Bước 2: Phân lớp: Xnew = <Quang cảnh=“Nắng”, Nhiệt độ=“Mát”, Độ ẩm=“Cao”, Gió=“Mạnh” P(C1)*P(X,C1) = P(C1)*P(“Nắng”|”Chơi”)*P(“Mát”|”Chơi”)* P(“Cao”|”Chơi”)*P(“Mạnh”|”Chơi”) =(9/14)*(2/9)*(3/9)*(3/9)*(3/9)=0.005 P(C2)*P(X,C2) = P(C2)*P(“Nắng”|”Không”)*P(“Mát”|”Không”)* P(“Cao”|”Không”)*P(“Mạnh”|”Không”) =(5/14)*(3/5)*(1/5)*(4/5)*(3/5)=0.021 Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Âm u Nóng Cao Nhẹ Có Âm u Mát Trung bình Mạnh Có Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Mưa Mát Trung bình Mạnh Không Nắng Ấm áp Cao Nhẹ Không Mưa Ấm áp Cao Mạnh Không Xnew thuộc lớp C2 (“Không”) Đánh giá mô hình Chương 4: Phân lớp và dự báo Phương pháp Holdout Phân chia ngẫu nhiên tập dữ liệu thành 2 tập độc lập: - Tập huấn luyện: 2/3 - Tập thử nghiệm: 1/3 Phương pháp Cross-Validation Phân chia tập dữ liệu thành k tập con có cùng kích thước: - Tại mỗi vòng lặp: * Sử dụng một tập con làm tập thử nghiệm * k-1 tập còn lại làm tập huấn luyện - Giá trị của k thường là 10
File đính kèm:
- bai_giang_khai_qua_du_lieu_chuong_4_phan_lop_va_du_bao.pdf