Как использовать классификатор, полученный Пимлем
Я новый пользователь 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
методы).