Байесовская классификация

Напомним, что байесовская классификация – это метод обучения с учителем. Если вы собираетесь воспользоваться классификатором, то сначала должны сами классифицировать несколько новостей, чтобы его обучить. Затем классификатор сможет распределить остальные новости по заранее заданным категориям. Помимо очевидного недостатка – необходимости начального обучения – у этого подхода есть и еще одно ограничение – разработчик должен сам составить набор категорий. Все встречавшиеся нам ранее классификаторы – деревья решений и машины опорных векторов – при использовании с подобным набором данных страдают тем же недостатком. Если вы хотите опробовать байесовский классификатор на этом наборе, сначала поместите модуль, в свою рабочую папку. Затем словарь articlewords можно использовать в качестве набора признаков для каждой статьи.

Выполните в интерактивном сеансе следующие команды: >>> def wordmatrixfeatures(x):

… return [wordvec[w] for w in range(len(x)) if x[w]>0] >>> wordmatrixfeatures(wordmatrix[0])

[‘forces’, ‘said’, ‘security’, ‘attacks’, ‘iraq’, ‘its’, ‘pentagon’,…] >>> import docclass

>>> classifier=docclass.naivebayes(wordmatrixfeatures) >>> classifier.setdb(‘newstest.db’)

>>> artt[0]

u’Attacks in Iraq at record high: Pentagon’

>>> # Сообщаем классификатору что это новость на тему ‘iraq’

>>> classifier.train(wordmatrix[0],’iraq’)

>>> artt[1]

u’Bush signs U.S.-India nuclear deal’

>>> # Сообщаем классификатору что это новость на тему ‘india’ >>> classifier.train(wordmatrix[1],’india’) >>> artt[2]

u’Fatah, Hamas men abducted freed: sources’ >>> # А как будет классифицирована эта новость? >>> classifier.classify(wordmatrix[1])

u’iraq’

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

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100