Vấn đề
Tôi đã thử sử dụng vịnh Naive trên bộ dữ liệu tội phạm được dán nhãn nhưng nhận được kết quả thực sự kém (độ chính xác 7%). Naive Bayes chạy nhanh hơn nhiều so với các thuật toán khác mà tôi đã sử dụng vì vậy tôi muốn thử tìm hiểu tại sao điểm số lại quá thấp.
Nghiên cứu
Sau khi đọc, tôi thấy rằng các vịnh Naive nên được sử dụng với các bộ dữ liệu cân bằng vì nó có độ lệch cho các lớp có tần suất cao hơn. Vì dữ liệu của tôi không cân bằng, tôi muốn thử sử dụng Naive Bayes bổ sung vì nó được tạo ra đặc biệt để xử lý các sai lệch dữ liệu. Trong bài viết mô tả quy trình, ứng dụng dành cho phân loại văn bản nhưng tôi không hiểu tại sao kỹ thuật này không hoạt động trong các tình huống khác. Bạn có thể tìm thấy bài báo tôi đang đề cập ở đây . Nói tóm lại, ý tưởng là sử dụng các trọng số dựa trên các lần xuất hiện trong đó một lớp không xuất hiện.
Sau khi thực hiện một số nghiên cứu, tôi đã có thể tìm thấy một triển khai trong Java nhưng thật không may, tôi không biết bất kỳ Java nào và tôi chỉ không hiểu rõ thuật toán đủ để tự thực hiện.
Câu hỏi
nơi tôi có thể tìm thấy một triển khai trong python? Nếu điều đó không tồn tại, tôi nên tự mình thực hiện nó như thế nào?