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.cvs.stratifiedCV

于 2011-08-19T09:42:23.560 に答える