Skip to content

Наивный Баейсовский классификатор на Python 2.7

Notifications You must be signed in to change notification settings

kolosovi/naive-bayes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Наивный Байесовский классификатор

Наивный Байесовский классификатор для текстов, написанный на Python 2.7. Использует сглаживание Лапласа.

Зависимости

NLTK. Нужно, чтобы в NLTK был загружен словарь русских стоп-слов.

Использование

Для обучения модели нужен файл, который описывает соответствие документов тренировочного корпуса и меток классов. В этом файле на каждой строке указаны сначала метка класса, потом путь к текстовому файлу.

Пример команды:

python classify.py -t -i training_metadata.txt -o model_file
#                   ^
#                   |
# +-----------------+
# |     
# +---- опция, которая говорит, что мы обучаем классификатор (--train)

Эта команда сохранит обученную модель в файл model_file с помощью pickle. Чтобы потом классифицировать новые документы, нужно вместо ключа -t (--train) подать ключ -c (--classify), и подать на вход список путей к текстовым файлам:

python classify.py -c -i testing_docs/* -m model_file
#                                        ^
#                                        |
#     +----------------------------------+
#     |     
#     +- используем ранее обученную модель для классификации
testing_docs/culture_aa: culture ([('culture', -155.94790737138553), ('politics', -164.41798949884225)])
testing_docs/culture_ab: culture ([('culture', -66.33612028993655), ('politics', -68.57505533871336)])
testing_docs/culture_ac: culture ([('culture', -170.61995356126374), ('politics', -176.31906095815015)])
testing_docs/culture_ad: culture ([('culture', -140.15210471103813), ('politics', -143.7349020698124)])
testing_docs/culture_ae: culture ([('culture', -122.56454258146266), ('politics', -125.94218639867874)])
testing_docs/politics_1.txt: culture ([('culture', -114.39153126973768), ('politics', -119.6450770787448)])
testing_docs/politics_2.txt: culture ([('culture', -133.36538776043304), ('politics', -136.0514983887586)])
testing_docs/politics_3.txt: culture ([('culture', -149.56665552888865), ('politics', -156.04143863722848)])
testing_docs/politics_4.txt: politics ([('culture', -127.96496517094785), ('politics', -126.75865679527068)])
testing_docs/politics_5.txt: politics ([('culture', -140.15210471103813), ('politics', -138.25426314647044)])
testing_docs/politics_6.txt: politics ([('culture', -97.49711632072217), ('politics', -95.67857530370915)])

Программа для каждого входного файла выведет класс, к которому она его отнесла, и веса разных классов (log-вероятности).

About

Наивный Баейсовский классификатор на Python 2.7

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages