Полиномиальный наивный байесовский алгоритм в машинном обучении
Полиномиальный наивный байесовский алгоритм – один из вариантов наивного байесовского алгоритма в машинном обучении. Он очень полезен для набора данных, который распределен полиномиально. Этот алгоритм особенно хорош в задачах классификации, основанных на обработке естественного языка. Обнаружение спама – одно из приложений, в которых можно использовать этот алгоритм. Если вы никогда раньше не использовали этот алгоритм для решения задач машинного обучения на основе классификации, эта статья для вас. В этой статье я познакомлю вас с полиномиальным наивным байесовским алгоритмом в машинном обучении и его реализацией с использованием Python.
Полиномиальный наивный байесовский алгоритм
Полиномиальный наивный байесовский алгоритм – одна из разновидностей наивного байесовского алгоритма в машинном обучении, который очень полезен для использования в наборе данных, который распределяется полиномиально. Когда есть несколько классов для классификации, может использоваться именно этот алгоритм, потому что для прогнозирования метки текста он вычисляет вероятность каждой метки для входного текста, а затем генерирует метку с наибольшей вероятностью в качестве выходных данных.
Вот некоторые из преимуществ использования этого алгоритма для полиномиальной классификации:
- Легко использовать для непрерывных и дискретных данных.
- Может обрабатывать большие наборы данных.
- Может классифицировать данные по нескольким меткам.
- Лучше всего использовать для обучения моделей обработки естественного языка.
Надеюсь, вы теперь поняли, что такое полиномиальный наивный байесовский алгоритм и когда его следует использовать. В следующем разделе я расскажу вам о его реализации с использованием Python.
Полиномиальный наивный байесовский алгоритм с использованием Python
Для реализации этого алгоритма я буду использовать библиотеку scikit-learn на Python. Итак, давайте начнем с импорта всех необходимых библиотек Python и набора данных, которые нам нужны для реализации этого алгоритма:
from sklearn.datasets import fetch_20newsgroups_vectorized from sklearn.naive_bayes import MultinomialNB trainingSet = fetch_20newsgroups_vectorized(subset="train") testSet = fetch_20newsgroups_vectorized(subset="test")
Библиотека scikit-learn содержит класс MultinomialNB() для реализации этого алгоритма. Ниже показано, как вы можете реализовать его с помощью Python:
model = MultinomialNB(alpha=0.01) model.fit(trainingSet["data"], trainingSet["target"]) print(model.score(testSet["data"], testSet["target"]))
Результат:
0.83
Резюме
Вот как можно реализовать полиномиальный наивный байесовский алгоритм в машинном обучении с помощью языка программирования Python. Это – один из вариантов наивного байесовского алгоритма в машинном обучении, который очень полезен для использования в наборе данных, который имеет несколько классов для классификации. Надеюсь, вам понравилась эта статья о введении в полиномиальный наивный байесовский алгоритм в машинном обучении и его реализации с использованием Python.