Tôi chưa quen với Machine Learning. Hiện tại tôi đang sử dụng trình phân loại Naive Bayes (NB) để phân loại các văn bản nhỏ trong 3 lớp là dương, âm hoặc trung tính, sử dụng NLTK và python.
Sau khi tiến hành một số thử nghiệm, với bộ dữ liệu gồm 300.000 trường hợp (16.924 dương tính 7.477 âm và 275.599 trung tính) Tôi thấy rằng khi tôi tăng số lượng tính năng, độ chính xác sẽ giảm nhưng độ chính xác / thu hồi đối với các lớp dương và âm tăng lên. Đây có phải là một hành vi bình thường cho một bộ phân loại NB? Chúng ta có thể nói rằng sẽ tốt hơn nếu sử dụng nhiều tính năng hơn không?
Một số dữ liệu:
Features: 50
Accuracy: 0.88199
F_Measure Class Neutral 0.938299
F_Measure Class Positive 0.195742
F_Measure Class Negative 0.065596
Features: 500
Accuracy: 0.822573
F_Measure Class Neutral 0.904684
F_Measure Class Positive 0.223353
F_Measure Class Negative 0.134942
Cảm ơn trước...
Chỉnh sửa 2011/11/26
Tôi đã thử nghiệm 3 chiến lược lựa chọn tính năng khác nhau (MAXFREQ, FREQENT, MAXINFOGAIN) với trình phân loại Naive Bayes. Đầu tiên ở đây là Độ chính xác và Các biện pháp F1 cho mỗi lớp:
Sau đó, tôi đã vạch ra lỗi tàu và lỗi kiểm tra với tập huấn luyện tăng dần, khi sử dụng MAXINFOGAIN với 100 tính năng hàng đầu và 1000 tính năng hàng đầu:
Vì vậy, đối với tôi, mặc dù độ chính xác cao nhất đạt được với FREQENT, nhưng trình phân loại tốt nhất là sử dụng MAXINFOGAIN, điều này có đúng không? Khi sử dụng 100 tính năng hàng đầu, chúng tôi có sai lệch (lỗi kiểm tra gần với lỗi đào tạo) và việc thêm nhiều ví dụ đào tạo sẽ không giúp ích gì. Để cải thiện điều này, chúng tôi sẽ cần nhiều tính năng hơn. Với 1000 tính năng, độ lệch sẽ giảm nhưng lỗi tăng ... Điều này có ổn không? Tôi có cần thêm nhiều tính năng không? Tôi thực sự không biết làm thế nào để giải thích điều này ...
Cảm ơn một lần nữa ...