Как использовать классификатор, полученный Пимлем

Я новый пользователь PyML в Python. Используя учебник, я сделал следующее:

from PyML import *
data = SparseDataSet("heart")
s = SVM()
s.train(data) 
r = s.cv(data,5)

Я получил результат r, но я не понимаю, как использовать этот набор результатов для классификации совершенно нового экземпляра с Python. Может ли кто-нибудь более опытный помочь мне? Любые предложения будут оценены.

Благодарю.

1 ответ

Решение

В r = s.sv(data,5) Вы выполняете перекрестную проверку, которая используется для измерения производительности классификатора путем обучения и пятикратного тестирования различных частей набора данных. В этом нет необходимости, когда ваша цель - классифицировать новые экземпляры.

Чтобы классифицировать новые экземпляры, желательно иметь их в другом наборе данных и использовать метод тестирования объекта SVM после обучения:

s = SVM()
s.train(trainingDataset)
r = s.test(testDataset)

После этого вы получите результаты классификации новых экземпляров в testDataset. Возможность использования s.test() это использовать s.classify(data, i) а также s.decisionFunc(data, i) для классификации отдельных точек данных после обучения, но это не рекомендуется в учебной документации, поскольку вы не получите дополнительную информацию о результате, содержащуюся в объекте результата (как вы получаете от s.test, s.cv или же s.stratifiedCV методы).

Другие вопросы по тегам