Проблема
Я намагався використовувати Naive Bayes на міченому наборі даних про злочини, але отримав дійсно погані результати (7% точність). Naive Bayes працює набагато швидше, ніж інші алогоритми, якими я користувався, тому хотів спробувати з'ясувати, чому оцінка була такою низькою.
Дослідження
Після прочитання я виявив, що Naive Bayes слід використовувати з збалансованими наборами даних, оскільки він має ухил для класів з більшою частотою. Оскільки мої дані незбалансовані, я хотів спробувати використовувати Комплементарний Наївний Бейс, оскільки він створений спеціально для боротьби з перекосами даних. У статті, що описує процес, заявка призначена для класифікації тексту, але я не розумію, чому методика не працює в інших ситуаціях. Ви можете знайти папір, про яку я посилаюся тут . Коротше кажучи, ідея полягає у використанні ваг на основі випадків, коли клас не з'являється.
Після деяких досліджень я зміг знайти реалізацію в Java, але, на жаль, я не знаю жодної Java, і я просто не розумію алгоритм достатньо добре, щоб реалізувати себе.
Питання
де я можу знайти реалізацію в python? Якщо цього не існує, як я повинен сам займатися його реалізацією?