3

我是 Python 中 PyML 的新用户。使用教程,我做了以下事情:

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

我得到了结果集r,但我不明白如何使用这个结果集用 Python 对一个全新的实例进行分类。有经验的人可以帮帮我吗?任何建议将不胜感激。

谢谢。

4

1 回答 1

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.tests.cv方法获得s.stratifiedCV)。

于 2011-08-19T09:42:23.560 回答