我是Python中PyML的新用户。使用the tutorial,我执行了以下操作:
from PyML import *
data = SparseDataSet("heart")
s = SVM()
s.train(data)
r = s.cv(data,5)
我得到了结果集r
,但我不明白如何使用这个结果集来用Python对一个全新的实例进行分类。任何更有经验的人能帮助我吗?任何建议将不胜感激。
感谢。
答案 0 :(得分:1)
在r = s.sv(data,5)
中,您正在进行交叉验证,该验证用于通过在数据集的不同部分上进行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
方法)。