2012-03-24 10 views
-1

私はトレーニングとテストセットを持っており、それらには複数値の名目値が含まれています。限り、私は複数の値を持つ公称値をサポートしていません&テストNaiveBayesMultinomial分類器を、訓練する必要があるとして、私は次の操作を行いますWeka NominalToBinaryは、テストとトレーニングセットが互換性がないようにします

java weka.classifiers.bayes.NaiveBayesMultinomial -t train_bin.arff -T test_bin.arff 

そして次

java weka.filters.supervised.attribute.NominalToBinary -i train.arff -o train_bin.arff -c last 
java weka.filters.supervised.attribute.NominalToBinary -i test.arff -o test_bin.arff -c last 

それから私はこれを実行しますエラーが発生:私はNominalToBinaryを実行した後に

Weka exception: Train and test files not compatible! 

私の知る限り.arffファイルの両方を検討した後、私は理解されるように、彼らは電車やテストSE以降、非互換になりましたtsは異なるため、異なるバイナリ変数が生成されます。

NominalToBinary変換は、互換性を維持しながら実行できますか?

答えて

0

2つのセットを1つに連結し、NominalToBinary変換を実行してから再び分割します。このようにして、同じように正規化する必要があります。

しかし、以前にファイルが互換性がありましたか?あるいは、あなたのテストやトレーニングセットに、他人が持っていない属性ケースが含まれているのでしょうか?

+0

どのような分類器は、複数の値を持つ公称値を扱うことができますか? どうすれば同じ方法で連結し、分割することができますか? – bazzilic

+0

私は分類やWekaをあまり使わないので、詳細を教えてくれません。テストとトレーニングのデータを全く同じように正規化する必要があります(バイナリ変換を含む)。通常、前処理後に分割が行われます。 –

関連する問題