pyevolve で GP を適用してトレーニングすると、最高のツリーが得られます。このツリーを使用して、さまざまなデータをテストしたいと思います。minをツリーのルートに保ちたいので、gp_add、gp_mul... がツリーのルートの場合、関数は -1 を返します。
これは私の最高のツリーの例で、生のスコアは 1.0143 です
gp_min(gp_add(gp_mul(gp_min(a, b), c), d))
これがコードです。テスト データに最適な個体を適用しようとしています。
bestIndi = ga.bestIndividual()
comp_code = bestIndi.getCompiledCode()
score = eval(comp_code)
このコードは正しい方向ですか? スコアが常に -1 になるのはなぜですか?