4

データにクロスバリデーターを使用しようとしていますが、0.0の成功率が得られています。これは意味がありません。

私のデータは、5つの連続属性と、「y」と「n」の2つの可能なクラスを持つサンプルで構成されています。

私のコード:

net = pybrain.tools.shortcuts.buildNetwork(5, 8, 1)
trainer = BackpropTrainer(net, ds)
evaluation = ModuleValidator.classificationPerformance(trainer.module, ds)
validator = CrossValidator(trainer=trainer, dataset=trainer.ds, n_folds=5, valfunc=evaluation)
print(validator.validate())

私がそのような定期的なトレーニングをしているとき

print(trainer.train())

妥当なエラー率が得られているので、これはデータセットとネットワークに問題がなく、問題は交差検定器にあることを意味していると思います。

何か案は?

アップデート:

相互検証コードを調べたところ、ネットワークが必要に応じて0/1ではなく連続値を出力していることに気付きました。これらは各クラスの確率だと思います。モデルが交差検定法の内部で使用される場合、それはそれを考慮していません。これは、すべての回答がフレアと見なされることを意味します。つまり、正解は0です。連続値を調べ、大きい方に応じて0または1を返すレイヤーを追加するにはどうすればよいですか?ドキュメントは不明確です。

4

0 に答える 0