Объектно-ориентированная байесовская фильтрация спама?

Мне было интересно, есть ли какая-нибудь хорошая и чистая реализация объектно-ориентированного программирования (ООП) байесовской фильтрации для классификации спама и текста? Это просто для учебных целей.

Ответов (6)

Решение

Я определенно рекомендую Weka, программное обеспечение для интеллектуального анализа данных с открытым исходным кодом, написанное на Java:

Weka - это набор алгоритмов машинного обучения для задач интеллектуального анализа данных. Алгоритмы могут быть применены непосредственно к набору данных или вызваны из вашего собственного кода Java. Weka содержит инструменты для предварительной обработки данных, классификации, регрессии, кластеризации, правил ассоциации и визуализации. Он также хорошо подходит для разработки новых схем машинного обучения.

Как упоминалось выше, он поставляется с множеством различных классификаторов, таких как SVM , Winnow , C4.5 , Naive Bayes (конечно) и многими другими (см. Документ API ). Обратите внимание, что многие классификаторы, как известно, имеют гораздо лучшую производительность, чем наивный байесовский метод в области обнаружения спама или классификации текста.

Кроме того, Weka предлагает вам очень мощный графический интерфейс

На французском, но вы должны найти ссылку для скачивания :) PHP Наивный байесовский фильтр

Может быть, https://ci-bayes.dev.java.net/ или http://www.cs.cmu.edu/~javabayes/Home/node2.html?

Я тоже с ним никогда не играл.

Вот реализация байесовской фильтрации на C#: Наивный байесовский фильтр спама для C# (размещенный на CodeProject).

Ознакомьтесь с главой 6 книги « Программирование коллективного разума».

nBayes - еще одна реализация C#, размещенная на CodePlex