0

トレーニングデータセットとテストデータセットの各行には、画像内のピクセルの強度値があり、最後の列には、画像内でどの桁が表されているかを示すラベルが付いています。ラベルはトレーニングセットで0から9までの任意の数にすることができ、常に?テストセットで。

トレーニングデータセットをWekaExplorerにロードし、データをNumericalToNominalフィルターに渡し、RemovePercentageフィルターを使用してデータを70〜30の比率で分割し、30%のファイルを相互検証セットとして使用しました。分類子を作成してモデルを保存しました。

次に、?を含むテストデータをロードしました。各行のラベルに対して、NumericToNominalフィルターを適用し、arffファイルとして保存しました。

これで、テストデータをロードしてモデルを使用しようとすると、「トレーニングとテストセットに互換性がありません」というエラーメッセージが常に表示されます。両方のデータセットは同じ処理を受けています。何がうまくいかなかったのでしょうか?

4

2 に答える 2

1

ARFFマニュアル( http://www.cs.waikato.ac.nz/ml/weka/arff.html )から読むことができるように:

公称値は​​、可能な値のリストを提供することによって定義されます:{、、、 ...}

たとえば、Irisデータセットのクラス値は次のように定義できます。

@ATTRIBUTE class        {Iris-setosa,Iris-versicolor,Iris-virginica}

したがってNumericToNominal、テストファイルに適用する場合、trainおよびtest arff内の1つ以上の属性に対して異なる数の可能な値を持つ可能性があります-それは実際に発生する可能性があり、何度も気になります-したがって、1つの解決策はarffを手動でチェックすることです(大きくはありません。または、arffファイルの呼び出しをコピーして貼り付けます。

@attribute 'My first binary attribute' {0,1}
(...)
@attribute 'My last binary attribute' {0,1}

電車からテストファイルまで-動作するはずです

于 2013-01-17T20:49:44.907 に答える
0

バッチフィルタリングを使用できます。ここでは、wekaでバッチフィルタリングを行う方法を読むことができます

于 2015-11-10T02:14:31.467 に答える