Hãy cài đặt bộ phân lớp Multinomial Naive Bayes mini để phân loại tin nhắn theo mô hình bag-of-words. Từ điển có V từ (đánh số 0..V−1), có C lớp và n tin nhắn huấn luyện; mỗi tin nhắn được biểu diễn bằng vectơ đếm từ (w1,…,wV).
Huấn luyện:
Phân lớp tin nhắn mới có vectơ đếm q: tính điểm log cho từng lớp
score(c)=lnP(c)+∑w=0V−1qwlnP(w∣c)
và chọn lớp có điểm lớn nhất (nếu bằng nhau, chọn lớp chỉ số nhỏ nhất). Mỗi lớp đảm bảo có ít nhất một tin nhắn huấn luyện.
Dòng đầu: ba số nguyên V C n. n dòng tiếp theo: số nguyên ci (nhãn lớp) rồi V số nguyên là vectơ đếm từ của tin nhắn i. Dòng cuối: V số nguyên là vectơ đếm từ của tin nhắn cần phân lớp.
1 ≤ V ≤ 100; 2 ≤ C ≤ 10; 1 ≤ n ≤ 1000; 0 ≤ số đếm ≤ 100.
Một dòng duy nhất: chỉ số lớp dự đoán (số nguyên).
Ví dụ:
Đầu vào:
3 2 4
0 2 1 0
0 1 1 0
1 0 1 2
1 0 0 3
1 0 2
Đầu ra:
1
Giải thích:
Đang tải editor...